Imported Upstream version 5.23.3 32/136032/1
authorDongHun Kwak <dh0128.kwak@samsung.com>
Wed, 28 Jun 2017 01:43:02 +0000 (10:43 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Wed, 28 Jun 2017 01:43:07 +0000 (10:43 +0900)
Change-Id: If10b1e7d385d8d065223d5850347d3f074fb51f3
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
454 files changed:
AUTHORS
Configure
Cross/config.sh-arm-linux
Cross/config.sh-arm-linux-n770
INSTALL
MANIFEST
META.json
META.yml
Makefile.SH
NetWare/Makefile
NetWare/config_H.wc
Porting/Maintainers.pl
Porting/checkAUTHORS.pl
Porting/config.sh
Porting/config_H
Porting/epigraphs.pod
Porting/perldelta_template.pod
Porting/pod_rules.pl
Porting/release_managers_guide.pod
Porting/release_schedule.pod
Porting/todo.pod
README.aix
README.amiga
README.android
README.ce
README.cygwin
README.haiku
README.macosx
README.os2
README.tru64
README.vms
README.win32
XSUB.h
amigaos4/amigaio.c [new file with mode: 0644]
amigaos4/amigaio.h [new file with mode: 0644]
amigaos4/amigaos.c [new file with mode: 0644]
amigaos4/amigaos.h [new file with mode: 0644]
amigaos4/config.sh [new file with mode: 0644]
av.c
charclass_invlists.h
configure.com
cop.h
cpan/Compress-Raw-Zlib/Zlib.xs
cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
cpan/Encode/Encode.pm
cpan/Encode/Encode.xs
cpan/Encode/Makefile.PL
cpan/Encode/Unicode/Unicode.pm
cpan/Encode/Unicode/Unicode.xs
cpan/Encode/encoding.pm
cpan/Encode/t/encoding.t
cpan/Encode/ucm/koi8-u.ucm
cpan/ExtUtils-Command/t/lib/TieOut.pm [deleted file]
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm [moved from cpan/ExtUtils-Command/lib/ExtUtils/Command.pm with 99% similarity]
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/vpp.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
cpan/ExtUtils-MakeMaker/t/cp.t [moved from cpan/ExtUtils-Command/t/cp.t with 100% similarity]
cpan/ExtUtils-MakeMaker/t/eu_command.t [moved from cpan/ExtUtils-Command/t/eu_command.t with 98% similarity]
cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
cpan/ExtUtils-MakeMaker/t/prereq.t
cpan/ExtUtils-MakeMaker/t/vstrings.t
cpan/Locale-Codes/lib/Locale/Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
cpan/Locale-Codes/lib/Locale/Codes/Constants.pm
cpan/Locale-Codes/lib/Locale/Codes/Country.pm
cpan/Locale-Codes/lib/Locale/Codes/Country.pod
cpan/Locale-Codes/lib/Locale/Codes/Country_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm
cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm
cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm
cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/Language.pm
cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm
cpan/Locale-Codes/lib/Locale/Codes/Script.pm
cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm
cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm
cpan/Locale-Codes/lib/Locale/Country.pm
cpan/Locale-Codes/lib/Locale/Country.pod
cpan/Locale-Codes/lib/Locale/Currency.pm
cpan/Locale-Codes/lib/Locale/Language.pm
cpan/Locale-Codes/lib/Locale/Script.pm
cpan/Locale-Codes/t/alias_code.t [deleted file]
cpan/Locale-Codes/t/alias_code_old.t [deleted file]
cpan/Math-BigInt-FastCalc/FastCalc.xs [moved from dist/Math-BigInt-FastCalc/FastCalc.xs with 100% similarity]
cpan/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm [moved from dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm with 100% similarity]
cpan/Math-BigInt-FastCalc/t/bigintfc.t [moved from dist/Math-BigInt-FastCalc/t/bigintfc.t with 100% similarity]
cpan/Math-BigInt-FastCalc/t/bootstrap.t [moved from dist/Math-BigInt-FastCalc/t/bootstrap.t with 100% similarity]
cpan/Math-BigInt-FastCalc/t/leak.t [moved from dist/Math-BigInt-FastCalc/t/leak.t with 100% similarity]
cpan/Math-BigInt-FastCalc/t/mbi_rand.t [moved from dist/Math-BigInt-FastCalc/t/mbi_rand.t with 100% similarity]
cpan/Math-BigInt/lib/Math/BigFloat.pm [moved from dist/Math-BigInt/lib/Math/BigFloat.pm with 100% similarity]
cpan/Math-BigInt/lib/Math/BigInt.pm [moved from dist/Math-BigInt/lib/Math/BigInt.pm with 100% similarity]
cpan/Math-BigInt/lib/Math/BigInt/Calc.pm [moved from dist/Math-BigInt/lib/Math/BigInt/Calc.pm with 100% similarity]
cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm [moved from dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm with 100% similarity]
cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm [moved from dist/Math-BigInt/t/Math/BigFloat/Subclass.pm with 100% similarity]
cpan/Math-BigInt/t/Math/BigInt/BareCalc.pm [moved from dist/Math-BigInt/t/Math/BigInt/BareCalc.pm with 100% similarity]
cpan/Math-BigInt/t/Math/BigInt/Scalar.pm [moved from dist/Math-BigInt/t/Math/BigInt/Scalar.pm with 100% similarity]
cpan/Math-BigInt/t/Math/BigInt/Subclass.pm [moved from dist/Math-BigInt/t/Math/BigInt/Subclass.pm with 100% similarity]
cpan/Math-BigInt/t/_e_math.t [moved from dist/Math-BigInt/t/_e_math.t with 100% similarity]
cpan/Math-BigInt/t/alias.inc [moved from dist/Math-BigInt/t/alias.inc with 100% similarity]
cpan/Math-BigInt/t/bare_mbf.t [moved from dist/Math-BigInt/t/bare_mbf.t with 100% similarity]
cpan/Math-BigInt/t/bare_mbi.t [moved from dist/Math-BigInt/t/bare_mbi.t with 100% similarity]
cpan/Math-BigInt/t/bare_mif.t [moved from dist/Math-BigInt/t/bare_mif.t with 100% similarity]
cpan/Math-BigInt/t/big_pi_e.t [moved from dist/Math-BigInt/t/big_pi_e.t with 100% similarity]
cpan/Math-BigInt/t/bigfltpm.inc [moved from dist/Math-BigInt/t/bigfltpm.inc with 100% similarity]
cpan/Math-BigInt/t/bigfltpm.t [moved from dist/Math-BigInt/t/bigfltpm.t with 100% similarity]
cpan/Math-BigInt/t/bigintc.t [moved from dist/Math-BigInt/t/bigintc.t with 100% similarity]
cpan/Math-BigInt/t/bigintpm.inc [moved from dist/Math-BigInt/t/bigintpm.inc with 100% similarity]
cpan/Math-BigInt/t/bigintpm.t [moved from dist/Math-BigInt/t/bigintpm.t with 100% similarity]
cpan/Math-BigInt/t/bigints.t [moved from dist/Math-BigInt/t/bigints.t with 100% similarity]
cpan/Math-BigInt/t/biglog.t [moved from dist/Math-BigInt/t/biglog.t with 100% similarity]
cpan/Math-BigInt/t/bigroot.t [moved from dist/Math-BigInt/t/bigroot.t with 100% similarity]
cpan/Math-BigInt/t/calling.t [moved from dist/Math-BigInt/t/calling.t with 100% similarity]
cpan/Math-BigInt/t/config.t [moved from dist/Math-BigInt/t/config.t with 100% similarity]
cpan/Math-BigInt/t/const_mbf.t [moved from dist/Math-BigInt/t/const_mbf.t with 100% similarity]
cpan/Math-BigInt/t/constant.t [moved from dist/Math-BigInt/t/constant.t with 100% similarity]
cpan/Math-BigInt/t/downgrade.t [moved from dist/Math-BigInt/t/downgrade.t with 100% similarity]
cpan/Math-BigInt/t/inf_nan.t [moved from dist/Math-BigInt/t/inf_nan.t with 100% similarity]
cpan/Math-BigInt/t/isa.t [moved from dist/Math-BigInt/t/isa.t with 100% similarity]
cpan/Math-BigInt/t/lib_load.t [moved from dist/Math-BigInt/t/lib_load.t with 100% similarity]
cpan/Math-BigInt/t/mbf_ali.t [moved from dist/Math-BigInt/t/mbf_ali.t with 100% similarity]
cpan/Math-BigInt/t/mbi_ali.t [moved from dist/Math-BigInt/t/mbi_ali.t with 100% similarity]
cpan/Math-BigInt/t/mbi_rand.t [moved from dist/Math-BigInt/t/mbi_rand.t with 100% similarity]
cpan/Math-BigInt/t/mbimbf.inc [moved from dist/Math-BigInt/t/mbimbf.inc with 100% similarity]
cpan/Math-BigInt/t/mbimbf.t [moved from dist/Math-BigInt/t/mbimbf.t with 100% similarity]
cpan/Math-BigInt/t/nan_cmp.t [moved from dist/Math-BigInt/t/nan_cmp.t with 100% similarity]
cpan/Math-BigInt/t/new_overloaded.t [moved from dist/Math-BigInt/t/new_overloaded.t with 100% similarity]
cpan/Math-BigInt/t/req_mbf0.t [moved from dist/Math-BigInt/t/req_mbf0.t with 100% similarity]
cpan/Math-BigInt/t/req_mbf1.t [moved from dist/Math-BigInt/t/req_mbf1.t with 100% similarity]
cpan/Math-BigInt/t/req_mbfa.t [moved from dist/Math-BigInt/t/req_mbfa.t with 100% similarity]
cpan/Math-BigInt/t/req_mbfi.t [moved from dist/Math-BigInt/t/req_mbfi.t with 100% similarity]
cpan/Math-BigInt/t/req_mbfn.t [moved from dist/Math-BigInt/t/req_mbfn.t with 100% similarity]
cpan/Math-BigInt/t/req_mbfw.t [moved from dist/Math-BigInt/t/req_mbfw.t with 100% similarity]
cpan/Math-BigInt/t/require.t [moved from dist/Math-BigInt/t/require.t with 100% similarity]
cpan/Math-BigInt/t/round.t [moved from dist/Math-BigInt/t/round.t with 100% similarity]
cpan/Math-BigInt/t/rt-16221.t [moved from dist/Math-BigInt/t/rt-16221.t with 100% similarity]
cpan/Math-BigInt/t/sub_ali.t [moved from dist/Math-BigInt/t/sub_ali.t with 100% similarity]
cpan/Math-BigInt/t/sub_mbf.t [moved from dist/Math-BigInt/t/sub_mbf.t with 100% similarity]
cpan/Math-BigInt/t/sub_mbi.t [moved from dist/Math-BigInt/t/sub_mbi.t with 100% similarity]
cpan/Math-BigInt/t/sub_mif.t [moved from dist/Math-BigInt/t/sub_mif.t with 100% similarity]
cpan/Math-BigInt/t/trap.t [moved from dist/Math-BigInt/t/trap.t with 100% similarity]
cpan/Math-BigInt/t/upgrade.inc [moved from dist/Math-BigInt/t/upgrade.inc with 100% similarity]
cpan/Math-BigInt/t/upgrade.t [moved from dist/Math-BigInt/t/upgrade.t with 100% similarity]
cpan/Math-BigInt/t/upgrade2.t [moved from dist/Math-BigInt/t/upgrade2.t with 100% similarity]
cpan/Math-BigInt/t/upgradef.t [moved from dist/Math-BigInt/t/upgradef.t with 100% similarity]
cpan/Math-BigInt/t/use.t [moved from dist/Math-BigInt/t/use.t with 100% similarity]
cpan/Math-BigInt/t/use_lib1.t [moved from dist/Math-BigInt/t/use_lib1.t with 100% similarity]
cpan/Math-BigInt/t/use_lib2.t [moved from dist/Math-BigInt/t/use_lib2.t with 100% similarity]
cpan/Math-BigInt/t/use_lib3.t [moved from dist/Math-BigInt/t/use_lib3.t with 100% similarity]
cpan/Math-BigInt/t/use_lib4.t [moved from dist/Math-BigInt/t/use_lib4.t with 100% similarity]
cpan/Math-BigInt/t/use_mbfw.t [moved from dist/Math-BigInt/t/use_mbfw.t with 100% similarity]
cpan/Math-BigInt/t/with_sub.t [moved from dist/Math-BigInt/t/with_sub.t with 100% similarity]
cpan/Math-BigRat/lib/Math/BigRat.pm [moved from dist/Math-BigRat/lib/Math/BigRat.pm with 100% similarity]
cpan/Math-BigRat/t/Math/BigRat/Test.pm [moved from dist/Math-BigRat/t/Math/BigRat/Test.pm with 100% similarity]
cpan/Math-BigRat/t/big_ap.t [moved from dist/Math-BigRat/t/big_ap.t with 100% similarity]
cpan/Math-BigRat/t/bigfltpm.inc [moved from dist/Math-BigRat/t/bigfltpm.inc with 100% similarity]
cpan/Math-BigRat/t/bigfltrt.t [moved from dist/Math-BigRat/t/bigfltrt.t with 100% similarity]
cpan/Math-BigRat/t/biglog.t [moved from dist/Math-BigRat/t/biglog.t with 100% similarity]
cpan/Math-BigRat/t/bigrat.t [moved from dist/Math-BigRat/t/bigrat.t with 100% similarity]
cpan/Math-BigRat/t/bigratpm.inc [moved from dist/Math-BigRat/t/bigratpm.inc with 100% similarity]
cpan/Math-BigRat/t/bigratpm.t [moved from dist/Math-BigRat/t/bigratpm.t with 100% similarity]
cpan/Math-BigRat/t/bigratup.t [moved from dist/Math-BigRat/t/bigratup.t with 100% similarity]
cpan/Math-BigRat/t/bigroot.t [moved from dist/Math-BigRat/t/bigroot.t with 100% similarity]
cpan/Math-BigRat/t/bitwise.t [moved from dist/Math-BigRat/t/bitwise.t with 100% similarity]
cpan/Math-BigRat/t/hang.t [moved from dist/Math-BigRat/t/hang.t with 100% similarity]
cpan/Math-BigRat/t/requirer.t [moved from dist/Math-BigRat/t/requirer.t with 100% similarity]
cpan/Math-BigRat/t/trap.t [moved from dist/Math-BigRat/t/trap.t with 100% similarity]
cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
cpan/Socket/Socket.pm
cpan/Socket/Socket.xs
cpan/Time-HiRes/HiRes.pm
cpan/Time-HiRes/HiRes.xs
cpan/Time-HiRes/Makefile.PL
cpan/Time-HiRes/t/itimer.t
cpan/Win32/Win32.pm
cpan/Win32/t/GetOSName.t
cpan/experimental/lib/experimental.pm
cv.h
dist/Carp/lib/Carp.pm
dist/Carp/lib/Carp/Heavy.pm
dist/Carp/t/Carp.t
dist/ExtUtils-ParseXS/Changes
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Eval.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm
dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm
dist/Module-CoreList/Changes
dist/Module-CoreList/lib/Module/CoreList.pm
dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm
dist/Module-CoreList/lib/Module/CoreList/Utils.pm
dist/PathTools/Cwd.pm
dist/PathTools/lib/File/Spec.pm
dist/PathTools/lib/File/Spec/AmigaOS.pm [new file with mode: 0644]
dist/PathTools/lib/File/Spec/Cygwin.pm
dist/PathTools/lib/File/Spec/Epoc.pm
dist/PathTools/lib/File/Spec/Functions.pm
dist/PathTools/lib/File/Spec/Mac.pm
dist/PathTools/lib/File/Spec/OS2.pm
dist/PathTools/lib/File/Spec/Unix.pm
dist/PathTools/lib/File/Spec/VMS.pm
dist/PathTools/lib/File/Spec/Win32.pm
dist/Test/lib/Test.pm [moved from cpan/Test/lib/Test.pm with 94% similarity]
dist/Test/t/05_about_verbose.t [moved from cpan/Test/t/05_about_verbose.t with 100% similarity]
dist/Test/t/fail.t [moved from cpan/Test/t/fail.t with 100% similarity]
dist/Test/t/mix.t [moved from cpan/Test/t/mix.t with 100% similarity]
dist/Test/t/multiline.t [moved from cpan/Test/t/multiline.t with 100% similarity]
dist/Test/t/onfail.t [moved from cpan/Test/t/onfail.t with 100% similarity]
dist/Test/t/qr.t [moved from cpan/Test/t/qr.t with 100% similarity]
dist/Test/t/skip.t [moved from cpan/Test/t/skip.t with 100% similarity]
dist/Test/t/success.t [moved from cpan/Test/t/success.t with 100% similarity]
dist/Test/t/todo.t [moved from cpan/Test/t/todo.t with 100% similarity]
dist/Thread-Queue/lib/Thread/Queue.pm
dist/Thread-Queue/t/07_lock.t
dist/Thread-Queue/t/11_limit.t [new file with mode: 0644]
dist/bignum/lib/Math/BigFloat/Trace.pm
dist/bignum/lib/Math/BigInt/Trace.pm
dist/bignum/lib/bigint.pm
dist/bignum/lib/bignum.pm
dist/bignum/lib/bigrat.pm
dist/if/if.pm
dist/if/t/if.t
dist/threads/lib/threads.pm
dist/threads/threads.xs
doio.c
dquote.c
dquote_inline.h
dump.c
embed.fnc
embed.h
ext/Amiga-ARexx/ARexx.pm [new file with mode: 0644]
ext/Amiga-ARexx/ARexx.xs [new file with mode: 0644]
ext/Amiga-ARexx/Makefile.PL [new file with mode: 0644]
ext/Amiga-ARexx/__examples/simplecommand.pl [new file with mode: 0644]
ext/Amiga-ARexx/__examples/simplehost.pl [new file with mode: 0644]
ext/Amiga-ARexx/tagtypes.h [new file with mode: 0644]
ext/Amiga-ARexx/typemap [new file with mode: 0644]
ext/Amiga-Exec/Exec.pm [new file with mode: 0644]
ext/Amiga-Exec/Exec.xs [new file with mode: 0644]
ext/Amiga-Exec/Makefile.PL [new file with mode: 0644]
ext/Amiga-Exec/__examples/simplecommand.pl [new file with mode: 0644]
ext/Amiga-Exec/__examples/simplehost.pl [new file with mode: 0644]
ext/Amiga-Exec/tagtypes.h [new file with mode: 0644]
ext/Amiga-Exec/typemap [new file with mode: 0644]
ext/B/B.pm
ext/B/B.xs
ext/DynaLoader/DynaLoader_pm.PL
ext/Errno/Errno_pm.PL
ext/File-Find/lib/File/Find.pm
ext/File-Glob/Glob.pm
ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
ext/POSIX/POSIX.xs
ext/POSIX/lib/POSIX.pm
ext/POSIX/lib/POSIX.pod
ext/POSIX/t/math.t
ext/Pod-Html/testdir/perlpodspec-copy.pod
ext/XS-APItest/APItest.pm
ext/XS-APItest/APItest.xs
ext/XS-APItest/t/svcat.t
ext/XS-APItest/t/svpeek.t
ext/XS-APItest/t/svpv_magic.t
ext/XS-APItest/t/utf8.t
ext/mro/mro.pm
ext/mro/mro.xs
globvar.sym
gv.c
handy.h
hints/amigaos.sh
hints/catamount.sh
hv.c
hv.h
inline.h
install_lib.pl
installperl
intrpvar.h
iperlsys.h
l1_char_class_tab.h
lib/.gitignore
lib/B/Op_private.pm
lib/English.pm
lib/Unicode/UCD.pm
lib/Unicode/UCD.t
lib/bytes.t
lib/locale.pm
lib/locale.t
lib/unicore/mktables
lib/utf8.t
locale.c
makedef.pl
mathoms.c
mg.c
mkppport
mro_core.c
numeric.c
op.c
op.h
os2/OS2/OS2-ExtAttr/ExtAttr.pm
os2/OS2/OS2-Process/Process.pm
os2/OS2/OS2-REXX/DLL/DLL.pm
os2/OS2/OS2-REXX/REXX.pm
pad.c
pad.h
patchlevel.h
perl.c
perl.h
perly.c
plan9/config.plan9
plan9/config_sh.sample
pod/.gitignore
pod/perl.pod
pod/perl5203delta.pod [new file with mode: 0644]
pod/perl5232delta.pod [new file with mode: 0644]
pod/perlapio.pod
pod/perlbook.pod
pod/perlcall.pod
pod/perldebguts.pod
pod/perldebtut.pod
pod/perldebug.pod
pod/perldelta.pod
pod/perldiag.pod
pod/perldtrace.pod
pod/perlfunc.pod
pod/perlgpl.pod
pod/perlguts.pod
pod/perlhack.pod
pod/perlhacktips.pod
pod/perlhist.pod
pod/perlipc.pod
pod/perlootut.pod
pod/perlop.pod
pod/perlperf.pod
pod/perlport.pod
pod/perlrecharclass.pod
pod/perlsource.pod
pod/perlsub.pod
pod/perltrap.pod
pod/perlunicode.pod
pod/perlvar.pod
pp.c
pp.h
pp_ctl.c
pp_hot.c
pp_pack.c
pp_sort.c
pp_sys.c
proto.h
regcharclass.h
regcomp.c
regcomp.h
regcomp.sym
regen/mk_PL_charclass.pl
regen/unicode_constants.pl
regexec.c
regexp.h
regnodes.h
scope.h
sv.c
sv.h
t/TEST
t/base/lex.t
t/io/utf8.t
t/lib/croak/toke
t/lib/warnings/regexec
t/loc_tools.pl
t/op/aassign.t
t/op/chr.t
t/op/gv.t
t/op/lex.t
t/op/oct.t
t/op/sort.t
t/op/split.t
t/op/sprintf.t
t/op/stat.t
t/op/sub_lval.t
t/op/time.t
t/op/tr.t
t/op/utf8decode.t
t/op/vec.t
t/op/ver.t
t/perf/benchmarks
t/porting/customized.dat
t/porting/known_pod_issues.dat
t/porting/maintainers.t
t/re/pat.t
t/re/pat_advanced.t
t/re/re_tests
t/re/reg_mesg.t
t/re/regex_sets.t
t/re/speed.t
t/run/cloexec.t
t/uni/gv.t
t/uni/lex_utf8.t
toke.c
unicode_constants.h
universal.c
unixish.h
utf8.c
utf8.h
utfebcdic.h
util.c
util.h
vms/descrip_mms.template
win32/FindExt.pm
win32/GNUmakefile
win32/Makefile
win32/config_sh.PL
win32/makefile.mk
win32/perlexe.manifest
win32/pod.mak
write_buildcustomize.pl

diff --git a/AUTHORS b/AUTHORS
index c844e9e..451c707 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -63,6 +63,7 @@ Alex Solovey                  <a.solovey@gmail.com>
 Alex Vandiver                  <alexmv@mit.edu>
 Alex Waugh                     <alex@alexwaugh.com>
 Alexander Bluhm                        <alexander_bluhm@genua.de>
+Alexander D'Archangel   <darksuji@gmail.com>
 Alexander Gernler              <alexander_gernler@genua.de>
 Alexander Gough                        <alex-p5p@earth.li>
 Alexander Klimov               <ask@wisdom.weizmann.ac.il>
@@ -103,6 +104,7 @@ Andrew Vignaux                      <ajv@nz.sangacorp.com>
 Andrew Wilcox                  <awilcox@maine.com>
 Andrey Sapozhnikov             <sapa@icb.chel.su>
 Andy Armstrong                 <andy@hexten.net>
+Andy Broad                     <andy@broad.ology.org.uk>
 Andy Bussey                    <andybussey@yahoo.co.uk>
 Andy Dougherty                 <doughera@lafayette.edu>
 Andy Lester                    <andy@petdance.com>
@@ -268,6 +270,7 @@ Damian Conway                       <damian@conway.org>
 Damon Atkins                   <Damon.Atkins@nabaus.com.au>
 Dan Boorstein                  <dan_boo@bellsouth.net>
 Dan Brook                      <dbrook@easyspace.com>
+Dan Collins                    <dcollinsn@gmail.com>
 Dan Dascalescu                 <bigbang7@gmail.com>
 Dan Hale                       <danhale@us.ibm.com>
 Dan Jacobson                   <jidanni@jidanni.org>
@@ -532,7 +535,7 @@ James McCoy                     <vega.james@gmail.com>
 James Raspass                  <jraspass@gmail.com>
 Jamshid Afshar
 Jan D.                         <jan.djarv@mbox200.swipnet.se>
-Jan Dubois                     <jand@activestate.com>
+Jan Dubois                     <jan@jandubois.com>
 Jan Pazdziora                  <adelton@fi.muni.cz>
 Jan Starzynski                 <jan@planet.de>
 Jan-Erik Karlsson              <trg@privat.utfors.se>
@@ -627,6 +630,7 @@ John Q. Linux                       <jql@accessone.com>
 John Redford                   <jmr@whirlwind.fmr.com>
 John Rowe
 John Salinas                   <jsalinas@cray.com>
+John SJ Anderson               <genehack@genehack.org>
 John Stoffel                   <jfs@fluent.com>
 John Stumbles                  <jstumbles@bluearc.com>
 John Tobey                     <jtobey@john-edwin-tobey.org>
@@ -888,6 +892,7 @@ Nick Ing-Simmons
 Nick Johnston                  <nickjohnstonsky@gmail.com>
 Nick Williams                  <Nick.Williams@morganstanley.com>
 Nicolas Kaiser                 <nikai@nikai.net>
+Nicolas R.                     <atoomic@cpan.org>
 Niels Thykier                  <niels@thykier.net>
 Nigel Sandever                 <njsandever@hotmail.com>
 Niko Tyni                      <ntyni@debian.org>
@@ -1260,6 +1265,7 @@ Yutao Feng
 Yuval Kogman                   <nothingmuch@woobling.org>
 Yves Orton                     <demerphq@gmail.com>
 Zachary Miller                 <zcmiller@simon.er.usgs.gov>
+Zachary Storer                 <zacts.3.14159@gmail.com>
 Zefram                         <zefram@fysh.org>
 Zsbán Ambrus                  <ambrus@math.bme.hu>
 Zbynek Vyskovsky               <kvr@centrum.cz>
index 464737d..e12c8bb 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -69,7 +69,10 @@ EOF
        exit 1
 fi
 
-if test ! -c /dev/null ; then
+if test -f /sys/utilities/MultiView ; then
+       # AmigaOS, test -c for /dev/null is not useful
+       :
+elif test ! -c /dev/null ; then
        cat <<EOF
 ***
 *** I'm sorry, but /dev/null appears to be a file rather than a device.
@@ -1875,8 +1878,8 @@ touch posthint.sh
 package='perl5'
 first=`echo $package | sed -e 's/^\(.\).*/\1/'`
 last=`echo $package | sed -e 's/^.\(.*\)/\1/'`
-case "`echo AbyZ | tr '[:lower:]' '[:upper:]' 2>/dev/null`" in
-ABYZ) spackage=`echo $first | tr '[:lower:]' '[:upper:]'`$last;;
+case "`echo AbyZ | tr '[:lower:]' '[:upper:]' 2>/dev/null`"-"`echo AbyZ | tr '[:upper:]' '[:lower:]' 2>/dev/null`" in
+ABYZ-abyz) spackage=`echo $first | tr '[:lower:]' '[:upper:]'`$last;;
 *) spackage=`echo $first | tr '[a-z]' '[A-Z]'`$last;;
 esac
 
@@ -3208,8 +3211,8 @@ esac
 
 : see whether [:lower:] and [:upper:] are supported character classes
 echo " "
-case "`echo AbyZ | $tr '[:lower:]' '[:upper:]' 2>/dev/null`" in
-ABYZ)
+case "`echo AbyZ | $tr '[:lower:]' '[:upper:]' 2>/dev/null`"-"`echo AbyZ | $tr '[:upper:]' '[:lower:]' 2>/dev/null`" in
+ABYZ-abyz)
        echo "Good, your tr supports [:lower:] and [:upper:] to convert case." >&4
        up='[:upper:]'
        low='[:lower:]'
@@ -3359,6 +3362,7 @@ EOM
        $test -f /etc/saf/_sactab && osname=svr4
        $test -d /usr/include/minix && osname=minix && osvers=`$uname -r`
        $test -f /system/gnu_library/bin/ar.pm && osname=vos
+       $test -f /sys/utilities/MultiView && osname=amigaos
        if $test -d /MachTen -o -d /MachTen_Folder; then
                osname=machten
                if $test -x /sbin/version; then
@@ -4336,15 +4340,15 @@ case "$osname" in
 dos|vms)
        : XXX Should be a Configure test for double-dots in filenames.
        version=`echo $revision $patchlevel $subversion | \
-                $awk '{ printf "%d_%d_%d\n", $1, $2, $3 }'`
+                $awk '{ printf "%d_%d_%d", $1, $2, $3 }'`
        api_versionstring=`echo $api_revision $api_version $api_subversion | \
-                $awk '{ printf "%d_%d_%d\n", $1, $2, $3 }'`
+                $awk '{ printf "%d_%d_%d", $1, $2, $3 }'`
        ;;
 *)
        version=`echo $revision $patchlevel $subversion | \
-                $awk '{ printf "%d.%d.%d\n", $1, $2, $3 }'`
+                $awk '{ printf "%d.%d.%d", $1, $2, $3 }'`
        api_versionstring=`echo $api_revision $api_version $api_subversion | \
-                $awk '{ printf "%d.%d.%d\n", $1, $2, $3 }'`
+                $awk '{ printf "%d.%d.%d", $1, $2, $3 }'`
        ;;
 esac
 : Special case the 5.005_xx maintenance series, which used 5.005
@@ -5457,15 +5461,19 @@ default|recommended)
        # is to add the flag to the flags passed to the compiler at link time,
        # as that way the compiler can do the right implementation dependant
        # thing. (NWC)
-       case "$gccversion" in
-       ?*)     set stack-protector-strong -fstack-protector-strong
-               eval $checkccflag
-               case "$dflt" in
-               *-fstack-protector-strong*) ;; # It got added.
-               *) # Try the plain/older -fstack-protector.
-                  set stack-protector -fstack-protector
-                  eval $checkccflag
-                  ;;
+       case "$osname" in
+       amigaos) ;; # -fstack-protector builds but doesn't work
+       *)      case "$gccversion" in
+               ?*)     set stack-protector-strong -fstack-protector-strong
+                       eval $checkccflag
+                       case "$dflt" in
+                       *-fstack-protector-strong*) ;; # It got added.
+                       *) # Try the plain/older -fstack-protector.
+                          set stack-protector -fstack-protector
+                          eval $checkccflag
+                          ;;
+                       esac
+                       ;;
                esac
                ;;
        esac
@@ -5746,6 +5754,11 @@ $cc -o ${mc_file} $optimize $ccflags $ldflags $* ${mc_file}.c $libs;'
 echo " "
 echo "Computing filename position in cpp output for #include directives..." >&4
 case "$osname" in
+amigaos) fieldn=3 ;;  # Workaround for a bug in abc (pdksh).
+esac
+case "$fieldn" in
+'')
+case "$osname" in
 vos) testaccess=-e ;;
 *)   testaccess=-r ;;
 esac
@@ -5770,6 +5783,8 @@ EOF
 chmod +x fieldn
 fieldn=`./fieldn`
 $rm -f foo.c fieldn
+;;
+esac
 case $fieldn in
 '') pos='???';;
 1) pos=first;;
@@ -8264,6 +8279,7 @@ runnm=false
 : with g++ one needs -shared to get is-in-libc to work for dlopen
 case "$gccversion" in
 '')    ;;
+*Clang*)       ;;
 *)     case "$d_cplusplus" in
        "$define") ccflags="$ccflags -shared" ;;
        esac
@@ -13311,7 +13327,7 @@ echo " "
 echo "Let's see what value errno gets from read() on a $o_nonblock file..." >&4
 case "$eagain" in
 '')
-       case "$d_fork:$d_pipe" in
+       case "$d_fork:$d_pipe:$d_alarm" in
        define:define)
        $cat head.c > try.c
        $cat >>try.c <<EOCP
@@ -17148,6 +17164,8 @@ eval $inlibc
 echo " "
 procselfexe=''
 val="$undef"
+case "$d_procselfexe" in
+'')
 case "$d_readlink" in
     "$define")
        : NetBSD first as /proc/self is a symlink to /proc/curproc, and it feels
@@ -17172,6 +17190,8 @@ esac
 $rm -f reflect
 set d_procselfexe
 eval $setvar
+;;
+esac
 
 : backward compatibility for d_hvfork
 if test X$d_hvfork != X; then
@@ -21989,6 +22009,8 @@ EOM
 esac
 
 : Trace out the files included by signal.h, then look for SIGxxx names.
+case "$sig_num_init" in
+'')
 if [ "X$fieldn" = X ]; then
        : Just make some guesses.  We check them later.
        xxx="$sysroot/usr/include/signal.h $sysroot/usr/include/sys/signal.h"
@@ -22252,6 +22274,8 @@ echo $sig_name | $awk \
 }'
 sig_size=`echo $sig_name | awk '{print NF}'`
 $rm -f signal signal.c signal.awk signal.lst signal_cmd
+;;
+esac
 
 : Check size of size
 echo " "
@@ -23521,6 +23545,11 @@ known_extensions=`echo $nonxs_extensions $xs_extensions  | tr ' ' $trnl | $sort
 avail_ext=''
 for xxx in $xs_extensions ; do
        case "$xxx" in
+       Amiga*)
+               case "$osname" in
+               amigaos) avail_ext="$avail_ext $xxx" ;;
+               esac
+               ;;
        DB_File|db_file)
                case "$i_db" in
                $define) avail_ext="$avail_ext $xxx" ;;
@@ -23590,9 +23619,14 @@ for xxx in $xs_extensions ; do
                esac
                ;;
        Sys/Syslog|sys/syslog)
-               : XXX syslog requires socket
-               case "$d_socket" in
-               true|$define|y) avail_ext="$avail_ext $xxx" ;;
+               case $osname in
+                       amigaos) ;; # not really very useful on AmigaOS
+                       *)
+                       : XXX syslog requires socket
+                       case "$d_socket" in
+                       true|$define|y) avail_ext="$avail_ext $xxx" ;;
+                       esac
+                       ;;
                esac
                ;;
        Thread|thread)
index c470fbf..3b31282 100644 (file)
@@ -32,12 +32,12 @@ alignbytes='4'
 ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
-api_subversion='2'
+api_subversion='3'
 api_version='23'
-api_versionstring='5.23.2'
+api_versionstring='5.23.3'
 ar='ar'
-archlib='/usr/lib/perl5/5.23.2/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.23.2/armv4l-linux'
+archlib='/usr/lib/perl5/5.23.3/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.23.3/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -56,7 +56,7 @@ castflags='0'
 cat='cat'
 cc='cc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.2/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.3/armv4l-linux/CORE'
 ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='arm-linux-gcc'
@@ -796,7 +796,7 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.23.2/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.23.3/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -804,13 +804,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
 installman3dir='./install_me_here/usr/share/man/man3'
 installprefix='./install_me_here/usr'
 installprefixexp='./install_me_here/usr'
-installprivlib='./install_me_here/usr/lib/perl5/5.23.2'
+installprivlib='./install_me_here/usr/lib/perl5/5.23.3'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.2/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.3/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.2'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.3'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -944,8 +944,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.23.2'
-privlibexp='/usr/lib/perl5/5.23.2'
+privlib='/usr/lib/perl5/5.23.3'
+privlibexp='/usr/lib/perl5/5.23.3'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -1010,17 +1010,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
 sig_size='68'
 signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.23.2/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.23.2/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.23.3/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.23.3/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.23.2'
+sitelib='/usr/lib/perl5/site_perl/5.23.3'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.23.2'
+sitelibexp='/usr/lib/perl5/site_perl/5.23.3'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -1059,7 +1059,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='2'
+subversion='3'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1151,8 +1151,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.23.2'
-version_patchlevel_string='version 23 subversion 2'
+version='5.23.3'
+version_patchlevel_string='version 23 subversion 3'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1166,9 +1166,9 @@ config_args=''
 config_argc=0
 PERL_REVISION=5
 PERL_VERSION=23
-PERL_SUBVERSION=2
+PERL_SUBVERSION=3
 PERL_API_REVISION=5
 PERL_API_VERSION=23
-PERL_API_SUBVERSION=2
+PERL_API_SUBVERSION=3
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
index c16c4eb..6b1aac2 100644 (file)
@@ -32,12 +32,12 @@ alignbytes='4'
 ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
-api_subversion='2'
+api_subversion='3'
 api_version='23'
-api_versionstring='5.23.2'
+api_versionstring='5.23.3'
 ar='ar'
-archlib='/usr/lib/perl5/5.23.2/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.23.2/armv4l-linux'
+archlib='/usr/lib/perl5/5.23.3/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.23.3/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -55,7 +55,7 @@ castflags='0'
 cat='cat'
 cc='arm-none-linux-gnueabi-gcc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.2/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.23.3/armv4l-linux/CORE'
 ccflags='-fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccflags_uselargefiles='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
 ccname='arm-linux-gcc'
@@ -699,7 +699,7 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.23.2/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.23.3/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -707,13 +707,13 @@ installman1dir='./install_me_here/usr/share/man/man1'
 installman3dir='./install_me_here/usr/share/man/man3'
 installprefix='./install_me_here/usr'
 installprefixexp='./install_me_here/usr'
-installprivlib='./install_me_here/usr/lib/perl5/5.23.2'
+installprivlib='./install_me_here/usr/lib/perl5/5.23.3'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.2/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.23.3/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.2'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.23.3'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -841,8 +841,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.23.2'
-privlibexp='/usr/lib/perl5/5.23.2'
+privlib='/usr/lib/perl5/5.23.3'
+privlibexp='/usr/lib/perl5/5.23.3'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -903,17 +903,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 6, 17, 29, 31, 0'
 sig_size='68'
 signal_t='void'
-sitearch='/usr/lib/perl5/site_perl/5.23.2/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.23.2/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.23.3/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.23.3/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.23.2'
+sitelib='/usr/lib/perl5/site_perl/5.23.3'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.23.2'
+sitelibexp='/usr/lib/perl5/site_perl/5.23.3'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -950,7 +950,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='2'
+subversion='3'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1035,8 +1035,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.23.2'
-version_patchlevel_string='version 23 subversion 2'
+version='5.23.3'
+version_patchlevel_string='version 23 subversion 3'
 versiononly='undef'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1050,9 +1050,9 @@ config_args=''
 config_argc=0
 PERL_REVISION=5
 PERL_VERSION=23
-PERL_SUBVERSION=2
+PERL_SUBVERSION=3
 PERL_API_REVISION=5
 PERL_API_VERSION=23
-PERL_API_SUBVERSION=2
+PERL_API_SUBVERSION=3
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
diff --git a/INSTALL b/INSTALL
index 7b129bd..59a8cae 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -581,7 +581,7 @@ The directories set up by Configure fall into three broad categories.
 
 =item Directories for the perl distribution
 
-By default, Configure will use the following directories for 5.23.2.
+By default, Configure will use the following directories for 5.23.3.
 $version is the full perl version number, including subversion, e.g.
 5.12.3, and $archname is a string like sun4-sunos,
 determined by Configure.  The full definitions of all Configure
@@ -1729,7 +1729,7 @@ bval settings.  Upgrade your DB library or OS.
 
 =item Bad arg length for semctl, is XX, should be ZZZ
 
-If you get this error message from the ext/IPC/SysV/t/sem test, your
+If you get this error message from the F<ext/IPC/SysV/t/sem.t> test, your
 System V IPC may be broken.  The XX typically is 20, and that is what ZZZ
 also should be.  Consider upgrading your OS, or reconfiguring your OS
 to include the System V semaphores.
@@ -1782,7 +1782,7 @@ NCR Tower 32 (OS 2.01.01) may need -W2,-Sl,2000 and #undef MKDIR.
 
 UTS may need one or more of -K or -g, and #undef LSTAT.
 
-FreeBSD can fail the ext/IPC/SysV/t/sem.t test if SysV IPC has not been
+FreeBSD can fail the F<ext/IPC/SysV/t/sem.t> test if SysV IPC has not been
 configured in the kernel.  Perl tries to detect this, though, and
 you will get a message telling you what to do.
 
@@ -2440,7 +2440,7 @@ http://www.chiark.greenend.org.uk/~sgtatham/bugs.html
 
 =head1 Coexistence with earlier versions of perl 5
 
-Perl 5.23.2 is not binary compatible with earlier versions of Perl.
+Perl 5.23.3 is not binary compatible with earlier versions of Perl.
 In other words, you will have to recompile your XS modules.
 
 In general, you can usually safely upgrade from one version of Perl
@@ -2515,9 +2515,9 @@ won't interfere with another version.  (The defaults guarantee this for
 libraries after 5.6.0, but not for executables. TODO?)  One convenient
 way to do this is by using a separate prefix for each version, such as
 
-       sh Configure -Dprefix=/opt/perl5.23.2
+       sh Configure -Dprefix=/opt/perl5.23.3
 
-and adding /opt/perl5.23.2/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.23.3/bin to the shell PATH variable.  Such users
 may also wish to add a symbolic link /usr/local/bin/perl so that
 scripts can still start with #!/usr/local/bin/perl.
 
@@ -2530,13 +2530,13 @@ seriously consider using a separate directory, since development
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.23.1 or earlier
+=head2 Upgrading from 5.23.2 or earlier
 
-B<Perl 5.23.2 may not be binary compatible with Perl 5.23.1 or
+B<Perl 5.23.3 may not be binary compatible with Perl 5.23.2 or
 earlier Perl releases.>  Perl modules having binary parts
 (meaning that a C compiler is used) will have to be recompiled to be
-used with 5.23.2.  If you find you do need to rebuild an extension with
-5.23.2, you may safely do so without disturbing the older
+used with 5.23.3.  If you find you do need to rebuild an extension with
+5.23.3, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)
 
@@ -2569,15 +2569,15 @@ Firstly, the bare minimum to run this script
      print("$f\n");
   }
 
-in Linux with perl-5.23.2 is as follows (under $Config{prefix}):
+in Linux with perl-5.23.3 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.23.2/strict.pm
-  ./lib/perl5/5.23.2/warnings.pm
-  ./lib/perl5/5.23.2/i686-linux/File/Glob.pm
-  ./lib/perl5/5.23.2/feature.pm
-  ./lib/perl5/5.23.2/XSLoader.pm
-  ./lib/perl5/5.23.2/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.23.3/strict.pm
+  ./lib/perl5/5.23.3/warnings.pm
+  ./lib/perl5/5.23.3/i686-linux/File/Glob.pm
+  ./lib/perl5/5.23.3/feature.pm
+  ./lib/perl5/5.23.3/XSLoader.pm
+  ./lib/perl5/5.23.3/i686-linux/auto/File/Glob/Glob.so
 
 Secondly, for perl-5.10.1, the Debian perl-base package contains 591
 files, (of which 510 are for lib/unicore) totaling about 3.5MB in its
index 097427f..508f31f 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,3 +1,8 @@
+amigaos4/amigaio.c     AmigaOS4 port
+amigaos4/amigaio.h     AmigaOS4 port
+amigaos4/amigaos.c     AmigaOS4 port
+amigaos4/amigaos.h     AmigaOS4 port
+amigaos4/config.sh     AmigaOS4 config
 Artistic               The "Artistic License"
 asan_ignore            Errors to skip under clang's Addresss Sanitizer
 AUTHORS                        Contact info for contributors
@@ -1002,10 +1007,6 @@ cpan/encoding-warnings/t/3-normal.t      tests for encoding::warnings
 cpan/encoding-warnings/t/4-lexical.t   tests for encoding::warnings
 cpan/experimental/lib/experimental.pm
 cpan/experimental/t/basic.t
-cpan/ExtUtils-Command/lib/ExtUtils/Command.pm  Utilities for Make on non-UNIX platforms
-cpan/ExtUtils-Command/t/cp.t                   See if ExtUtils::Command works
-cpan/ExtUtils-Command/t/eu_command.t           See if ExtUtils::Command works
-cpan/ExtUtils-Command/t/lib/TieOut.pm          Testing library to capture prints
 cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm           generate XS code to import C header constants
 cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm                        generate XS code to import C header constants
 cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm      generate XS code for proxy constants
@@ -1026,6 +1027,7 @@ cpan/ExtUtils-Install/t/lib/TieOut.pm                     Testing library to capture prints
 cpan/ExtUtils-Install/t/Packlist.t                     See if Packlist works
 cpan/ExtUtils-MakeMaker/bin/instmodsh                          Give information about installed extensions
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm             Calling MM functions from the cmd line
+cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command.pm
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm            Does the real work of the above
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm                        Locates libraries
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm       MakeMaker wrapper for Config
@@ -1065,8 +1067,10 @@ cpan/ExtUtils-MakeMaker/t/basic.t                                See if MakeMaker can build a module
 cpan/ExtUtils-MakeMaker/t/build_man.t                          Set if MakeMaker builds manpages
 cpan/ExtUtils-MakeMaker/t/cd.t                                 Test to see cd works
 cpan/ExtUtils-MakeMaker/t/config.t                             Test ExtUtils::MakeMaker::Config
+cpan/ExtUtils-MakeMaker/t/cp.t
 cpan/ExtUtils-MakeMaker/t/dir_target.t                         Verify if dir_target() is supported
 cpan/ExtUtils-MakeMaker/t/echo.t                               Test for ExtUtils::MakeMaker
+cpan/ExtUtils-MakeMaker/t/eu_command.t
 cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t                     See if FIRST_MAKEFILE works
 cpan/ExtUtils-MakeMaker/t/fixin.t                              See if ExtUtils::MakeMaker works
 cpan/ExtUtils-MakeMaker/t/fix_libs.t                           Test for ExtUtils::MakeMaker
@@ -1563,8 +1567,6 @@ cpan/Locale-Codes/lib/Locale/Language.pm  Locale::Codes
 cpan/Locale-Codes/lib/Locale/Language.pod      Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Script.pm         Locale::Codes
 cpan/Locale-Codes/lib/Locale/Script.pod                Locale::Codes documentation
-cpan/Locale-Codes/t/alias_code_old.t   Locale::Codes tests
-cpan/Locale-Codes/t/alias_code.t               Locale::Codes tests
 cpan/Locale-Codes/t/code2country_old.t Locale::Codes tests
 cpan/Locale-Codes/t/code2country.t             Locale::Codes tests
 cpan/Locale-Codes/t/code2currency.t            Locale::Codes tests
@@ -1600,6 +1602,89 @@ cpan/Locale-Maketext-Simple/t/po_with_i_default/fr.po            Locale::Simple tests
 cpan/Locale-Maketext-Simple/t/po_with_i_default/i_default.po   Locale::Simple tests
 cpan/Locale-Maketext-Simple/t/po_without_i_default/en.po       Locale::Simple tests
 cpan/Locale-Maketext-Simple/t/po_without_i_default/fr.po       Locale::Simple tests
+cpan/Math-BigInt-FastCalc/FastCalc.xs  Math::BigInt::FastCalc extension
+cpan/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm  Math::BigInt::FastCalc extension
+cpan/Math-BigInt-FastCalc/t/bigintfc.t Math::BigInt::FastCalc extension
+cpan/Math-BigInt-FastCalc/t/bootstrap.t        Math::BigInt::FastCalc extension
+cpan/Math-BigInt-FastCalc/t/leak.t     test for memory leaks in Math::BigInt::FastCalc
+cpan/Math-BigInt-FastCalc/t/mbi_rand.t Math::BigInt::FastCalc extension
+cpan/Math-BigInt/lib/Math/BigFloat.pm          An arbitrary precision floating-point arithmetic package
+cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm    Pure Perl module to support Math::BigInt
+cpan/Math-BigInt/lib/Math/BigInt/Calc.pm       Pure Perl module to support Math::BigInt
+cpan/Math-BigInt/lib/Math/BigInt.pm    An arbitrary precision integer arithmetic package
+cpan/Math-BigInt/t/alias.inc           Support for BigInt tests
+cpan/Math-BigInt/t/bare_mbf.t          Test MBF under Math::BigInt::BareCalc
+cpan/Math-BigInt/t/bare_mbi.t          Test MBI under Math::BigInt::BareCalc
+cpan/Math-BigInt/t/bare_mif.t          Rounding tests under BareCalc
+cpan/Math-BigInt/t/bigfltpm.inc                Shared tests for bigfltpm.t and sub_mbf.t
+cpan/Math-BigInt/t/bigfltpm.t          See if BigFloat.pm works
+cpan/Math-BigInt/t/bigintc.t           See if BigInt/Calc.pm works
+cpan/Math-BigInt/t/bigintpm.inc                Shared tests for bigintpm.t and sub_mbi.t
+cpan/Math-BigInt/t/bigintpm.t          See if BigInt.pm works
+cpan/Math-BigInt/t/bigints.t           See if BigInt.pm works
+cpan/Math-BigInt/t/biglog.t            Test the log function
+cpan/Math-BigInt/t/big_pi_e.t          test bpi() and bexp()
+cpan/Math-BigInt/t/bigroot.t           Test the broot function
+cpan/Math-BigInt/t/calling.t           Test calling conventions
+cpan/Math-BigInt/t/config.t            Test Math::BigInt->config()
+cpan/Math-BigInt/t/constant.t          Test Math::BigInt/BigFloat under :constant
+cpan/Math-BigInt/t/const_mbf.t         Test Math::BigInt
+cpan/Math-BigInt/t/downgrade.t         Test if use Math::BigInt(); under downgrade works
+cpan/Math-BigInt/t/_e_math.t           Helper routine in BigFloat for _e math
+cpan/Math-BigInt/t/inf_nan.t           Special tests for inf and *NaN* handling
+cpan/Math-BigInt/t/isa.t               Test for Math::BigInt inheritance
+cpan/Math-BigInt/t/lib_load.t          Test sane lib names
+cpan/Math-BigInt/t/Math/BigFloat/Subclass.pm   Empty subclass of BigFloat for test
+cpan/Math-BigInt/t/Math/BigInt/BareCalc.pm     Bigint's simulation of Calc
+cpan/Math-BigInt/t/Math/BigInt/Scalar.pm       Pure Perl module to support Math::BigInt
+cpan/Math-BigInt/t/Math/BigInt/Subclass.pm     Empty subclass of BigInt for test
+cpan/Math-BigInt/t/mbf_ali.t           Tests for BigFloat
+cpan/Math-BigInt/t/mbi_ali.t           Tests for BigInt
+cpan/Math-BigInt/t/mbimbf.inc          Actual BigInt/BigFloat accuracy, precision and fallback, round_mode tests
+cpan/Math-BigInt/t/mbimbf.t            BigInt/BigFloat accuracy, precision and fallback, round_mode
+cpan/Math-BigInt/t/mbi_rand.t          Test Math::BigInt randomly
+cpan/Math-BigInt/t/nan_cmp.t           overloaded comparison involving *NaN*
+cpan/Math-BigInt/t/new_overloaded.t    test overloaded numbers in BigFloat's new()
+cpan/Math-BigInt/t/req_mbf0.t          test: require Math::BigFloat; ->bzero();
+cpan/Math-BigInt/t/req_mbf1.t          test: require Math::BigFloat; ->bone();
+cpan/Math-BigInt/t/req_mbfa.t          test: require Math::BigFloat; ->bnan();
+cpan/Math-BigInt/t/req_mbfi.t          test: require Math::BigFloat; ->binf();
+cpan/Math-BigInt/t/req_mbfn.t          test: require Math::BigFloat; ->new();
+cpan/Math-BigInt/t/req_mbfw.t          require Math::BigFloat; import ( with => );
+cpan/Math-BigInt/t/require.t           Test if require Math::BigInt works
+cpan/Math-BigInt/t/round.t             Test rounding with non-integer A and P
+cpan/Math-BigInt/t/rt-16221.t          Tests for objectify() w/foreign objs
+cpan/Math-BigInt/t/sub_ali.t           Tests for aliases in BigInt subclasses
+cpan/Math-BigInt/t/sub_mbf.t           Empty subclass test of BigFloat
+cpan/Math-BigInt/t/sub_mbi.t           Empty subclass test of BigInt
+cpan/Math-BigInt/t/sub_mif.t           Test A & P with subclasses using mbimbf.inc
+cpan/Math-BigInt/t/trap.t              Test whether trap_nan and trap_inf work
+cpan/Math-BigInt/t/upgrade2.t          Test that two upgrade levels work
+cpan/Math-BigInt/t/upgradef.t          Test if use Math::BigFloat(); under upgrade works
+cpan/Math-BigInt/t/upgrade.inc         Actual tests for upgrade.t
+cpan/Math-BigInt/t/upgrade.t           Test if use Math::BigInt(); under upgrade works
+cpan/Math-BigInt/t/use_lib1.t          Test combinations of Math::BigInt and BigFloat
+cpan/Math-BigInt/t/use_lib2.t          Test combinations of Math::BigInt and BigFloat
+cpan/Math-BigInt/t/use_lib3.t          Test combinations of Math::BigInt and BigFloat
+cpan/Math-BigInt/t/use_lib4.t          Test combinations of Math::BigInt and BigFloat
+cpan/Math-BigInt/t/use_mbfw.t          use BigFloat w/ with and lib at the same time
+cpan/Math-BigInt/t/use.t               Test if use Math::BigInt(); works
+cpan/Math-BigInt/t/with_sub.t          Test use Math::BigFloat with => package
+cpan/Math-BigRat/lib/Math/BigRat.pm    Math::BigRat
+cpan/Math-BigRat/t/big_ap.t            Math::BigRat test
+cpan/Math-BigRat/t/bigfltpm.inc                Math::BigRat test
+cpan/Math-BigRat/t/bigfltrt.t          Math::BigRat test
+cpan/Math-BigRat/t/biglog.t            Math::BigRat test
+cpan/Math-BigRat/t/bigratpm.inc                Math::BigRat test
+cpan/Math-BigRat/t/bigratpm.t          Math::BigRat test
+cpan/Math-BigRat/t/bigrat.t            Math::BigRat test
+cpan/Math-BigRat/t/bigratup.t          test under $Math::BigInt::upgrade
+cpan/Math-BigRat/t/bigroot.t           Math::BigRat test
+cpan/Math-BigRat/t/bitwise.t           Math::BigRat test
+cpan/Math-BigRat/t/hang.t              Math::BigRat test for bug #34584 - hang in exp()
+cpan/Math-BigRat/t/Math/BigRat/Test.pm Math::BigRat test helper
+cpan/Math-BigRat/t/requirer.t          see if require works properly
+cpan/Math-BigRat/t/trap.t              see if trap_nan and trap_inf work
 cpan/Math-Complex/lib/Math/Complex.pm  A Complex package
 cpan/Math-Complex/lib/Math/Trig.pm     A simple interface to complex trigonometry
 cpan/Math-Complex/t/Complex.t          See if Math::Complex works
@@ -2327,7 +2412,6 @@ cpan/Test-Harness/t/unicode.t                             Test::Harness test
 cpan/Test-Harness/t/yamlish-output.t                   Test::Harness test
 cpan/Test-Harness/t/yamlish.t                          Test::Harness test
 cpan/Test-Harness/t/yamlish-writer.t                   Test::Harness test
-cpan/Test/lib/Test.pm          A simple framework for writing test scripts
 cpan/Test-Simple/lib/ok.pm
 cpan/Test-Simple/lib/Test/Builder/IO/Scalar.pm
 cpan/Test-Simple/lib/Test/Builder/Module.pm
@@ -2485,15 +2569,6 @@ cpan/Test-Simple/t/useing.t
 cpan/Test-Simple/t/use_ok.t
 cpan/Test-Simple/t/utf8.t
 cpan/Test-Simple/t/versions.t
-cpan/Test/t/05_about_verbose.t See if Test works
-cpan/Test/t/fail.t             See if Test works
-cpan/Test/t/mix.t              See if Test works
-cpan/Test/t/multiline.t                See if Test works
-cpan/Test/t/onfail.t           See if Test works
-cpan/Test/t/qr.t               See if Test works
-cpan/Test/t/skip.t             See if Test works
-cpan/Test/t/success.t          See if Test works
-cpan/Test/t/todo.t             See if Test works
 cpan/Text-Balanced/lib/Text/Balanced.pm        Text::Balanced
 cpan/Text-Balanced/t/01_compile.t      See if Text::Balanced works
 cpan/Text-Balanced/t/02_extbrk.t       See if Text::Balanced works
@@ -3182,89 +3257,6 @@ dist/Locale-Maketext/t/60_super.t                        See if Locale::Maketext works
 dist/Locale-Maketext/t/70_fail_auto.t                  See if Locale::Maketext works
 dist/Locale-Maketext/t/90_utf8.t                       See if Locale::Maketext works
 dist/Locale-Maketext/t/91_backslash.t                  See if Locale::Maketext works
-dist/Math-BigInt-FastCalc/FastCalc.xs  Math::BigInt::FastCalc extension
-dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm  Math::BigInt::FastCalc extension
-dist/Math-BigInt-FastCalc/t/bigintfc.t Math::BigInt::FastCalc extension
-dist/Math-BigInt-FastCalc/t/bootstrap.t        Math::BigInt::FastCalc extension
-dist/Math-BigInt-FastCalc/t/leak.t     test for memory leaks in Math::BigInt::FastCalc
-dist/Math-BigInt-FastCalc/t/mbi_rand.t Math::BigInt::FastCalc extension
-dist/Math-BigInt/lib/Math/BigFloat.pm          An arbitrary precision floating-point arithmetic package
-dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm    Pure Perl module to support Math::BigInt
-dist/Math-BigInt/lib/Math/BigInt/Calc.pm       Pure Perl module to support Math::BigInt
-dist/Math-BigInt/lib/Math/BigInt.pm    An arbitrary precision integer arithmetic package
-dist/Math-BigInt/t/alias.inc           Support for BigInt tests
-dist/Math-BigInt/t/bare_mbf.t          Test MBF under Math::BigInt::BareCalc
-dist/Math-BigInt/t/bare_mbi.t          Test MBI under Math::BigInt::BareCalc
-dist/Math-BigInt/t/bare_mif.t          Rounding tests under BareCalc
-dist/Math-BigInt/t/bigfltpm.inc                Shared tests for bigfltpm.t and sub_mbf.t
-dist/Math-BigInt/t/bigfltpm.t          See if BigFloat.pm works
-dist/Math-BigInt/t/bigintc.t           See if BigInt/Calc.pm works
-dist/Math-BigInt/t/bigintpm.inc                Shared tests for bigintpm.t and sub_mbi.t
-dist/Math-BigInt/t/bigintpm.t          See if BigInt.pm works
-dist/Math-BigInt/t/bigints.t           See if BigInt.pm works
-dist/Math-BigInt/t/biglog.t            Test the log function
-dist/Math-BigInt/t/big_pi_e.t          test bpi() and bexp()
-dist/Math-BigInt/t/bigroot.t           Test the broot function
-dist/Math-BigInt/t/calling.t           Test calling conventions
-dist/Math-BigInt/t/config.t            Test Math::BigInt->config()
-dist/Math-BigInt/t/constant.t          Test Math::BigInt/BigFloat under :constant
-dist/Math-BigInt/t/const_mbf.t         Test Math::BigInt
-dist/Math-BigInt/t/downgrade.t         Test if use Math::BigInt(); under downgrade works
-dist/Math-BigInt/t/_e_math.t           Helper routine in BigFloat for _e math
-dist/Math-BigInt/t/inf_nan.t           Special tests for inf and *NaN* handling
-dist/Math-BigInt/t/isa.t               Test for Math::BigInt inheritance
-dist/Math-BigInt/t/lib_load.t          Test sane lib names
-dist/Math-BigInt/t/Math/BigFloat/Subclass.pm   Empty subclass of BigFloat for test
-dist/Math-BigInt/t/Math/BigInt/BareCalc.pm     Bigint's simulation of Calc
-dist/Math-BigInt/t/Math/BigInt/Scalar.pm       Pure Perl module to support Math::BigInt
-dist/Math-BigInt/t/Math/BigInt/Subclass.pm     Empty subclass of BigInt for test
-dist/Math-BigInt/t/mbf_ali.t           Tests for BigFloat
-dist/Math-BigInt/t/mbi_ali.t           Tests for BigInt
-dist/Math-BigInt/t/mbimbf.inc          Actual BigInt/BigFloat accuracy, precision and fallback, round_mode tests
-dist/Math-BigInt/t/mbimbf.t            BigInt/BigFloat accuracy, precision and fallback, round_mode
-dist/Math-BigInt/t/mbi_rand.t          Test Math::BigInt randomly
-dist/Math-BigInt/t/nan_cmp.t           overloaded comparison involving *NaN*
-dist/Math-BigInt/t/new_overloaded.t    test overloaded numbers in BigFloat's new()
-dist/Math-BigInt/t/req_mbf0.t          test: require Math::BigFloat; ->bzero();
-dist/Math-BigInt/t/req_mbf1.t          test: require Math::BigFloat; ->bone();
-dist/Math-BigInt/t/req_mbfa.t          test: require Math::BigFloat; ->bnan();
-dist/Math-BigInt/t/req_mbfi.t          test: require Math::BigFloat; ->binf();
-dist/Math-BigInt/t/req_mbfn.t          test: require Math::BigFloat; ->new();
-dist/Math-BigInt/t/req_mbfw.t          require Math::BigFloat; import ( with => );
-dist/Math-BigInt/t/require.t           Test if require Math::BigInt works
-dist/Math-BigInt/t/round.t             Test rounding with non-integer A and P
-dist/Math-BigInt/t/rt-16221.t          Tests for objectify() w/foreign objs
-dist/Math-BigInt/t/sub_ali.t           Tests for aliases in BigInt subclasses
-dist/Math-BigInt/t/sub_mbf.t           Empty subclass test of BigFloat
-dist/Math-BigInt/t/sub_mbi.t           Empty subclass test of BigInt
-dist/Math-BigInt/t/sub_mif.t           Test A & P with subclasses using mbimbf.inc
-dist/Math-BigInt/t/trap.t              Test whether trap_nan and trap_inf work
-dist/Math-BigInt/t/upgrade2.t          Test that two upgrade levels work
-dist/Math-BigInt/t/upgradef.t          Test if use Math::BigFloat(); under upgrade works
-dist/Math-BigInt/t/upgrade.inc         Actual tests for upgrade.t
-dist/Math-BigInt/t/upgrade.t           Test if use Math::BigInt(); under upgrade works
-dist/Math-BigInt/t/use_lib1.t          Test combinations of Math::BigInt and BigFloat
-dist/Math-BigInt/t/use_lib2.t          Test combinations of Math::BigInt and BigFloat
-dist/Math-BigInt/t/use_lib3.t          Test combinations of Math::BigInt and BigFloat
-dist/Math-BigInt/t/use_lib4.t          Test combinations of Math::BigInt and BigFloat
-dist/Math-BigInt/t/use_mbfw.t          use BigFloat w/ with and lib at the same time
-dist/Math-BigInt/t/use.t               Test if use Math::BigInt(); works
-dist/Math-BigInt/t/with_sub.t          Test use Math::BigFloat with => package
-dist/Math-BigRat/lib/Math/BigRat.pm    Math::BigRat
-dist/Math-BigRat/t/big_ap.t            Math::BigRat test
-dist/Math-BigRat/t/bigfltpm.inc                Math::BigRat test
-dist/Math-BigRat/t/bigfltrt.t          Math::BigRat test
-dist/Math-BigRat/t/biglog.t            Math::BigRat test
-dist/Math-BigRat/t/bigratpm.inc                Math::BigRat test
-dist/Math-BigRat/t/bigratpm.t          Math::BigRat test
-dist/Math-BigRat/t/bigrat.t            Math::BigRat test
-dist/Math-BigRat/t/bigratup.t          test under $Math::BigInt::upgrade
-dist/Math-BigRat/t/bigroot.t           Math::BigRat test
-dist/Math-BigRat/t/bitwise.t           Math::BigRat test
-dist/Math-BigRat/t/hang.t              Math::BigRat test for bug #34584 - hang in exp()
-dist/Math-BigRat/t/Math/BigRat/Test.pm Math::BigRat test helper
-dist/Math-BigRat/t/requirer.t          see if require works properly
-dist/Math-BigRat/t/trap.t              see if trap_nan and trap_inf work
 dist/Module-CoreList/Changes                   Module::CoreList Changes
 dist/Module-CoreList/corelist                  The corelist command-line utility
 dist/Module-CoreList/identify-dependencies     A usage example for Module::CoreList
@@ -3301,6 +3293,7 @@ dist/Net-Ping/t/510_ping_udp.t            Ping Net::Ping
 dist/Net-Ping/t/520_icmp_ttl.t         Ping Net::Ping
 dist/PathTools/Cwd.pm                          Various cwd routines (getcwd, fastcwd, chdir)
 dist/PathTools/Cwd.xs                          Cwd extension external subroutines
+dist/PathTools/lib/File/Spec/AmigaOS.pm                portable operations on AmigaOS file names
 dist/PathTools/lib/File/Spec/Cygwin.pm portable operations on Cygwin file names
 dist/PathTools/lib/File/Spec/Epoc.pm           portable operations on EPOC file names
 dist/PathTools/lib/File/Spec/Functions.pm      Function interface to File::Spec object methods
@@ -3410,6 +3403,16 @@ dist/Term-ReadLine/t/AE.t                        See if Term::ReadLine works
 dist/Term-ReadLine/t/AETk.t                    See if Term::ReadLine works
 dist/Term-ReadLine/t/ReadLine.t                        See if Term::ReadLine works
 dist/Term-ReadLine/t/Tk.t                      See if Term::ReadLine works
+dist/Test/lib/Test.pm          A simple framework for writing test scripts
+dist/Test/t/05_about_verbose.t See if Test works
+dist/Test/t/fail.t             See if Test works
+dist/Test/t/mix.t              See if Test works
+dist/Test/t/multiline.t                See if Test works
+dist/Test/t/onfail.t           See if Test works
+dist/Test/t/qr.t               See if Test works
+dist/Test/t/skip.t             See if Test works
+dist/Test/t/success.t          See if Test works
+dist/Test/t/todo.t             See if Test works
 dist/Text-Abbrev/lib/Text/Abbrev.pm            An abbreviation table builder
 dist/Text-Abbrev/t/Abbrev.t            Test Text::Abbrev
 dist/Thread-Queue/lib/Thread/Queue.pm  Thread-safe queues
@@ -3423,6 +3426,7 @@ dist/Thread-Queue/t/07_lock.t             Thread::Queue tests
 dist/Thread-Queue/t/08_nothreads.t     Thread::Queue tests
 dist/Thread-Queue/t/09_ended.t         Thread::Queue tests
 dist/Thread-Queue/t/10_timed.t Thread::Queue tests
+dist/Thread-Queue/t/11_limit.t Thread::Queue tests
 dist/Thread-Semaphore/lib/Thread/Semaphore.pm  Thread-safe semaphores
 dist/Thread-Semaphore/t/01_basic.t             Thread::Semaphore tests
 dist/Thread-Semaphore/t/02_errs.t              Thread::Semaphore tests
@@ -3536,6 +3540,20 @@ ebcdic_tables.h          Generated tables included in utfebcdic.h
 embed.fnc              Database used by embed.pl
 embed.h                        Maps symbols to safer names
 embedvar.h             C namespace management
+ext/Amiga-ARexx/ARexx.pm       Amiga::ARexx extension
+ext/Amiga-ARexx/ARexx.xs       Amiga::ARexx extension
+ext/Amiga-ARexx/__examples/simplecommand.pl    Amiga::ARexx extension
+ext/Amiga-ARexx/__examples/simplehost.pl       Amiga::ARexx extension
+ext/Amiga-ARexx/Makefile.PL    Amiga::ARexx extension
+ext/Amiga-ARexx/tagtypes.h                     Amiga::ARexx extension
+ext/Amiga-ARexx/typemap        Amiga::ARexx extension
+ext/Amiga-Exec/__examples/simplecommand.pl     Amiga::Exec extension
+ext/Amiga-Exec/__examples/simplehost.pl                Amiga::Exec extension
+ext/Amiga-Exec/Exec.pm Amiga::Exec extension
+ext/Amiga-Exec/Exec.xs Amiga::Exec extension
+ext/Amiga-Exec/Makefile.PL                     Amiga::Exec extension
+ext/Amiga-Exec/tagtypes.h      Amiga::Exec extension
+ext/Amiga-Exec/typemap         Amiga::Exec extension
 ext/arybase/arybase.pm         For $[
 ext/arybase/arybase.xs         For $[
 ext/arybase/ptable.h           For $[
@@ -4584,9 +4602,11 @@ pod/perl5184delta.pod            Perl changes in version 5.18.4
 pod/perl5200delta.pod          Perl changes in version 5.20.0
 pod/perl5201delta.pod          Perl changes in version 5.20.1
 pod/perl5202delta.pod          Perl changes in version 5.20.2
+pod/perl5203delta.pod          Perl changes in version 5.20.3
 pod/perl5220delta.pod          Perl changes in version 5.22.0
 pod/perl5230delta.pod          Perl changes in version 5.23.0
 pod/perl5231delta.pod          Perl changes in version 5.23.1
+pod/perl5232delta.pod          Perl changes in version 5.23.2
 pod/perl561delta.pod           Perl changes in version 5.6.1
 pod/perl56delta.pod            Perl changes in version 5.6
 pod/perl581delta.pod           Perl changes in version 5.8.1
index 7f54836..4381957 100644 (file)
--- a/META.json
+++ b/META.json
@@ -34,9 +34,6 @@
          "dist/IO/",
          "dist/lib/",
          "dist/Locale-Maketext",
-         "dist/Math-BigInt",
-         "dist/Math-BigInt-FastCalc",
-         "dist/Math-BigRat",
          "dist/Module-CoreList",
          "dist/Net-Ping",
          "dist/PathTools",
@@ -46,6 +43,7 @@
          "dist/Storable",
          "dist/Term-Complete",
          "dist/Term-ReadLine",
+         "dist/Test",
          "dist/Text-Abbrev",
          "dist/Thread-Queue",
          "dist/Thread-Semaphore",
          "url" : "http://perl5.git.perl.org/"
       }
    },
-   "version" : "5.023002",
+   "version" : "5.023003",
    "x_serialization_backend" : "JSON::PP version 2.27300"
 }
index 739d308..5863973 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -32,9 +32,6 @@ no_index:
     - dist/IO/
     - dist/lib/
     - dist/Locale-Maketext
-    - dist/Math-BigInt
-    - dist/Math-BigInt-FastCalc
-    - dist/Math-BigRat
     - dist/Module-CoreList
     - dist/Net-Ping
     - dist/PathTools
@@ -44,6 +41,7 @@ no_index:
     - dist/Storable
     - dist/Term-Complete
     - dist/Term-ReadLine
+    - dist/Test
     - dist/Text-Abbrev
     - dist/Thread-Queue
     - dist/Thread-Semaphore
@@ -112,5 +110,5 @@ resources:
   homepage: http://www.perl.org/
   license: http://dev.perl.org/licenses/
   repository: http://perl5.git.perl.org/
-version: '5.023002'
+version: '5.023003'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.017'
index bc5837e..ad220bf 100755 (executable)
@@ -20,6 +20,15 @@ case $PERL_CONFIG_SH in
        ;;
 esac
 
+case "$osname" in
+amigaos)
+       devtty=CONSOLE:
+       ;;
+*)
+       devtty=/dev/tty
+       ;;
+esac
+
 Makefile=Makefile
 
 : This forces SH files to create target in same directory as SH file.
@@ -350,6 +359,9 @@ public = \$(PERL_EXE) utilities
 
 shellflags = $shellflags
 
+# The /dev/tty or the moral equivalent.
+devtty = $devtty
+
 # This is set to  MAKE=$make if your $make command doesn't
 # do it for you.
 $make_set_make
@@ -492,7 +504,7 @@ mini_obj = $(minindt_obj) $(MINIDTRACE_O)
 ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
 obj = $(ndt_obj) $(DTRACE_O)
 
-perltoc_pod_prereqs = extra.pods pod/perl5232delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl5233delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
 generated_pods = pod/perltoc.pod $(perltoc_pod_prereqs)
 generated_headers = uudmap.h bitcount.h mg_data.h
 
@@ -697,7 +709,21 @@ generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
 ;;
 esac
 
+case "$osname" in
+amigaos*)
+$spitshell >>$Makefile <<'!NO!SUBS!'
+perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib
+       $(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(\\"perlmain.c", @ARGV)' DynaLoader $(static_ext)
+
+# The file ext.libs is a list of libraries that must be linked in
+# for static extensions, e.g. -lm -lgdbm, etc.  The individual
+# static extension Makefile's add to it.
+ext.libs: $(static_ext)
+       -@test -f ext.libs || touch ext.libs
 
+!NO!SUBS!
+;;
+*)
 $spitshell >>$Makefile <<'!NO!SUBS!'
 perlmain.c: $(MINIPERL_EXE) ext/ExtUtils-Miniperl/pm_to_blib
        $(MINIPERL) -Ilib -MExtUtils::Miniperl -e 'writemain(\"perlmain.c", @ARGV)' DynaLoader $(static_ext)
@@ -709,6 +735,8 @@ ext.libs: $(static_ext)
        -@test -f ext.libs || touch ext.libs
 
 !NO!SUBS!
+;;
+esac
 
 # How to build libperl.  This is still rather convoluted.
 # Load up custom Makefile.SH fragment for shared loading and executables:
@@ -873,6 +901,16 @@ $(MINIPERL_EXE): lib/buildcustomize.pl
 !NO!SUBS!
 
        case "${osname}${osvers}" in
+       amigaos*)
+               $spitshell >>$Makefile <<'!NO!SUBS!'
+lib/buildcustomize.pl: $& $(mini_obj) write_buildcustomize.pl
+       -@rm -f miniperl.xok
+       $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
+           $(mini_obj) $(libs)
+#      $(LDLIBPTH) ./miniperl$(HOST_EXE_EXT) -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl.  Please run make minitest; exit 1'
+       $(MINIPERL) -f write_buildcustomize.pl
+!NO!SUBS!
+               ;;
        aix*)
                $spitshell >>$Makefile <<'!NO!SUBS!'
 lib/buildcustomize.pl: $& $(mini_obj)
@@ -941,6 +979,12 @@ $(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPOR
 !NO!SUBS!
 
         case $osname in
+       # In AmigaOS the Perl executable needs to be linked with -ldl,
+       # but none of the other executables should be.
+        amigaos) $spitshell >>$Makefile <<'!NO!SUBS!'
+       $(SHRPENV) $(CC) -o perl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(LLIBPERL) $(static_ext) `cat ext.libs` $(libs) -ldl
+!NO!SUBS!
+        ;;
         os390) $spitshell >>$Makefile <<'!NO!SUBS!'
        $(SHRPENV) $(CC) -o perl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(LLIBPERL) $(static_ext) `cat ext.libs` $(libs)
 !NO!SUBS!
@@ -1020,9 +1064,9 @@ pod/perlintern.pod: $(MINIPERL_EXE) autodoc.pl embed.fnc
 pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
        $(MINIPERL) pod/perlmodlib.PL -q
 
-pod/perl5232delta.pod: pod/perldelta.pod
-       $(RMS) pod/perl5232delta.pod
-       $(LNS) perldelta.pod pod/perl5232delta.pod
+pod/perl5233delta.pod: pod/perldelta.pod
+       $(RMS) pod/perl5233delta.pod
+       $(LNS) perldelta.pod pod/perl5233delta.pod
 
 extra.pods: $(MINIPERL_EXE)
        -@test ! -f extra.pods || rm -f `cat extra.pods`
@@ -1342,7 +1386,7 @@ _cleaner2:
        -rmdir lib/CPAN/Kwalify lib/CPAN/HTTP lib/CPAN/FTP lib/CPAN/Exception
        -rmdir lib/CPAN/API lib/CPAN lib/Attribute lib/Archive/Tar lib/Archive
        -rmdir lib/App/Prove/State/Result lib/App/Prove/State lib/App/Prove
-       -rmdir lib/App
+       -rmdir lib/App lib/Amiga
 
 _realcleaner:
        @$(LDLIBPTH) $(MAKE) _cleaner1 CLEAN=distclean
@@ -1514,18 +1558,23 @@ esac
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-# Can't depend on lib/Config.pm because that might be where miniperl
+# minitest can't depend on lib/Config.pm because that might be where miniperl
 # is crashing.
-minitest: $(MINIPERL_EXE)
+minitest_prep:
        -@test -f lib/Config.pm || $(MAKE) lib/Config.pm $(unidatafiles)
        @echo " "
        @echo "You may see some irrelevant test failures if you have been unable"
        @echo "to build lib/Config.pm, or the Unicode data files."
        @echo " "
-       - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \
-               && $(RUN_PERL) TEST base/*.t comp/*.t cmd/*.t run/*.t \
-               io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t \
-               </dev/tty
+       - cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE))
+
+MINITEST_TESTS = base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t
+
+minitest: $(MINIPERL_EXE) minitest_prep
+       - cd t && $(RUN_PERL) TEST $(MINITEST_TESTS) <$(devtty)
+
+minitest-notty minitest_notty: $(MINIPERL_EXE) minitest_prep
+       - cd t && PERL_SKIP_TTY_TEST=1 $(RUN_PERL) TEST $(MINITEST_TESTS)
 
 # Test via harness
 
index dd4df14..6873b38 100644 (file)
@@ -86,7 +86,7 @@ NLM_VERSION    = 3,20,0
 
 
 # Here comes the CW tools - TO BE FILLED TO BUILD WITH CW -
-MODULE_DESC     = "Perl 5.23.2 for NetWare"
+MODULE_DESC     = "Perl 5.23.3 for NetWare"
 CCTYPE          = CodeWarrior
 C_COMPILER             = mwccnlm -c
 CPP_COMPILER   = mwccnlm
@@ -462,7 +462,7 @@ INST_NW_TOP2 = $(INST_NW_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-INST_VER       = \5.23.2
+INST_VER       = \5.23.3
 
 #
 # Comment this out if you DON'T want your perl installation to have
index 88fddc7..186f7a8 100644 (file)
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "c:\\perl\\5.23.2\\lib\\NetWare-x86-multi-thread"              /**/
+#define ARCHLIB "c:\\perl\\5.23.3\\lib\\NetWare-x86-multi-thread"              /**/
 /*#define ARCHLIB_EXP ""       /**/
 
 /* ARCHNAME:
  *     This symbol is the filename expanded version of the BIN symbol, for
  *     programs that do not want to deal with that at run-time.
  */
-#define BIN "c:\\perl\\5.23.2\\bin\\NetWare-x86-multi-thread"  /**/
-#define BIN_EXP "c:\\perl\\5.23.2\\bin\\NetWare-x86-multi-thread"      /**/
+#define BIN "c:\\perl\\5.23.3\\bin\\NetWare-x86-multi-thread"  /**/
+#define BIN_EXP "c:\\perl\\5.23.3\\bin\\NetWare-x86-multi-thread"      /**/
 
 /* BYTEORDER:
  *     This symbol holds the hexadecimal constant defined in byteorder,
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "c:\\perl\\site\\5.23.2\\lib\\NetWare-x86-multi-thread"               /**/
+#define SITEARCH "c:\\perl\\site\\5.23.3\\lib\\NetWare-x86-multi-thread"               /**/
 /*#define SITEARCH_EXP ""      /**/
 
 /* SITELIB:
  *     removed.  The elements in inc_version_list (inc_version_list.U) can
  *     be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "c:\\perl\\site\\5.23.2\\lib"          /**/
+#define SITELIB "c:\\perl\\site\\5.23.3\\lib"          /**/
 /*#define SITELIB_EXP ""       /**/
 #define SITELIB_STEM ""                /**/
 
index 7ea239e..ce207c4 100755 (executable)
@@ -219,6 +219,9 @@ use File::Glob qw(:case);
                 t/99pod.t
                 ),
         ],
+
+        # https://rt.cpan.org/Ticket/Display.html?id=106799
+        'CUSTOMIZED'   => [ qw[ Zlib.xs ] ],
     },
 
     'Config::Perl::V' => {
@@ -382,7 +385,7 @@ use File::Glob qw(:case);
     },
 
     'Encode' => {
-        'DISTRIBUTION' => 'DANKOGAI/Encode-2.76.tar.gz',
+        'DISTRIBUTION' => 'DANKOGAI/Encode-2.77.tar.gz',
         'FILES'        => q[cpan/Encode],
     },
 
@@ -402,7 +405,7 @@ use File::Glob qw(:case);
     },
 
     'experimental' => {
-        'DISTRIBUTION' => 'LEONT/experimental-0.013.tar.gz',
+        'DISTRIBUTION' => 'LEONT/experimental-0.014.tar.gz',
         'FILES'        => q[cpan/experimental],
         'EXCLUDED'     => [
           qr{^t/release-.*\.t},
@@ -429,12 +432,6 @@ use File::Glob qw(:case);
         ],
     },
 
-    'ExtUtils::Command' => {
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-Command-1.20.tar.gz',
-        'FILES'        => q[cpan/ExtUtils-Command],
-        'EXCLUDED'     => [qr{^xt/}],
-    },
-
     'ExtUtils::Constant' => {
 
         # Nick has confirmed that while we have diverged from CPAN,
@@ -465,7 +462,7 @@ use File::Glob qw(:case);
     },
 
     'ExtUtils::MakeMaker' => {
-        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.04.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-7.10.tar.gz',
         'FILES'        => q[cpan/ExtUtils-MakeMaker],
         'EXCLUDED'     => [
             qr{^t/lib/Test/},
@@ -476,41 +473,14 @@ use File::Glob qw(:case);
             'PATCHING',
             'README.packaging',
         ],
-        # Applied upstream remove customisation when updating EUMM
-        'CUSTOMIZED'   => [ qw[ t/pm_to_blib.t
-                                t/basic.t
-                                lib/ExtUtils/Command/MM.pm
-                                lib/ExtUtils/Liblist.pm
-                                lib/ExtUtils/Liblist/Kid.pm
-                                lib/ExtUtils/MM.pm
-                                lib/ExtUtils/MM_AIX.pm
-                                lib/ExtUtils/MM_Any.pm
-                                lib/ExtUtils/MM_BeOS.pm
-                                lib/ExtUtils/MM_Cygwin.pm
-                                lib/ExtUtils/MM_DOS.pm
-                                lib/ExtUtils/MM_Darwin.pm
-                                lib/ExtUtils/MM_MacOS.pm
-                                lib/ExtUtils/MM_NW5.pm
-                                lib/ExtUtils/MM_OS2.pm
-                                lib/ExtUtils/MM_QNX.pm
-                                lib/ExtUtils/MM_UWIN.pm
-                                lib/ExtUtils/MM_Unix.pm
-                                lib/ExtUtils/MM_VMS.pm
-                                lib/ExtUtils/MM_VOS.pm
-                                lib/ExtUtils/MM_Win32.pm
-                                lib/ExtUtils/MM_Win95.pm
-                                lib/ExtUtils/MY.pm
-                                lib/ExtUtils/MakeMaker.pm
-                                lib/ExtUtils/MakeMaker/Config.pm
-                                lib/ExtUtils/MakeMaker/FAQ.pod
-                                lib/ExtUtils/MakeMaker/Locale.pm
-                                lib/ExtUtils/MakeMaker/Tutorial.pod
-                                lib/ExtUtils/MakeMaker/version.pm
-                                lib/ExtUtils/MakeMaker/version/regex.pm
-                                lib/ExtUtils/MakeMaker/version/vpp.pm
-                                lib/ExtUtils/Mkbootstrap.pm
-                                lib/ExtUtils/Mksymlists.pm
-                                lib/ExtUtils/testlib.pm ] ],
+        # Upstreamed as https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/ede9ea4a
+        'CUSTOMIZED'   => [
+            qq[lib/ExtUtils/MakeMaker.pm],
+            qq[t/prereq.t],
+            qq[t/vstrings.t],
+        # Upstreamed as https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker/commit/dd1e236ab
+            qq[lib/ExtUtils/MM_VMS.pm],
+        ],
     },
 
     'ExtUtils::Manifest' => {
@@ -523,7 +493,7 @@ use File::Glob qw(:case);
     },
 
     'ExtUtils::ParseXS' => {
-        'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.24.tar.gz',
+        'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.30.tar.gz',
         'FILES'        => q[dist/ExtUtils-ParseXS],
     },
 
@@ -716,7 +686,7 @@ use File::Glob qw(:case);
     },
 
     'Locale-Codes' => {
-        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.35.tar.gz',
+        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.36.tar.gz',
         'FILES'        => q[cpan/Locale-Codes],
         'EXCLUDED'     => [
             qw( README.first
@@ -749,7 +719,7 @@ use File::Glob qw(:case);
 
     'Math::BigInt' => {
         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.9997.tar.gz',
-        'FILES'        => q[dist/Math-BigInt],
+        'FILES'        => q[cpan/Math-BigInt],
         'EXCLUDED'     => [
             qr{^inc/},
             qr{^examples/},
@@ -763,7 +733,7 @@ use File::Glob qw(:case);
 
     'Math::BigInt::FastCalc' => {
         'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.31.tar.gz',
-        'FILES'        => q[dist/Math-BigInt-FastCalc],
+        'FILES'        => q[cpan/Math-BigInt-FastCalc],
         'EXCLUDED'     => [
             qr{^inc/},
             qw( t/00sig.t
@@ -786,7 +756,7 @@ use File::Glob qw(:case);
 
     'Math::BigRat' => {
         'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2606.tar.gz',
-        'FILES'        => q[dist/Math-BigRat],
+        'FILES'        => q[cpan/Math-BigRat],
         'EXCLUDED'     => [
             qr{^inc/},
             qw( t/00sig.t
@@ -820,7 +790,7 @@ use File::Glob qw(:case);
     },
 
     'Module::CoreList' => {
-        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.20150720.tar.gz',
+        'DISTRIBUTION' => 'BINGOS/Module-CoreList-5.201509R12tar.gz',
         'FILES'        => q[dist/Module-CoreList],
     },
 
@@ -935,6 +905,9 @@ use File::Glob qw(:case);
         # XXX We can and should fix this, but clean up the DRY-failure in utils
         # first
         'EXCLUDED' => ['perldoc'],
+
+        # https://rt.cpan.org/Ticket/Display.html?id=106798
+        'CUSTOMIZED'   => [ qw[ lib/Pod/Perldoc.pm ] ],
     },
 
     'Pod::Simple' => {
@@ -1018,6 +991,9 @@ use File::Glob qw(:case);
     'Socket' => {
         'DISTRIBUTION' => 'PEVANS/Socket-2.020.tar.gz',
         'FILES'        => q[cpan/Socket],
+
+        # https://rt.cpan.org/Ticket/Display.html?id=106797
+        'CUSTOMIZED'   => [ qw[ Socket.xs ] ],
     },
 
     'Storable' => {
@@ -1073,7 +1049,7 @@ use File::Glob qw(:case);
 
     'Test' => {
         'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
-        'FILES'        => q[cpan/Test],
+        'FILES'        => q[dist/Test],
     },
 
     'Test::Harness' => {
@@ -1159,7 +1135,7 @@ use File::Glob qw(:case);
     # correct for this (and Thread::Semaphore, threads, and threads::shared)
     # to be under dist/ rather than cpan/
     'Thread::Queue' => {
-        'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.05.tar.gz',
+        'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.06.tar.gz',
         'FILES'        => q[dist/Thread-Queue],
         'EXCLUDED'     => [
             qr{^examples/},
@@ -1217,7 +1193,7 @@ use File::Glob qw(:case);
     },
 
     'Time::HiRes' => {
-        'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9726.tar.gz',
+        'DISTRIBUTION' => 'RJBS/Time-HiRes-1.9727_02.tar.gz',
         'FILES'        => q[cpan/Time-HiRes],
     },
 
@@ -1293,7 +1269,7 @@ use File::Glob qw(:case);
     },
 
     'Win32' => {
-        'DISTRIBUTION' => "JDB/Win32-0.51.tar.gz",
+        'DISTRIBUTION' => "JDB/Win32-0.52.tar.gz",
         'FILES'        => q[cpan/Win32],
     },
 
@@ -1346,6 +1322,8 @@ use File::Glob qw(:case);
 
     '_PERLLIB' => {
         'FILES'    => q[
+                ext/Amiga-ARexx/
+                ext/Amiga-Exec/
                 ext/B/
                 ext/Devel-Peek/
                 ext/DynaLoader/
index 0f9a8f6..155b8d6 100755 (executable)
@@ -258,6 +258,7 @@ sub display_test_output {
             print "ok $count - ".$real_names->{$_} ." $_\n";
         } else {
             print "not ok $count - Contributor not found in AUTHORS: $_ ".($real_names->{$_} || '???' )."\n";
+            print STDERR ($real_names->{$_} || '???' )." <$_> not found in AUTHORS\n";
         }
 
     }
@@ -645,7 +646,8 @@ ian.goodacre\100xtra.co.nz              ian\100debian.lan
 ingo_weinhold\100gmx.de                 bonefish\100cs.tu-berlin.de
 
 james\100mastros.biz                    theorb\100desert-island.me.uk
-jand\100activestate.com                 jan.dubois\100ibm.net
+jan\100jandubois.com                    jand\100activestate.com
++                                       jan.dubois\100ibm.net
 japhy\100pobox.com                      japhy\100pobox.org
 +                                       japhy\100perlmonk.org
 +                                       japhy\100cpan.org
index fda6c0b..d9e029b 100644 (file)
@@ -39,12 +39,12 @@ alignbytes='4'
 ansi2knr=''
 aphostname='/bin/hostname'
 api_revision='5'
-api_subversion='2'
+api_subversion='3'
 api_version='23'
-api_versionstring='5.23.2'
+api_versionstring='5.23.3'
 ar='ar'
-archlib='/pro/lib/perl5/5.23.2/i686-linux-64int'
-archlibexp='/pro/lib/perl5/5.23.2/i686-linux-64int'
+archlib='/pro/lib/perl5/5.23.3/i686-linux-64int'
+archlibexp='/pro/lib/perl5/5.23.3/i686-linux-64int'
 archname64='64int'
 archname='i686-linux-64int'
 archobjs=''
@@ -813,7 +813,7 @@ incpath=''
 incpth='/usr/lib/gcc/i586-suse-linux/4.8/include /usr/local/include /usr/lib/gcc/i586-suse-linux/4.8/include-fixed /usr/lib/gcc/i586-suse-linux/4.8/../../../../i586-suse-linux/include /usr/include'
 inews=''
 initialinstalllocation='/pro/bin'
-installarchlib='/pro/lib/perl5/5.23.2/i686-linux-64int'
+installarchlib='/pro/lib/perl5/5.23.3/i686-linux-64int'
 installbin='/pro/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -821,13 +821,13 @@ installman1dir='/pro/local/man/man1'
 installman3dir='/pro/local/man/man3'
 installprefix='/pro'
 installprefixexp='/pro'
-installprivlib='/pro/lib/perl5/5.23.2'
+installprivlib='/pro/lib/perl5/5.23.3'
 installscript='/pro/bin'
-installsitearch='/pro/lib/perl5/site_perl/5.23.2/i686-linux-64int'
+installsitearch='/pro/lib/perl5/site_perl/5.23.3/i686-linux-64int'
 installsitebin='/pro/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='/pro/lib/perl5/site_perl/5.23.2'
+installsitelib='/pro/lib/perl5/site_perl/5.23.3'
 installsiteman1dir='/pro/local/man/man1'
 installsiteman3dir='/pro/local/man/man3'
 installsitescript='/pro/bin'
@@ -953,7 +953,7 @@ perl_patchlevel=''
 perl_static_inline='static __inline__'
 perladmin='hmbrand@cpan.org'
 perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
-perlpath='/pro/bin/perl5.23.2'
+perlpath='/pro/bin/perl5.23.3'
 pg='pg'
 phostname='hostname'
 pidtype='pid_t'
@@ -962,8 +962,8 @@ pmake=''
 pr=''
 prefix='/pro'
 prefixexp='/pro'
-privlib='/pro/lib/perl5/5.23.2'
-privlibexp='/pro/lib/perl5/5.23.2'
+privlib='/pro/lib/perl5/5.23.3'
+privlibexp='/pro/lib/perl5/5.23.3'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -1029,17 +1029,17 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 6, 17, 29, 31, 0'
 sig_size='69'
 signal_t='void'
-sitearch='/pro/lib/perl5/site_perl/5.23.2/i686-linux-64int'
-sitearchexp='/pro/lib/perl5/site_perl/5.23.2/i686-linux-64int'
+sitearch='/pro/lib/perl5/site_perl/5.23.3/i686-linux-64int'
+sitearchexp='/pro/lib/perl5/site_perl/5.23.3/i686-linux-64int'
 sitebin='/pro/bin'
 sitebinexp='/pro/bin'
 sitehtml1dir=''
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/pro/lib/perl5/site_perl/5.23.2'
+sitelib='/pro/lib/perl5/site_perl/5.23.3'
 sitelib_stem='/pro/lib/perl5/site_perl'
-sitelibexp='/pro/lib/perl5/site_perl/5.23.2'
+sitelibexp='/pro/lib/perl5/site_perl/5.23.3'
 siteman1dir='/pro/local/man/man1'
 siteman1direxp='/pro/local/man/man1'
 siteman3dir='/pro/local/man/man3'
@@ -1065,7 +1065,7 @@ src='.'
 ssizetype='ssize_t'
 st_ino_sign='1'
 st_ino_size='8'
-startperl='#!/pro/bin/perl5.23.2'
+startperl='#!/pro/bin/perl5.23.3'
 startsh='#!/bin/sh'
 static_ext=' '
 stdchar='char'
@@ -1078,7 +1078,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='2'
+subversion='3'
 sysman='/usr/share/man/man1'
 sysroot=''
 tail=''
@@ -1177,8 +1177,8 @@ vendorprefix=''
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.23.2'
-version_patchlevel_string='version 23 subversion 2'
+version='5.23.3'
+version_patchlevel_string='version 23 subversion 3'
 versiononly='define'
 vi=''
 xlibpth='/usr/lib/386 /lib/386'
@@ -1188,10 +1188,10 @@ zcat=''
 zip='zip'
 PERL_REVISION=5
 PERL_VERSION=23
-PERL_SUBVERSION=2
+PERL_SUBVERSION=3
 PERL_API_REVISION=5
 PERL_API_VERSION=23
-PERL_API_SUBVERSION=2
+PERL_API_SUBVERSION=3
 PERL_PATCHLEVEL=''
 PERL_CONFIG_SH=true
 : Variables propagated from previous config.sh file.
index b880c6c..a54caca 100644 (file)
  *     This symbol contains the ~name expanded version of ARCHLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "/pro/lib/perl5/5.23.2/i686-linux-64int-ld"            /**/
-#define ARCHLIB_EXP "/pro/lib/perl5/5.23.2/i686-linux-64int-ld"                /**/
+#define ARCHLIB "/pro/lib/perl5/5.23.3/i686-linux-64int-ld"            /**/
+#define ARCHLIB_EXP "/pro/lib/perl5/5.23.3/i686-linux-64int-ld"                /**/
 
 /* ARCHNAME:
  *     This symbol holds a string representing the architecture name.
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/pro/lib/perl5/5.23.2"                /**/
-#define PRIVLIB_EXP "/pro/lib/perl5/5.23.2"            /**/
+#define PRIVLIB "/pro/lib/perl5/5.23.3"                /**/
+#define PRIVLIB_EXP "/pro/lib/perl5/5.23.3"            /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
  *     This symbol contains the ~name expanded version of SITEARCH, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "/pro/lib/perl5/site_perl/5.23.2/i686-linux-64int-ld"         /**/
-#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.23.2/i686-linux-64int-ld"             /**/
+#define SITEARCH "/pro/lib/perl5/site_perl/5.23.3/i686-linux-64int-ld"         /**/
+#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.23.3/i686-linux-64int-ld"             /**/
 
 /* SITELIB:
  *     This symbol contains the name of the private library for this package.
  *     removed.  The elements in inc_version_list (inc_version_list.U) can
  *     be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "/pro/lib/perl5/site_perl/5.23.2"              /**/
-#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.23.2"          /**/
+#define SITELIB "/pro/lib/perl5/site_perl/5.23.3"              /**/
+#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.23.3"          /**/
 #define SITELIB_STEM "/pro/lib/perl5/site_perl"                /**/
 
 /* SSize_t:
  *     script to make sure (one hopes) that it runs with perl and not
  *     some shell.
  */
-#define STARTPERL "#!/pro/bin/perl5.23.2"              /**/
+#define STARTPERL "#!/pro/bin/perl5.23.3"              /**/
 
 /* HAS_STDIO_STREAM_ARRAY:
  *     This symbol, if defined, tells that there is an array
index fffd1b6..be3dbee 100644 (file)
@@ -17,6 +17,60 @@ Consult your favorite dictionary for details.
 
 =head1 EPIGRAPHS
 
+=head2 v5.23.2 - Blind Guardian, "Skalds and Shadows"
+
+L<Announced on 2015-08-20 by Matthew Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2015/08/msg230298.html>
+
+  Would you believe in a night like this
+  A night like this, when visions come true
+  Would you believe in a tale like this
+  A lay of bliss, praise in the old lore
+  Come to the blazing fire and
+
+  See me in the shadows
+  See me in the shadows
+  Songs I will sing
+  Of runes and rings
+  Just hand me my harp
+  This night turns into myth
+  Nothing seems real
+  You soon will feel
+  The world we live in is another skald's
+  Dream in the shadows
+  Dream in the shadows
+
+  Do you believe there is sense in it
+  Is it truth or myth?
+  They´re one in my rhymes
+  Nobody knows the meaning behind
+  The weaver's line
+  Well nobody else but the Norns can
+  See through the blazing fires of time and
+  All things will proceed as the
+  Child of the hallowed
+  Will speak to you now
+
+  See me in the shadows
+  See me in the shadows
+  Songs I will sing of tribes and kings
+  The carrion bird and the hall of the slain
+  Nothing seems real
+  You soon will feel
+  The world we live in is another skald´s
+  Dream in the shadows
+  Dream in the shadows
+
+  Do not fear for my reason
+  There's nothing to hide
+  How bitter your treason
+  How bitter the lie
+  Remember the runes and remember the light
+  All I ever want is to be at your side
+  We'll gladden the raven now I will
+  Run through the blazing fires
+  That's my choice
+  Cause things shall proceed as foreseen
+
 =head2 v5.23.1 - Elizabeth Haydon, "The Assassin King"
 
 L<Announced on 2015-07-20 by Matthew Horsfall|http://www.nntp.perl.org/group/perl.perl5.porters/2015/07/msg229413.html>
@@ -383,6 +437,98 @@ L<Announced on 2014-05-27 by Ricardo Signes|http://www.nntp.perl.org/group/perl.
   Till the work its master honour.
   Blessing comes from Heaven’s Donor.
 
+=head2 v5.20.3 - Elias Lönnrot, trans. Keith Bosley, "The Kalevala", Canto 42: Stealing the Sampo
+
+L<Announced on 2015-09-12 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/09/msg230945.html>
+
+  Steady old Väinämöinen
+  uttered a word and spoke thus:
+  'No lilting on the waters
+  and no singing on the waves!
+    Song keeps you lazy
+    tales delay rowing.
+  Precious day would pass and night
+  would overtake us midway
+    on these wide waters
+    upon these vast waves.'
+
+  The wanton Lemminkäinen
+  uttered a word and spoke thus:
+  'The time will pass anyway
+    the fair day will flee
+  and the night will come panting
+  and the twilight will steal in
+  if you don't sing while you live
+    nor hum in this world.'
+
+=head2 v5.20.3-RC2 - Anon., trans. Malcolm C. Lyons, "The Story of Abu Muhammad the Idle and the Marvels He Encountered with the Ape As Well As the Marvels of the Seas and Islands", from "Tales of the Marvellous and News of the Strange"
+
+L<Announced on 2015-08-29 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/08/msg230544.html>
+
+'I fled from Basra, sad and tearful, with no idea where I was going,
+and I was reciting these lines:
+
+  The pain of parting makes me melt away,
+  As lovers do when those they love are harsh.
+  I wonder at the patience that I showed
+  When I had lost my love, for that was wonderful.
+  Beloved, do you know that since you left,
+  I have remained confused in misery.
+
+I then heard a voice that said: "Damn you, have you no fear of
+Almighty God that you hand over a girl to an unbelieving 'ifrit?"  I
+walked for a time amongst the palm-trees until I caught sight of a
+person, whom I approached.  When I asked him who he was he said: "I
+am one of the jinn who were converted to Islam at the hands of 'Ali
+ibn Abi Talib, may God ennoble him."  "How can I get to my wife?" I
+asked him, and he said: "Wretched fellow, you had a bird which you
+allowed to fly away and now you want to fly after it."  But he
+added: "Follow this road with God's blessing all night until dawn
+and then by the shore you will see a huge cave in which there is an
+idol made of white stone.  You must drink of the water that there is
+coming out of the cave and smear your face with its mud.  Stay there
+and a barge will pass you as you stand opposite the statue.  Various
+different creatures will emerge, heads without bodies and bodies
+without heads, and they will prostrate themselves in adoration to
+the idol rather than to Almighty God.  When you see that, embark on
+the barge and cross to the other bank and walk along it until
+sunset.  On a high point you will see a castle built of bricks of
+gold and silver.  That is where your 'ifrit will be.  I have now
+told you about this, so goodbye."
+
+=head2 v5.20.3-RC1 - Anon., trans. Malcolm C. Lyons, "The Story of Abu Muhammad the Idle and the Marvels He Encountered with the Ape As Well As the Marvels of the Seas and Islands", from "Tales of the Marvellous and News of the Strange"
+
+L<Announced on 2015-08-22 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/08/msg230359.html>
+
+'On the night of the wedding the ape came to sit in front of me and
+asked me what I intended to do.  "Whatever you tell me," I replied,
+and he said: "Take care not to covet the girl, or I shall come back
+and burn you up and leave you as a lesson for those who can learn."
+I agreed to this and when evening came I found the world full of
+candles and torches burning in holders of gold and silver.  There
+were servants and serving girls, and everyone who saw me
+congratulated me on my good fortune, as there was no girl on the
+face of the earth more beautiful than my bride.
+[...]
+'Next morning I went out to the market, and people went in and asked
+her how the night had been.  "He never looked up at me," she told
+them.  Then, when it was afternoon, I went to my house, where the
+ape was sitting by the door.  "Tell me what you did," it said, and I
+told it: "By God, I did not learn and do not know whether this was a
+man or a girl."  "That's what I want," it said.
+[...]
+'On the second night my bride was brought to me, after which the
+servants left her and went away.  She fell asleep, and, while she
+was sleeping, I killed the cock, wrapped it in the cloth and put the
+four poles from the couch over it.  Suddenly there was a huge crash
+like a peal of thunder and a fiery 'ifrit swooped on the girl.  I
+fainted at the sight and when I recovered I heard a voice saying:
+"By the Lord of the Ka'ba, the girl has been carried off!" and there
+was a sound like the rustling of wind and bitter weeping.  At this I
+shed tears, struck my head and was filled with regret when it was no
+longer of any use, for to me the whole world was worth no more than
+a bean.
+
 =head2 v5.20.2 - Jonathan "Jonti" Picking, L<"Magical Trevor"|http://www.weebls-stuff.com/other-toons/video/magical-trevor.html>
 
 L<Announced on 2015-02-14 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2015/02/msg225777.html>
index 8ac9e75..fc7e1de 100644 (file)
@@ -378,7 +378,7 @@ here.
 
 XXX Generate this with:
 
-  perl Porting/acknowledgements.pl v5.23.2..HEAD
+  perl Porting/acknowledgements.pl v5.23.3..HEAD
 
 =head1 Reporting Bugs
 
index 016a4c5..0d837bf 100644 (file)
@@ -26,6 +26,7 @@ if (ord("A") == 193) {
             vms => 'vms/descrip_mms.template',
             nmake => 'win32/Makefile',
             dmake => 'win32/makefile.mk',
+            gmake => 'win32/GNUmakefile',
             podmak => 'win32/pod.mak',
             unix => 'Makefile.SH',
             # plan9 =>  'plan9/mkfile',
@@ -164,6 +165,7 @@ sub do_nmake {
 
 # shut up used only once warning
 *do_dmake = *do_dmake = \&do_nmake;
+*do_gmake = *do_gmake = \&do_nmake;
 
 sub do_podmak {
     my ($name, $body) = @_;
index 55b50bb..c13d3fb 100644 (file)
@@ -413,13 +413,13 @@ to guarantee binary compatibility in maint branches.
 After editing, regenerate uconfig.h (this must be run on a system with a
 /bin/sh available):
 
   $ perl regen/uconfig_h.pl
+ $ perl regen/uconfig_h.pl
 
 This might not cause any new changes.
 
 You may also need to regen opcodes:
 
   $ ./perl -Ilib regen/opcode.pl
+ $ ./perl -Ilib regen/opcode.pl
 
 You may have to add stub entries in C<%Module::CoreList::version>,
 C<%Module::CoreList::deprecated> and C<%Module::CoreList::Utils::delta>.
@@ -427,18 +427,18 @@ If so, you must up their version numbers as well.
 
 Test your changes:
 
   $ git clean -xdf   # careful if you don't have local files to keep!
   $ ./Configure -des -Dusedevel
   $ make
   $ make test
+ $ git clean -xdf   # careful if you don't have local files to keep!
+ $ ./Configure -des -Dusedevel
+ $ make
+ $ make test
 
 Commit your changes:
 
   $ git status
   $ git diff
   B<review the delta carefully>
+ $ git status
+ $ git diff
+ B<review the delta carefully>
 
   $ git commit -a -m 'Bump the perl version in various places for 5.x.y'
+ $ git commit -a -m 'Bump the perl version in various places for 5.x.y'
 
 At this point you may want to compare the commit with a previous bump to
 see if they look similar.  See commit f7cf42bb69 for an example of a
@@ -846,7 +846,7 @@ directory, they will still identify themselves using git tags and
 commits. (Note that for an odd-numbered version, perl will install
 itself as C<perl5.x.y>). C<perl -v> will identify itself as:
 
   This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef))
+ This is perl 5, version X, subversion Y (v5.X.Y (v5.X.Z-NNN-gdeadbeef))
 
 where 5.X.Z is the latest tag, NNN the number of commits since this tag,
 and C<< deadbeef >> commit of that tag.
@@ -885,14 +885,14 @@ L<http://tukaani.org/xz/>.
 Create a tarball. Use the C<-s> option to specify a suitable suffix for
 the tarball and directory name:
 
   $ cd root/of/perl/tree
   $ make distclean       # make sure distclean works
   $ git clean -xdf       # make sure perl and git agree on files
-                           # git clean should not output anything!
   $ git status           # and there's nothing lying around
+ $ cd root/of/perl/tree
+ $ make distclean       # make sure distclean works
+ $ git clean -xdf       # make sure perl and git agree on files
+                        # git clean should not output anything!
+ $ git status           # and there's nothing lying around
 
   $ perl Porting/makerel -bx -s RC1            # for a release candidate
   $ perl Porting/makerel -bx                   # for the release itself
+ $ perl Porting/makerel -bx -s RC1            # for a release candidate
+ $ perl Porting/makerel -bx                   # for the release itself
 
 This creates the  directory F<../perl-x.y.z-RC1> or similar, copies all
 the MANIFEST files into it, sets the correct permissions on them, then
@@ -940,9 +940,9 @@ Check that basic configuration and tests work on each test machine:
 
 Check that the test harness and install work on each test machine:
 
   $ make distclean
   $ ./Configure -des -Dprefix=/install/path && make all test_harness install
   $ cd /install/path
+ $ make distclean
+ $ ./Configure -des -Dprefix=/install/path && make all test_harness install
+ $ cd /install/path
 
 =head4 Check C<perl -v> and C<perl -V>
 
@@ -1317,9 +1317,9 @@ I<You MUST SKIP this step for RC, BLEAD-POINT>
 
 Copy the perldelta.pod for this release into blead; for example:
 
   $ cd ..../blead
   $ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod  # for example
   $ git add pod/perl5101delta.pod
+ $ cd ..../blead
$ cp -i ../5.10.x/pod/perldelta.pod pod/perl5101delta.pod  #for example
+ $ git add pod/perl5101delta.pod
 
 Don't forget to set the NAME correctly in the new file (e.g. perl5101delta
 rather than perldelta).
@@ -1423,8 +1423,8 @@ test_porting makefile target to check that they're ok.
 
 Run
 
   $ ./perl -Ilib -MModule::CoreList \
-        -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"'
+ $ ./perl -Ilib -MModule::CoreList \
+    -le 'print Module::CoreList->find_version($]) ? "ok" : "not ok"'
 
 and check that it outputs "ok" to prove that Module::CoreList now knows
 about blead's current version.
index dfe2d18..2c2b847 100644 (file)
@@ -23,7 +23,7 @@ Code freezes (which happen in the 5.23.X series)
 =head2 Perl 5.22
 
   2015-06-01  5.22.0 ✓        Ricardo Signes
-  2015-09-??  5.22.1          Steve Hay
+  2015-10-??  5.22.1          Steve Hay
   2016-??-??  5.22.2          Steve Hay
   2016-??-??  5.22.3          ??
 
@@ -32,7 +32,7 @@ Code freezes (which happen in the 5.23.X series)
   2014-05-27  5.20.0 ✓        Ricardo Signes
   2014-09-14  5.20.1 ✓        Steve Hay
   2015-02-14  5.20.2 ✓        Steve Hay
-  2015-07-??  5.20.3          Steve Hay
+  2015-09-12  5.20.3 ✓        Steve Hay
   2016-??-??  5.20.4          ??
 
 =head1 DEVELOPMENT RELEASE SCHEDULE
@@ -53,11 +53,11 @@ you should reset the version numbers to the next blead series.
 
   2015-06-20  5.23.0 ✓        Ricardo Signes
   2015-07-20  5.23.1 ✓        Matthew Horsfall
-  2015-08-20  5.23.2          ?
-  2015-09-20  5.23.3          ?
+  2015-08-20  5.23.2 ✓        Matthew Horsfall
+  2015-09-20  5.23.3          Peter Martini
   2015-10-20  5.23.4          Steve Hay
   2015-11-20  5.23.5          Abigail
-  2015-12-20  5.23.6          ?
+  2015-12-20  5.23.6          David Golden
 
 (RC0 for 5.24.0 will be released once we think that all the blockers have been
 addressed.  This typically means some time in April or May.)
index 1ed467f..b23764b 100644 (file)
@@ -267,7 +267,7 @@ do a normal C<Configure>, but include Devel::Cover as a module to install
 
 =item *
 
   cd t; HARNESS_PERL_SWITCHES=-MDevel::Cover ./perl -I../lib harness
+ cd t; HARNESS_PERL_SWITCHES=-MDevel::Cover ./perl -I../lib harness
 
 =item *
 
@@ -467,7 +467,7 @@ Natively 64-bit systems need neither -Duse64bitint nor -Duse64bitall.
 On these systems, it might be the default compilation mode, and there
 is currently no guarantee that passing no use64bitall option to the
 Configure process will build a 32bit perl. Implementing -Duse32bit*
-options would be nice for perl 5.23.2.
+options would be nice for perl 5.23.3.
 
 =head2 Profile Perl - am I hot or not?
 
@@ -549,8 +549,8 @@ Maybe create a utility that checks after each libperl.a creation that
 none of the above (nor sprintf(), vsprintf(), or *SHUDDER* gets())
 ever creep back to libperl.a.
 
 nm libperl.a | ./miniperl -alne '$o = $F[0] if /:$/;
-    print "$o $F[1]" if $F[0] eq "U" && $F[1] =~ /^(?:strn?c(?:at|py)|v?sprintf|gets)$/'
+ nm libperl.a | ./miniperl -alne '$o = $F[0] if /:$/;
+   print "$o $F[1]" if $F[0] eq "U" && $F[1] =~ /^(?:strn?c(?:at|py)|v?sprintf|gets)$/'
 
 Note, of course, that this will only tell whether B<your> platform
 is using those naughty interfaces.
@@ -793,11 +793,11 @@ extended.
 
 Change 25773 notes
 
   /* Need to check SvMAGICAL, as during global destruction it may be that
-       AvARYLEN(av) has been freed before av, and hence the SvANY() pointer
-       is now part of the linked list of SV heads, rather than pointing to
-       the original body.  */
   /* FIXME - audit the code for other bugs like this one.  */
+ /* Need to check SvMAGICAL, as during global destruction it may be that
+    AvARYLEN(av) has been freed before av, and hence the SvANY() pointer
+    is now part of the linked list of SV heads, rather than pointing to
+    the original body.  */
+ /* FIXME - audit the code for other bugs like this one.  */
 
 adding the C<SvMAGICAL> check to
 
@@ -1105,8 +1105,8 @@ most common and the most confusing). Ideally this code
 
 would produce this output
 
   Use of uninitialized value $undef in addition (+) at wrong.pl line 4.
   Use of uninitialized value $undef in addition (+) at wrong.pl line 7.
+ Use of uninitialized value $undef in addition (+) at wrong.pl line 4.
+ Use of uninitialized value $undef in addition (+) at wrong.pl line 7.
 
 (rather than lines 4 and 5), but this would seem to require every OP to carry
 (at least) line number information.
@@ -1169,7 +1169,7 @@ L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-01/msg00339.html>
 =head1 Big projects
 
 Tasks that will get your name mentioned in the description of the "Highlights
-of 5.23.2"
+of 5.23.3"
 
 =head2 make ithreads more robust
 
index 16409c2..2b02db9 100644 (file)
@@ -75,26 +75,26 @@ at least gdbm-devel-1.8.3-5 (or higher).
 
 =head2 Perl 5 was successfully compiled and tested on:
 
   Perl   | AIX Level           | Compiler Level          | w th | w/o th
   -------+---------------------+-------------------------+------+-------
   5.12.2 |5.1 TL9 32 bit       | XL C/C++ V7             | OK   | OK
   5.12.2 |5.1 TL9 64 bit       | XL C/C++ V7             | OK   | OK
   5.12.2 |5.2 TL10 SP8 32 bit  | XL C/C++ V8             | OK   | OK
   5.12.2 |5.2 TL10 SP8 32 bit  | gcc 3.2.2               | OK   | OK
   5.12.2 |5.2 TL10 SP8 64 bit  | XL C/C++ V8             | OK   | OK
   5.12.2 |5.3 TL8 SP8 32 bit   | XL C/C++ V9 + IZ35785   | OK   | OK
   5.12.2 |5.3 TL8 SP8 32 bit   | gcc 4.2.4               | OK   | OK
   5.12.2 |5.3 TL8 SP8 64 bit   | XL C/C++ V9 + IZ35785   | OK   | OK
   5.12.2 |5.3 TL10 SP3 32 bit  | XL C/C++ V11 + Apr 2010 | OK   | OK
   5.12.2 |5.3 TL10 SP3 64 bit  | XL C/C++ V11 + Apr 2010 | OK   | OK
   5.12.2 |6.1 TL1 SP7 32 bit   | XL C/C++ V10            | OK   | OK
   5.12.2 |6.1 TL1 SP7 64 bit   | XL C/C++ V10            | OK   | OK
   5.13   |7.1 TL0 SP1 32 bit   | XL C/C++ V11 + Jul 2010 | OK   | OK
   5.13   |7.1 TL0 SP1 64 bit   | XL C/C++ V11 + Jul 2010 | OK   | OK
-
   w th   = with thread support
   w/o th = without thread support
   OK     = tested
+ Perl   | AIX Level           | Compiler Level          | w th | w/o th
+ -------+---------------------+-------------------------+------+-------
+ 5.12.2 |5.1 TL9 32 bit       | XL C/C++ V7             | OK   | OK
+ 5.12.2 |5.1 TL9 64 bit       | XL C/C++ V7             | OK   | OK
+ 5.12.2 |5.2 TL10 SP8 32 bit  | XL C/C++ V8             | OK   | OK
+ 5.12.2 |5.2 TL10 SP8 32 bit  | gcc 3.2.2               | OK   | OK
+ 5.12.2 |5.2 TL10 SP8 64 bit  | XL C/C++ V8             | OK   | OK
+ 5.12.2 |5.3 TL8 SP8 32 bit   | XL C/C++ V9 + IZ35785   | OK   | OK
+ 5.12.2 |5.3 TL8 SP8 32 bit   | gcc 4.2.4               | OK   | OK
+ 5.12.2 |5.3 TL8 SP8 64 bit   | XL C/C++ V9 + IZ35785   | OK   | OK
+ 5.12.2 |5.3 TL10 SP3 32 bit  | XL C/C++ V11 + Apr 2010 | OK   | OK
+ 5.12.2 |5.3 TL10 SP3 64 bit  | XL C/C++ V11 + Apr 2010 | OK   | OK
+ 5.12.2 |6.1 TL1 SP7 32 bit   | XL C/C++ V10            | OK   | OK
+ 5.12.2 |6.1 TL1 SP7 64 bit   | XL C/C++ V10            | OK   | OK
+ 5.13   |7.1 TL0 SP1 32 bit   | XL C/C++ V11 + Jul 2010 | OK   | OK
+ 5.13   |7.1 TL0 SP1 64 bit   | XL C/C++ V11 + Jul 2010 | OK   | OK
+
+ w th   = with thread support
+ w/o th = without thread support
+ OK     = tested
 
 Successfully tested means that all "make test" runs finish with a
 result of 100% OK. All tests were conducted with -Duseshrplib set.
@@ -210,31 +210,31 @@ IBM AIX system Perl installation.
 With the following options you get a threaded Perl version which
 passes all make tests in 64-bit mode.
 
   export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
+ export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
 
   rm config.sh
   ./Configure \
   -d \
   -Dcc=cc_r \
   -Duseshrplib \
   -Dusethreads \
   -Duse64bitall \
   -Dprefix=/usr/opt/perl5_64
+ rm config.sh
+ ./Configure \
+ -d \
+ -Dcc=cc_r \
+ -Duseshrplib \
+ -Dusethreads \
+ -Duse64bitall \
+ -Dprefix=/usr/opt/perl5_64
 
 =head2 Recommended Options AIX 5.1/5.2/5.3/6.1 and 7.1 (64-bit)
 
 With the following options you get a Perl version which passes all
 make tests in 64-bit mode. 
 
   export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
+ export OBJECT_MODE=64 / setenv OBJECT_MODE 64 (depending on your shell)
 
   rm config.sh
   ./Configure \
   -d \
   -Dcc=cc_r \
   -Duseshrplib \
   -Duse64bitall \
   -Dprefix=/usr/opt/perl5_64
+ rm config.sh
+ ./Configure \
+ -d \
+ -Dcc=cc_r \
+ -Duseshrplib \
+ -Duse64bitall \
+ -Dprefix=/usr/opt/perl5_64
 
 The -Dprefix option will install Perl in a directory parallel to the
 IBM AIX system Perl installation.
@@ -357,7 +357,8 @@ in the developer snapshots of Perl), or to one version up where the
 cumulative.
 
  vac.C.4.4.0.1 => vac.C.4.4.0.3  is OK     (vac.C.4.4.0.2 not needed)
- xlC.C.3.1.3.3 => xlC.C.3.1.4.10 is NOT OK (xlC.C.3.1.4.0 is not available)
+ xlC.C.3.1.3.3 => xlC.C.3.1.4.10 is NOT OK (xlC.C.3.1.4.0 is not
+                                                              available)
 
  # ftp ftp.software.ibm.com
  Connected to service.boulder.ibm.com.
@@ -389,16 +390,16 @@ On AIX 4.2 using xlC, we continue:
    xlC.C                     3.1.4.9  COMMITTED  C for AIX Compiler
    xlC.C                     3.1.4.0  COMMITTED  C for AIX Compiler
  # grep 'xlC.C.3.1.4.*.bff' xlc.ll
- -rw-r--r--   1 45776101 1        6286336 Jul 22 1996  xlC.C.3.1.4.1.bff
- -rw-rw-r--   1 45776101 1        6173696 Aug 24 1998  xlC.C.3.1.4.10.bff
- -rw-r--r--   1 45776101 1        6319104 Aug 14 1996  xlC.C.3.1.4.2.bff
- -rw-r--r--   1 45776101 1        6316032 Oct 21 1996  xlC.C.3.1.4.3.bff
- -rw-r--r--   1 45776101 1        6315008 Dec 20 1996  xlC.C.3.1.4.4.bff
- -rw-rw-r--   1 45776101 1        6178816 Mar 28 1997  xlC.C.3.1.4.5.bff
- -rw-rw-r--   1 45776101 1        6188032 May 22 1997  xlC.C.3.1.4.6.bff
- -rw-rw-r--   1 45776101 1        6191104 Sep  5 1997  xlC.C.3.1.4.7.bff
- -rw-rw-r--   1 45776101 1        6185984 Jan 13 1998  xlC.C.3.1.4.8.bff
- -rw-rw-r--   1 45776101 1        6169600 May 27 1998  xlC.C.3.1.4.9.bff
+ -rw-r--r--   1 45776101 1       6286336 Jul 22 1996  xlC.C.3.1.4.1.bff
+ -rw-rw-r--   1 45776101 1       6173696 Aug 24 1998  xlC.C.3.1.4.10.bff
+ -rw-r--r--   1 45776101 1       6319104 Aug 14 1996  xlC.C.3.1.4.2.bff
+ -rw-r--r--   1 45776101 1       6316032 Oct 21 1996  xlC.C.3.1.4.3.bff
+ -rw-r--r--   1 45776101 1       6315008 Dec 20 1996  xlC.C.3.1.4.4.bff
+ -rw-rw-r--   1 45776101 1       6178816 Mar 28 1997  xlC.C.3.1.4.5.bff
+ -rw-rw-r--   1 45776101 1       6188032 May 22 1997  xlC.C.3.1.4.6.bff
+ -rw-rw-r--   1 45776101 1       6191104 Sep  5 1997  xlC.C.3.1.4.7.bff
+ -rw-rw-r--   1 45776101 1       6185984 Jan 13 1998  xlC.C.3.1.4.8.bff
+ -rw-rw-r--   1 45776101 1       6169600 May 27 1998  xlC.C.3.1.4.9.bff
  # wget ftp://ftp.software.ibm.com/aix/fixes/v4/xlc/xlC.C.3.1.4.10.bff
  #
 
@@ -408,10 +409,10 @@ On AIX 4.3 using vac, we continue:
   vac.C                      5.0.2.2  COMMITTED  C for AIX Compiler
   vac.C                      5.0.2.0  COMMITTED  C for AIX Compiler
  # grep 'vac.C.5.0.2.*.bff' other.ll
- -rw-rw-r--   1 45776101 1        13592576 Apr 16 2001  vac.C.5.0.2.0.bff
- -rw-rw-r--   1 45776101 1        14133248 Apr  9 2002  vac.C.5.0.2.3.bff
- -rw-rw-r--   1 45776101 1        14173184 May 20 2002  vac.C.5.0.2.4.bff
- -rw-rw-r--   1 45776101 1        14192640 Nov 22 2002  vac.C.5.0.2.6.bff
+ -rw-rw-r--   1 45776101 1       13592576 Apr 16 2001  vac.C.5.0.2.0.bff
+ -rw-rw-r--   1 45776101 1       14133248 Apr  9 2002  vac.C.5.0.2.3.bff
+ -rw-rw-r--   1 45776101 1       14173184 May 20 2002  vac.C.5.0.2.4.bff
+ -rw-rw-r--   1 45776101 1       14192640 Nov 22 2002  vac.C.5.0.2.6.bff
  # wget ftp://ftp.software.ibm.com/aix/fixes/v4/other/vac.C.5.0.2.6.bff
  #
 
@@ -445,7 +446,8 @@ causes error like this
  ld: 0711-317 ERROR: Undefined symbol: .setresuid
  ld: 0711-317 ERROR: Undefined symbol: .setresgid
  ld: 0711-317 ERROR: Undefined symbol: .setproctitle
- ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
+ ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more
+                                                            information.
 
 you could retry with
 
index c86adef..41345c1 100644 (file)
@@ -4,275 +4,220 @@ specially designed to be readable as is.
 
 =head1 NAME
 
-perlamiga - Perl under Amiga OS
+perlamiga - Perl under AmigaOS 4.1
 
 =head1 NOTE
 
-B<Perl 5.8.0 cannot be built in AmigaOS.  You can use either the
-maintenance release Perl 5.6.1 or the development release Perl 5.7.2
-in AmigaOS.  See L</"PERL 5.8.0 BROKEN IN AMIGAOS"> if you want to help
-fixing this problem.>
+This is a port of Perl 5.22.1, it is a fresh port and not in any way
+compatible with my previous ports of Perl 5.8 and 5.16.3. This means
+you will need to reinstall / rebuild any third party modules you have
+installed.
 
-=head1 SYNOPSIS
-
-One can read this document in the following formats:
+newlib.library version 53.28 or greater is required.
 
-       man perlamiga
-       multiview perlamiga.guide
+=head1 SYNOPSIS
 
-to list some (not all may be available simultaneously), or it may
-be read I<as is>: either as F<README.amiga>, or F<pod/perlamiga.pod>.
+Once perl is installed you can read this document in the following way
 
-A recent version of perl for the Amiga can be found at the Geek Gadgets
-section of the Aminet:
+       sh -c "perldoc perlamiga"
 
-      http://www.aminet.net/~aminet/dev/gg
+or you may read I<as is>: either as F<README.amiga>, or F<pod/perlamiga.pod>.
 
 =cut
 
-Contents
- perlamiga - Perl under Amiga OS
-
-       NAME 
-       SYNOPSIS 
-       DESCRIPTION 
-         -  Prerequisites 
+       NAME
+       SYNOPSIS
+       DESCRIPTION
+         -  Prerequisites
          -  Starting Perl programs under AmigaOS
          -  Shortcomings of Perl under AmigaOS
-       INSTALLATION 
-       Accessing documentation 
-         -  Manpages 
-         -  HTML 
-         -  GNU info files 
-         -  LaTeX docs 
-       BUILD 
-         -  Build Prerequisites 
-         -  Getting the perl source 
-         -  Application of the patches 
-         -  Making 
-         -  Testing 
-         -  Installing the built perl 
-       AUTHOR 
-       SEE ALSO 
+       INSTALLATION
+       CHANGES
 
 =head1 DESCRIPTION
 
-=head2 Prerequisites for Compiling Perl on AmigaOS
+=head2 Prerequisites for running Perl 5.22.1 under AmigaOS 4.1
 
 =over 6
 
-=item B<Unix emulation for AmigaOS: ixemul.library>
-
-You need the Unix emulation for AmigaOS, whose most important part is
-B<ixemul.library>. For a minimum setup, get the latest versions
-of the following packages from the Aminet archives
-( L<http://www.aminet.net/~aminet/> ):
-
-       ixemul-bin
-       ixemul-env-bin
-       pdksh-bin
+=item B<AmigaOS 4.1 update 6 with all updates applied as of 9th October 2013>
 
-Note also that this is a minimum setup; you might want to add other
-packages of B<ADE> (the I<Amiga Developers Environment>).
+The most important of which is:
 
-=item B<Version of Amiga OS>
+=item B<newlib.library version 53.28 or greater>
 
-You need at the very least AmigaOS version 2.0. Recommended is version 3.1.
+=item B<AmigaOS SDK>
 
-=back
+Perl installs into the SDK directory structure and expects many of the
+build tools present in the SDK to be available. So for the best results
+install the SDK first.
 
-=head2 Starting Perl programs under AmigaOS
+=item B<abc-shell>
 
-Start your Perl program F<foo> with arguments C<arg1 arg2 arg3> the
-same way as on any other platform, by
+If you do not have the SDK installed you must at least have abc-shell
+installed or some other suitable sh port. This is required to run
+external commands and should be available as 'sh' in your path.
 
-       perl foo arg1 arg2 arg3
+=back
 
-If you want to specify perl options C<-my_opts> to the perl itself (as
-opposed to your program), use
+=head2 Starting Perl programs under AmigaOS 4.1
 
-       perl -my_opts foo arg1 arg2 arg3
+Perl may be run from the AmigaOS shell but for best results should be
+run under abc-shell.  (abc-shell handles file globbing, pattern
+expansion, and sets up environment variables in the UN*Xy way that
+Perl expects.)
 
-Alternately, you can try to get a replacement for the system's B<Execute>
-command that honors the #!/usr/bin/perl syntax in scripts and set the s-Bit
-of your scripts. Then you can invoke your scripts like under UNIX with
+For example:
 
-       foo arg1 arg2 arg3
+       New Shell process 10
+       10.AmigaOS4:> sh
+       /AmigaOS4>perl path:to/myprog arg1 arrg2 arg3
 
-(Note that having *nixish full path to perl F</usr/bin/perl> is not
-necessary, F<perl> would be enough, but having full path would make it
-easier to use your script under *nix.)
+Abc-shell can also launch programs via the #! syntax at the start of
+the program file, it's best use the form #!SDK:Local/C/perl so that
+the AmigaOS shell may also find perl in the same way. AmigaOS requires
+the script bit to be set for this to work
 
-=head2 Shortcomings of Perl under AmigaOS
+       10.AmigaOS4:> sh
+       /AmigaOS4>myprog arg1 arrg2 arg3
 
-Perl under AmigaOS lacks some features of perl under UNIX because of
-deficiencies in the UNIX-emulation, most notably:
+=head2 Limitations of Perl under AmigaOS 4.1
 
 =over 6
 
-=item *
+=item B<Nested Piped programs can crash when run from older abc-shells>
+
+abc-shell version 53.2 has a bug that can cause crashes in the
+subprocesses used to run piped programs, if a later version is
+available you should install it instead.
 
-fork()
+=item B<Incorrect or unexpected command line unescaping>
 
-=item * 
+newlib.library 53.30 and earlier incorrectly unescape slashed escape
+sequences e.g. \" \n \t etc requiring unusual extra escaping.
 
-some features of the UNIX filesystem regarding link count and file dates
+=item B<Starting subprocesses via open has limitations>
 
-=item *
+       open FH, "command |"
 
-inplace operation (the -i switch) without backup file
+Subprocesses started with open use a minimal popen() routine and
+therefore they do not return pids usable with waitpid etc.
 
-=item *
+=item If you find any other limitations or bugs then let me know.
 
-umask() works, but the correct permissions are only set when the file is
-finally close()d
+Please report bugs in this version of perl to andy@broad.ology.org.uk
+in the first instance.
 
 =back
 
 =head1 INSTALLATION
 
-Change to the installation directory (most probably ADE:), and
-extract the binary distribution:
-
-lha -mraxe x perl-$VERSION-bin.lha
-
-or
-
-tar xvzpf perl-$VERSION-bin.tgz
+This guide assumes you have obtained a prebuilt archive from os4depot.net.
 
-(Of course you need lha or tar and gunzip for this.)
+Unpack the main archive to a temporary location (RAM: is fine).
 
-For installation of the Unix emulation, read the appropriate docs.
+Execute the provided install script from shell or via its icon.
 
-=head1 Accessing documentation
+You B<must not> attempt to install by hand.
 
-=head2 Manpages for Perl on AmigaOS
+Once installed you may delete the temporary archive.
 
-If you have C<man> installed on your system, and you installed perl
-manpages, use something like this:
+This approach will preserve links in the installation without creating
+duplicate binaries.
 
-       man perlfunc
-       man less
-       man ExtUtils.MakeMaker
+If you have the earlier ports perl 5.16 or 5.8 installed you may like
+to rename your perl executable to perl516 or perl58 or something
+similar before the installation of 5.22.1, this will allow you to use
+both versions at the same time.
 
-to access documentation for different components of Perl. Start with
+=head1 Amiga Specific Modules
 
-       man perl
+=head2 Amiga::ARexx
 
-Note: You have to modify your man.conf file to search for manpages
-in the /ade/lib/perl5/man/man3 directory, or the man pages for the
-perl library will not be found. 
+The Amiga::ARexx module allows you to easily create a perl based ARexx
+host or to send ARexx commands to other programs.
 
-Note that dot (F<.>) is used as a package separator for documentation
-for packages, and as usual, sometimes you need to give the section - C<3>
-above - to avoid shadowing by the I<less(1) manpage>.
+Try C<perldoc Amiga::ARexx> for more info.
 
+=head2 Amiga::Exec
 
-=head2 Perl HTML Documentation on AmigaOS
+The Amiga::Exec module introduces support for Wait().
 
-If you have some WWW browser available, you can build B<HTML> docs.
-Cd to directory with F<.pod> files, and do like this
+Try C<perldoc Amiga::Exec> for more info.
 
-       cd /ade/lib/perl5/pod
-       pod2html
+=head1 BUILDING
 
-After this you can direct your browser the file F<perl.html> in this
-directory, and go ahead with reading docs.
+To build perl under AmigaOS from the patched sources you will need to
+have a recent version of the SDK. Version 53.29 is recommended,
+earlier versions will probably work too.
 
-Alternatively you may be able to get these docs prebuilt from C<CPAN>.
+With the help of Jarkko Hietaniemi the Configure system has been tweaked to
+run under abc-shell so the recommend build process is as follows.
 
-=head2 Perl GNU Info Files on AmigaOS
+       stack 2000000
+       sh Configure -de
+       gmake
 
-Users of C<Emacs> would appreciate it very much, especially with
-C<CPerl> mode loaded. You need to get latest C<pod2info> from C<CPAN>,
-or, alternately, prebuilt info pages.
+This will build the default setup that installs under SDK:local/newlib/lib/
 
-=head2 Perl LaTeX Documentation on AmigaOS
+=head1 CHANGES
 
-Can be constructed using C<pod2latex>.
-
-=head1 BUILDING PERL ON AMIGAOS
-
-Here we discuss how to build Perl under AmigaOS.
-
-=head2 Build Prerequisites for Perl on AmigaOS
-
-You need to have the latest B<ixemul> (Unix emulation for Amiga)
-from Aminet.
-
-=head2 Getting the Perl Source for AmigaOS
-
-You can either get the latest perl-for-amiga source from Ninemoons
-and extract it with:
-
-  tar xvzpf perl-$VERSION-src.tgz
+=over 6
 
-or get the official source from CPAN:
+=item B<August 2015>
 
-  http://www.cpan.org/src/5.0
+=over 2
 
-Extract it like this
+=item Port to Perl 5.22
 
-  tar xvzpf perl-$VERSION.tar.gz
+=item Add handling of NIL: to afstat()
 
-You will see a message about errors while extracting F<Configure>. This
-is normal and expected. (There is a conflict with a similarly-named file
-F<configure>, but it causes no harm.)
+=item Fix inheritance of environment variables by subprocesses.
 
-=head2 Making Perl on AmigaOS
+=item Fix exec, and exit in "forked" subprocesses.
 
-Remember to use a hefty wad of stack (I use 2000000)
+=item Fix issue with newlib's unlink, which could cause infinite loops.
 
-  sh configure.gnu --prefix=/gg
+=item Add flock() emulation using IDOS->LockRecord thanks to Tony Cook
+for the suggestion.
 
-Now type
+=item Fix issue where kill was using the wrong kind of process ID
 
-  make depend
+=back
 
-Now!
+=item B<27th November 2013>
 
-  make
+=over 2
 
-=head2 Testing Perl on AmigaOS
+=item Create new installation system based on installperl links
+and Amiga protection bits now set correctly.
 
-Now run
+=item Pod now defaults to text.
 
-  make test
+=item File::Spec should now recognise an Amiga style absolute path as well
+as an Unix style one. Relative paths must always be Unix style.
 
-Some tests will be skipped because they need the fork() function:
+=back
 
-F<io/pipe.t>, F<op/fork.t>, F<lib/filehand.t>, F<lib/open2.t>, F<lib/open3.t>, 
-F<lib/io_pipe.t>, F<lib/io_sock.t>
+=item B<20th November 2013>
 
-=head2 Installing the built Perl on AmigaOS
+=over 2
 
-Run
+=item Configured to use SDK:Local/C/perl to start standard scripts
 
-  make install
+=item Added Amiga::Exec module with support for Wait() and AmigaOS signal numbers.
 
-=head1 PERL 5.8.0 BROKEN IN AMIGAOS
+=back
 
-As told above, Perl 5.6.1 was still good in AmigaOS, as was 5.7.2.
-After Perl 5.7.2 (change #11423, see the Changes file, and the file
-pod/perlhack.pod for how to get the individual changes) Perl dropped
-its internal support for vfork(), and that was very probably the step
-that broke AmigaOS (since the ixemul library has only vfork).  
-The build finally fails when the ext/DynaLoader is being built, and
-PERL ends up as "0" in the produced Makefile, trying to run "0" does
-not quite work.  Also, executing miniperl in backticks seems to
-generate nothing: very probably related to the (v)fork problems.
-B<Fixing the breakage requires someone quite familiar with the ixemul
-library, and how one is supposed to run external commands in AmigaOS
-without fork().>
+=item B<10th October 13>
 
-=head1 AUTHORS
+First release of port to 5.16.3.
 
-Norbert Pueschel, pueschel@imsdd.meb.uni-bonn.de
-Jan-Erik Karlsson, trg@privat.utfors.se
+=back
 
 =head1 SEE ALSO
 
-perl(1).
+You like this port?  See L<http://www.broad.ology.org.uk/amiga/>
+for how you can help.
 
 =cut
index d319936..b774d9f 100644 (file)
@@ -190,9 +190,9 @@ in.  For example, CCTools installs its toolchain in
 /data/data/com.pdaxrom.cctools/root/cctools.  With the path in hand,
 compiling perl is little more than:
 
   export SYSROOT=<location of the native toolchain>
   export LD_LIBRARY_PATH="$SYSROOT/lib:`pwd`:`pwd`/lib:`pwd`/lib/auto:$LD_LIBRARY_PATH"
   sh Configure -des -Dsysroot=$SYSROOT -Alibpth="/system/lib /vendor/lib"
+ export SYSROOT=<location of the native toolchain>
+ export LD_LIBRARY_PATH="$SYSROOT/lib:`pwd`:`pwd`/lib:`pwd`/lib/auto:$LD_LIBRARY_PATH"
+ sh Configure -des -Dsysroot=$SYSROOT -Alibpth="/system/lib /vendor/lib"
 
 =head1 AUTHOR
 
index 3559f1f..bb7a6ab 100644 (file)
--- a/README.ce
+++ b/README.ce
@@ -73,11 +73,11 @@ Windows then change "C:\Program Files" to "C:\Program Files (x86)" throughout.)
 
 1. Install EVC4 from
 
-    http://download.microsoft.com/download/c/3/f/c3f8b58b-9753-4c2e-8b96-2dfe3476a2f7/eVC4.exe 
+ http://download.microsoft.com/download/c/3/f/c3f8b58b-9753-4c2e-8b96-2dfe3476a2f7/eVC4.exe
 
 Use the key mentioned at 
 
-    http://download.cnet.com/Microsoft-eMbedded-Visual-C/3000-2212_4-10108490.html?tag=bc 
+ http://download.cnet.com/Microsoft-eMbedded-Visual-C/3000-2212_4-10108490.html?tag=bc
 
 The installer is ancient and has a few bugs on the paths it uses. You 
 will have to fix them later. Basically, some things go into "C:/Program 
@@ -101,7 +101,7 @@ Mobile/WinCE are backwards compatible with machine code like Desktop Windows.
 
 3. Download console-1.3-src.tar.gz from 
 
-    http://sourceforge.net/projects/perlce/files/PerlCE%20support%20files/console/ 
+ http://sourceforge.net/projects/perlce/files/PerlCE%20support%20files/console/
 
 Extract it to a spaceless path but not into the perl build source. 
 Don't extract it into the same directory as celib. Make a copy of the 
index 691da50..388dc1a 100644 (file)
@@ -553,188 +553,188 @@ be kept as clean as possible.
 
 =item Documentation
 
 INSTALL README.cygwin README.win32 MANIFEST
 pod/perl.pod pod/perlport.pod pod/perlfaq3.pod
 pod/perldelta.pod pod/perl5004delta.pod pod/perl56delta.pod
 pod/perl561delta.pod pod/perl570delta.pod pod/perl572delta.pod
 pod/perl573delta.pod pod/perl58delta.pod pod/perl581delta.pod
 pod/perl590delta.pod pod/perlhist.pod pod/perlmodlib.pod
 pod/perltoc.pod Porting/Glossary pod/perlgit.pod
 Porting/checkAUTHORS.pl
 dist/Cwd/Changes ext/Compress-Raw-Zlib/Changes
 ext/Compress-Raw-Zlib/README ext/Compress-Zlib/Changes
 ext/DB_File/Changes ext/Encode/Changes ext/Sys-Syslog/Changes
 ext/Time-HiRes/Changes ext/Win32API-File/Changes
 lib/ExtUtils/CBuilder/Changes lib/ExtUtils/Changes lib/ExtUtils/NOTES
 lib/ExtUtils/PATCHING lib/ExtUtils/README
 lib/Net/Ping/Changes lib/Test/Harness/Changes
 lib/Term/ANSIColor/ChangeLog lib/Term/ANSIColor/README README.symbian
 symbian/TODO
+ INSTALL README.cygwin README.win32 MANIFEST
+ pod/perl.pod pod/perlport.pod pod/perlfaq3.pod
+ pod/perldelta.pod pod/perl5004delta.pod pod/perl56delta.pod
+ pod/perl561delta.pod pod/perl570delta.pod pod/perl572delta.pod
+ pod/perl573delta.pod pod/perl58delta.pod pod/perl581delta.pod
+ pod/perl590delta.pod pod/perlhist.pod pod/perlmodlib.pod
+ pod/perltoc.pod Porting/Glossary pod/perlgit.pod
+ Porting/checkAUTHORS.pl
+ dist/Cwd/Changes ext/Compress-Raw-Zlib/Changes
+ ext/Compress-Raw-Zlib/README ext/Compress-Zlib/Changes
+ ext/DB_File/Changes ext/Encode/Changes ext/Sys-Syslog/Changes
+ ext/Time-HiRes/Changes ext/Win32API-File/Changes
+ lib/ExtUtils/CBuilder/Changes lib/ExtUtils/Changes lib/ExtUtils/NOTES
+ lib/ExtUtils/PATCHING lib/ExtUtils/README
+ lib/Net/Ping/Changes lib/Test/Harness/Changes
+ lib/Term/ANSIColor/ChangeLog lib/Term/ANSIColor/README README.symbian
+ symbian/TODO
 
 =item Build, Configure, Make, Install
 
 cygwin/Makefile.SHs
 ext/IPC/SysV/hints/cygwin.pl
 ext/NDBM_File/hints/cygwin.pl
 ext/ODBM_File/hints/cygwin.pl
 hints/cygwin.sh
 Configure             - help finding hints from uname,
-                          shared libperl required for dynamic loading
 Makefile.SH Cross/Makefile-cross-SH
-                        - linklibperl
 Porting/patchls       - cygwin in port list
 installman            - man pages with :: translated to .
 installperl           - install dll, install to 'pods'
 makedepend.SH         - uwinfix
 regen_lib.pl          - file permissions
-
 NetWare/Makefile
 plan9/mkfile
 symbian/sanity.pl symbian/sisify.pl
 hints/uwin.sh
 vms/descrip_mms.template
 win32/Makefile win32/makefile.mk
+ cygwin/Makefile.SHs
+ ext/IPC/SysV/hints/cygwin.pl
+ ext/NDBM_File/hints/cygwin.pl
+ ext/ODBM_File/hints/cygwin.pl
+ hints/cygwin.sh
+ Configure             - help finding hints from uname,
+                         shared libperl required for dynamic loading
+ Makefile.SH Cross/Makefile-cross-SH
+                       - linklibperl
+ Porting/patchls       - cygwin in port list
+ installman            - man pages with :: translated to .
+ installperl           - install dll, install to 'pods'
+ makedepend.SH         - uwinfix
+ regen_lib.pl          - file permissions
+
+ NetWare/Makefile
+ plan9/mkfile
+ symbian/sanity.pl symbian/sisify.pl
+ hints/uwin.sh
+ vms/descrip_mms.template
+ win32/Makefile win32/makefile.mk
 
 =item Tests
 
 t/io/fs.t             - no file mode checks if not ntsec
-                          skip rename() check when not check_case:relaxed
 t/io/tell.t           - binmode
 t/lib/cygwin.t        - builtin cygwin function tests
 t/op/groups.t         - basegroup has ID = 0
 t/op/magic.t          - $^X/symlink WORKAROUND, s/.exe//
 t/op/stat.t           - no /dev, skip Win32 ftCreationTime quirk
-                          (cache manager sometimes preserves ctime of file
-                          previously created and deleted), no -u (setuid)
 t/op/taint.t          - can't use empty path under Cygwin Perl
 t/op/time.t           - no tzset()
+ t/io/fs.t             - no file mode checks if not ntsec
+                         skip rename() check when not check_case:relaxed
+ t/io/tell.t           - binmode
+ t/lib/cygwin.t        - builtin cygwin function tests
+ t/op/groups.t         - basegroup has ID = 0
+ t/op/magic.t          - $^X/symlink WORKAROUND, s/.exe//
+ t/op/stat.t           - no /dev, skip Win32 ftCreationTime quirk
+                         (cache manager sometimes preserves ctime of file
+                         previously created and deleted), no -u (setuid)
+ t/op/taint.t          - can't use empty path under Cygwin Perl
+ t/op/time.t           - no tzset()
 
 =item Compiled Perl Source
 
 EXTERN.h              - __declspec(dllimport)
 XSUB.h                - __declspec(dllexport)
 cygwin/cygwin.c       - os_extras (getcwd, spawn, and several Cygwin:: functions)
 perl.c                - os_extras, -i.bak
 perl.h                - binmode
 doio.c                - win9x can not rename a file when it is open
 pp_sys.c              - do not define h_errno, init _pwent_struct.pw_comment
 util.c                - use setenv
 util.h                - PERL_FILE_IS_ABSOLUTE macro
 pp.c                  - Comment about Posix vs IEEE math under Cygwin
 perlio.c              - CR/LF mode
 perliol.c             - Comment about EXTCONST under Cygwin
+ EXTERN.h              - __declspec(dllimport)
+ XSUB.h                - __declspec(dllexport)
+ cygwin/cygwin.c       - os_extras (getcwd, spawn, and several Cygwin:: functions)
+ perl.c                - os_extras, -i.bak
+ perl.h                - binmode
+ doio.c                - win9x can not rename a file when it is open
+ pp_sys.c              - do not define h_errno, init _pwent_struct.pw_comment
+ util.c                - use setenv
+ util.h                - PERL_FILE_IS_ABSOLUTE macro
+ pp.c                  - Comment about Posix vs IEEE math under Cygwin
+ perlio.c              - CR/LF mode
+ perliol.c             - Comment about EXTCONST under Cygwin
 
 =item Compiled Module Source
 
 ext/Compress-Raw-Zlib/Makefile.PL
-                        - Can't install via CPAN shell under Cygwin
 ext/Compress-Raw-Zlib/zlib-src/zutil.h
-                        - Cygwin is Unix-like and has vsnprintf
 ext/Errno/Errno_pm.PL - Special handling for Win32 Perl under Cygwin
 ext/POSIX/POSIX.xs    - tzname defined externally
 ext/SDBM_File/sdbm/pair.c
-                        - EXTCONST needs to be redefined from EXTERN.h
 ext/SDBM_File/sdbm/sdbm.c
-                        - binary open
 ext/Sys/Syslog/Syslog.xs
-                        - Cygwin has syslog.h
 ext/Sys/Syslog/win32/compile.pl
-                        - Convert paths to Windows paths
 ext/Time-HiRes/HiRes.xs
-                        - Various timers not available
 ext/Time-HiRes/Makefile.PL
-                        - Find w32api/windows.h
 ext/Win32/Makefile.PL - Use various libraries under Cygwin
 ext/Win32/Win32.xs    - Child dir and child env under Cygwin
 ext/Win32API-File/File.xs
-                        - _open_osfhandle not implemented under Cygwin
 ext/Win32CORE/Win32CORE.c
-                        - __declspec(dllexport)
+ ext/Compress-Raw-Zlib/Makefile.PL
+                       - Can't install via CPAN shell under Cygwin
+ ext/Compress-Raw-Zlib/zlib-src/zutil.h
+                       - Cygwin is Unix-like and has vsnprintf
+ ext/Errno/Errno_pm.PL - Special handling for Win32 Perl under Cygwin
+ ext/POSIX/POSIX.xs    - tzname defined externally
+ ext/SDBM_File/sdbm/pair.c
+                       - EXTCONST needs to be redefined from EXTERN.h
+ ext/SDBM_File/sdbm/sdbm.c
+                       - binary open
+ ext/Sys/Syslog/Syslog.xs
+                       - Cygwin has syslog.h
+ ext/Sys/Syslog/win32/compile.pl
+                       - Convert paths to Windows paths
+ ext/Time-HiRes/HiRes.xs
+                       - Various timers not available
+ ext/Time-HiRes/Makefile.PL
+                       - Find w32api/windows.h
+ ext/Win32/Makefile.PL - Use various libraries under Cygwin
+ ext/Win32/Win32.xs    - Child dir and child env under Cygwin
+ ext/Win32API-File/File.xs
+                       - _open_osfhandle not implemented under Cygwin
+ ext/Win32CORE/Win32CORE.c
+                       - __declspec(dllexport)
 
 =item Perl Modules/Scripts
 
 ext/B/t/OptreeCheck.pm - Comment about stderr/stdout order under Cygwin
 ext/Digest-SHA/bin/shasum
-                        - Use binary mode under Cygwin
 ext/Sys/Syslog/win32/Win32.pm
-                        - Convert paths to Windows paths
 ext/Time-HiRes/HiRes.pm
-                        - Comment about various timers not available
 ext/Win32API-File/File.pm
-                        - _open_osfhandle not implemented under Cygwin
 ext/Win32CORE/Win32CORE.pm
-                        - History of Win32CORE under Cygwin
 lib/Cwd.pm            - hook to internal Cwd::cwd
 lib/ExtUtils/CBuilder/Platform/cygwin.pm
-                        - use gcc for ld, and link to libperl.dll.a
 lib/ExtUtils/CBuilder.pm
-                        - Cygwin is Unix-like
 lib/ExtUtils/Install.pm - Install and rename issues under Cygwin
 lib/ExtUtils/MM.pm    - OS classifications
 lib/ExtUtils/MM_Any.pm - Example for Cygwin
 lib/ExtUtils/MakeMaker.pm
-                        - require MM_Cygwin.pm
 lib/ExtUtils/MM_Cygwin.pm
-                        - canonpath, cflags, manifypods, perl_archive
 lib/File/Fetch.pm     - Comment about quotes using a Cygwin example
 lib/File/Find.pm      - on remote drives stat() always sets st_nlink to 1
 lib/File/Spec/Cygwin.pm - case_tolerant
 lib/File/Spec/Unix.pm - preserve //unc
 lib/File/Spec/Win32.pm - References a message on cygwin.com
 lib/File/Spec.pm      - Pulls in lib/File/Spec/Cygwin.pm
 lib/File/Temp.pm      - no directory sticky bit
 lib/Module/CoreList.pm - List of all module files and versions
 lib/Net/Domain.pm     - No domainname command under Cygwin
 lib/Net/Netrc.pm      - Bypass using stat() under Cygwin
 lib/Net/Ping.pm       - ECONREFUSED is EAGAIN under Cygwin
 lib/Pod/Find.pm       - Set 'pods' dir
 lib/Pod/Perldoc/ToMan.pm - '-c' switch for pod2man
 lib/Pod/Perldoc.pm    - Use 'less' pager, and use .exe extension
 lib/Term/ANSIColor.pm - Cygwin terminal info
 lib/perl5db.pl        - use stdin not /dev/tty
 utils/perlbug.PL      - Add CYGWIN environment variable to report
+ ext/B/t/OptreeCheck.pm - Comment about stderr/stdout order under Cygwin
+ ext/Digest-SHA/bin/shasum
+                       - Use binary mode under Cygwin
+ ext/Sys/Syslog/win32/Win32.pm
+                       - Convert paths to Windows paths
+ ext/Time-HiRes/HiRes.pm
+                       - Comment about various timers not available
+ ext/Win32API-File/File.pm
+                       - _open_osfhandle not implemented under Cygwin
+ ext/Win32CORE/Win32CORE.pm
+                       - History of Win32CORE under Cygwin
+ lib/Cwd.pm            - hook to internal Cwd::cwd
+ lib/ExtUtils/CBuilder/Platform/cygwin.pm
+                       - use gcc for ld, and link to libperl.dll.a
+ lib/ExtUtils/CBuilder.pm
+                       - Cygwin is Unix-like
+ lib/ExtUtils/Install.pm - Install and rename issues under Cygwin
+ lib/ExtUtils/MM.pm    - OS classifications
+ lib/ExtUtils/MM_Any.pm - Example for Cygwin
+ lib/ExtUtils/MakeMaker.pm
+                       - require MM_Cygwin.pm
+ lib/ExtUtils/MM_Cygwin.pm
+                       - canonpath, cflags, manifypods, perl_archive
+ lib/File/Fetch.pm     - Comment about quotes using a Cygwin example
+ lib/File/Find.pm      - on remote drives stat() always sets st_nlink to 1
+ lib/File/Spec/Cygwin.pm - case_tolerant
+ lib/File/Spec/Unix.pm - preserve //unc
+ lib/File/Spec/Win32.pm - References a message on cygwin.com
+ lib/File/Spec.pm      - Pulls in lib/File/Spec/Cygwin.pm
+ lib/File/Temp.pm      - no directory sticky bit
+ lib/Module/CoreList.pm - List of all module files and versions
+ lib/Net/Domain.pm     - No domainname command under Cygwin
+ lib/Net/Netrc.pm      - Bypass using stat() under Cygwin
+ lib/Net/Ping.pm       - ECONREFUSED is EAGAIN under Cygwin
+ lib/Pod/Find.pm       - Set 'pods' dir
+ lib/Pod/Perldoc/ToMan.pm - '-c' switch for pod2man
+ lib/Pod/Perldoc.pm    - Use 'less' pager, and use .exe extension
+ lib/Term/ANSIColor.pm - Cygwin terminal info
+ lib/perl5db.pl        - use stdin not /dev/tty
+ utils/perlbug.PL      - Add CYGWIN environment variable to report
 
 =item Perl Module Tests
 
 dist/Cwd/t/cwd.t
 ext/Compress-Zlib/t/14gzopen.t
 ext/DB_File/t/db-btree.t
 ext/DB_File/t/db-hash.t
 ext/DB_File/t/db-recno.t
 ext/DynaLoader/t/DynaLoader.t
 ext/File-Glob/t/basic.t
 ext/GDBM_File/t/gdbm.t
 ext/POSIX/t/sysconf.t
 ext/POSIX/t/time.t
 ext/SDBM_File/t/sdbm.t
 ext/Sys/Syslog/t/syslog.t
 ext/Time-HiRes/t/HiRes.t
 ext/Win32/t/Unicode.t
 ext/Win32API-File/t/file.t
 ext/Win32CORE/t/win32core.t
 lib/AnyDBM_File.t
 lib/Archive/Extract/t/01_Archive-Extract.t
 lib/Archive/Tar/t/02_methods.t
 lib/ExtUtils/t/Embed.t
 lib/ExtUtils/t/eu_command.t
 lib/ExtUtils/t/MM_Cygwin.t
 lib/ExtUtils/t/MM_Unix.t
 lib/File/Compare.t
 lib/File/Copy.t
 lib/File/Find/t/find.t
 lib/File/Path.t
 lib/File/Spec/t/crossplatform.t
 lib/File/Spec/t/Spec.t
 lib/Net/hostent.t
 lib/Net/Ping/t/110_icmp_inst.t
 lib/Net/Ping/t/500_ping_icmp.t
 lib/Net/t/netrc.t
 lib/Pod/Simple/t/perlcyg.pod
 lib/Pod/Simple/t/perlcygo.txt
 lib/Pod/Simple/t/perlfaq.pod
 lib/Pod/Simple/t/perlfaqo.txt
 lib/User/grent.t
 lib/User/pwent.t
+ dist/Cwd/t/cwd.t
+ ext/Compress-Zlib/t/14gzopen.t
+ ext/DB_File/t/db-btree.t
+ ext/DB_File/t/db-hash.t
+ ext/DB_File/t/db-recno.t
+ ext/DynaLoader/t/DynaLoader.t
+ ext/File-Glob/t/basic.t
+ ext/GDBM_File/t/gdbm.t
+ ext/POSIX/t/sysconf.t
+ ext/POSIX/t/time.t
+ ext/SDBM_File/t/sdbm.t
+ ext/Sys/Syslog/t/syslog.t
+ ext/Time-HiRes/t/HiRes.t
+ ext/Win32/t/Unicode.t
+ ext/Win32API-File/t/file.t
+ ext/Win32CORE/t/win32core.t
+ lib/AnyDBM_File.t
+ lib/Archive/Extract/t/01_Archive-Extract.t
+ lib/Archive/Tar/t/02_methods.t
+ lib/ExtUtils/t/Embed.t
+ lib/ExtUtils/t/eu_command.t
+ lib/ExtUtils/t/MM_Cygwin.t
+ lib/ExtUtils/t/MM_Unix.t
+ lib/File/Compare.t
+ lib/File/Copy.t
+ lib/File/Find/t/find.t
+ lib/File/Path.t
+ lib/File/Spec/t/crossplatform.t
+ lib/File/Spec/t/Spec.t
+ lib/Net/hostent.t
+ lib/Net/Ping/t/110_icmp_inst.t
+ lib/Net/Ping/t/500_ping_icmp.t
+ lib/Net/t/netrc.t
+ lib/Pod/Simple/t/perlcyg.pod
+ lib/Pod/Simple/t/perlcygo.txt
+ lib/Pod/Simple/t/perlfaq.pod
+ lib/Pod/Simple/t/perlfaqo.txt
+ lib/User/grent.t
+ lib/User/pwent.t
 
 =back
 
index 59b0eb1..95e3b15 100644 (file)
@@ -22,9 +22,9 @@ The build procedure is completely standard:
 Make perl executable and create a symlink for libperl:
 
   chmod a+x /boot/common/bin/perl
-  cd /boot/common/lib; ln -s perl5/5.23.2/BePC-haiku/CORE/libperl.so .
+  cd /boot/common/lib; ln -s perl5/5.23.3/BePC-haiku/CORE/libperl.so .
 
-Replace C<5.23.2> with your respective version of Perl.
+Replace C<5.23.3> with your respective version of Perl.
 
 =head1 KNOWN PROBLEMS
 
index 13fff32..2a58067 100644 (file)
@@ -10,9 +10,9 @@ perlmacosx - Perl under Mac OS X
 
 This document briefly describes Perl under Mac OS X.
 
-  curl -O http://www.cpan.org/src/perl-5.23.2.tar.gz
-  tar -xzf perl-5.23.2.tar.gz
-  cd perl-5.23.2
+  curl -O http://www.cpan.org/src/perl-5.23.3.tar.gz
+  tar -xzf perl-5.23.3.tar.gz
+  cd perl-5.23.3
   ./Configure -des -Dprefix=/usr/local/
   make
   make test
@@ -20,7 +20,7 @@ This document briefly describes Perl under Mac OS X.
 
 =head1 DESCRIPTION
 
-The latest Perl release (5.23.2 as of this writing) builds without changes
+The latest Perl release (5.23.3 as of this writing) builds without changes
 under all versions of Mac OS X from 10.3 "Panther" onwards. 
 
 In order to build your own version of Perl you will need 'make',
index b0b2993..464104a 100644 (file)
@@ -619,7 +619,7 @@ C<set PERLLIB_PREFIX> in F<Config.sys>, see L<"PERLLIB_PREFIX">.
 
 =item Additional Perl modules
 
-  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.23.2/
+  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.23.3/
 
 Same remark as above applies.  Additionally, if this directory is not
 one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you
index 5e3ae85..d171460 100644 (file)
@@ -145,7 +145,7 @@ instructs Perl not to use the feature.
 
 =head1 Testing Perl on Tru64
 
-During "make test" the C<comp/cpp> will be skipped because on Tru64 it
+During "make test" the C<comp>/C<cpp> will be skipped because on Tru64 it
 cannot be tested before Perl has been installed.  The test refers to
 the use of the C<-P> option of Perl.
 
index 4cbf269..1716a5f 100644 (file)
@@ -142,11 +142,11 @@ You may need to set up a foreign symbol for the unpacking utility of
 choice.  Once you have done so, use a command like the following to
 unpack the archive:
 
-    vmstar -xvf perl-5^.23^.2.tar
+    vmstar -xvf perl-5^.23^.3.tar
 
 Then set default to the top-level source directory like so:
 
-    set default [.perl-5^.23^.2]
+    set default [.perl-5^.23^.3]
 
 and proceed with configuration as described in the next section.
 
index b4a07a6..2a8651a 100644 (file)
@@ -96,11 +96,15 @@ See L<Usage Hints for Perl on Windows> below for general hints about this.
 =item Make
 
 You need a "make" program to build the sources.  If you are using
-Visual C++ or the Windows SDK tools, nmake will work.  Builds using
-the gcc need dmake.
-
-dmake is a freely available make that has very nice macro features
-and parallelability.
+Visual C++ or the Windows SDK tools, you can use nmake supplied with Visual C++
+or Windows SDK. You may also use, for Visual C++ or Windows SDK, dmake instead
+of nmake.  dmake is open source software, but is not included with Visual C++ or
+Windows SDK.  Builds using gcc need dmake or gmake.  nmake is not supported for
+gcc builds.  gmake only supports gcc builds, not any other compiler.
+Parallel building is only supported with dmake with any compiler.  It is
+recommended to use dmake 4.13 or newer for parallel building.  Older dmakes,
+in parallel mode, have very high CPU usage and pound the disk/filing system
+with duplicate I/O calls in an aggressive polling loop.
 
 A port of dmake for Windows is available from:
 
@@ -135,13 +139,6 @@ console already set up for your target architecture (x86-32 or x86-64 or IA64).
 With the newer compilers, you may also use the older batch files if you choose
 so.
 
-You can also use dmake to build using Visual C++; provided, however,
-you set OSRELEASE to "microsft" (or whatever the directory name
-under which the Visual C dmake configuration lives) in your environment
-and edit win32/config.vc to change "make=nmake" into "make=dmake".  The
-latter step is only essential if you want to use dmake as your default
-make for building extensions using MakeMaker.
-
 =item Microsoft Visual C++ 2008-2013 Express Edition
 
 These free versions of Visual C++ 2008-2013 Professional contain the same
@@ -156,7 +153,7 @@ changing so often.)
 
 Install Visual C++ 2008-2013 Express, then setup your environment using, e.g.
 
      C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat
+ C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat
 
 (assuming the default installation location was chosen).
 
@@ -185,15 +182,15 @@ also runs on Windows XP SP2 and Windows 2000.
 Install Visual C++ 2005 first, then the Platform SDK.  Setup your environment
 as follows (assuming default installation locations were chosen):
 
      SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK
+ SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK
 
      SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;%PlatformSDKDir%\Bin
+ SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Program Files\Microsoft Visual Studio 8\VC\VCPackages;%PlatformSDKDir%\Bin
 
      SET INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%PlatformSDKDir%\include
+ SET INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE;%PlatformSDKDir%\include
 
      SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;%PlatformSDKDir%\lib
+ SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\lib;%PlatformSDKDir%\lib
 
      SET LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
+ SET LIBPATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
 
 (The PlatformSDKDir might need to be set differently depending on which version
 you are using. Earlier versions installed into "C:\Program Files\Microsoft SDK",
@@ -203,7 +200,7 @@ while the latest versions install into version-specific locations such as
 Perl should now build using the win32/Makefile.  You will need to edit that
 file to set
 
      CCTYPE = MSVC80FREE
+ CCTYPE = MSVC80FREE
 
 and to set CCHOME, CCINCDIR and CCLIBDIR as per the environment setup above.
 
@@ -234,13 +231,13 @@ Install the Toolkit first, then the Platform SDK, then the .NET Framework SDK.
 Setup your environment as follows (assuming default installation locations
 were chosen):
 
      SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK
+ SET PlatformSDKDir=C:\Program Files\Microsoft Platform SDK
 
      SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;%PlatformSDKDir%\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin
+ SET PATH=%SystemRoot%\system32;%SystemRoot%;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;%PlatformSDKDir%\Bin;C:\Program Files\Microsoft.NET\SDK\v1.1\Bin
 
      SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;%PlatformSDKDir%\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include
+ SET INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit 2003\include;%PlatformSDKDir%\include;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include
 
      SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;%PlatformSDKDir%\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
+ SET LIB=C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib;%PlatformSDKDir%\lib;C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
 
 (The PlatformSDKDir might need to be set differently depending on which version
 you are using. Earlier versions installed into "C:\Program Files\Microsoft SDK",
@@ -257,7 +254,7 @@ cvtres.exe is required by link.exe when using a .res file.  It is actually
 installed by the .NET Framework SDK, but into a location such as the
 following:
 
      C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
+ C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322
 
 Copy it from there to %PlatformSDKDir%\Bin
 
@@ -400,6 +397,11 @@ perl523.dll at the perl toplevel, and various other extension dll's
 under the lib\auto directory.  If the build fails for any reason, make
 sure you have done the previous steps correctly.
 
+To try dmake's parallel mode, type "dmake -P2", where 2, is the maximum number
+of parallel jobs you want to run. A number of things in the build process will
+run in parallel, but there are serialization points where you will see just 1
+CPU maxed out. This is normal.
+
 If you are advanced enough with building C code, here is a suggestion to speed
 up building perl, and the later C<make test>. Try to keep your PATH enviromental
 variable with the least number of folders possible (remember to keep your C
@@ -488,13 +490,13 @@ C<HKEY_CURRENT_USER\Software\Perl> and C<HKEY_LOCAL_MACHINE\Software\Perl>.
 Entries in the former override entries in the latter.  One or more of the
 following entries (of type REG_SZ or REG_EXPAND_SZ) may be set:
 
   lib-$]             version-specific standard library path to add to @INC
   lib                        standard library path to add to @INC
   sitelib-$]         version-specific site library path to add to @INC
   sitelib            site library path to add to @INC
   vendorlib-$]       version-specific vendor library path to add to @INC
   vendorlib          vendor library path to add to @INC
   PERL*              fallback for all %ENV lookups that begin with "PERL"
lib-$]        version-specific standard library path to add to @INC
lib           standard library path to add to @INC
sitelib-$]    version-specific site library path to add to @INC
sitelib       site library path to add to @INC
vendorlib-$]  version-specific vendor library path to add to @INC
vendorlib     vendor library path to add to @INC
PERL*         fallback for all %ENV lookups that begin with "PERL"
 
 Note the C<$]> in the above is not literal.  Substitute whatever version
 of perl you want to honor that entry, e.g. C<5.6.0>.  Paths must be
@@ -681,26 +683,26 @@ powerful, because it will do the right thing with a pattern like
 4) you can extend the method to add any customizations (or even
 entirely different kinds of wildcard expansion).
 
      C:\> copy con c:\perl\lib\Wild.pm
      # Wild.pm - emulate shell @ARGV expansion on shells that don't
      use File::DosGlob;
      @ARGV = map {
-                     my @g = File::DosGlob::glob($_) if /[*?]/;
-                     @g ? @g : $_;
-                   } @ARGV;
      1;
      ^Z
      C:\> set PERL5OPT=-MWild
      C:\> perl -le "for (@ARGV) { print }" */*/perl*.c
      p4view/perl/perl.c
      p4view/perl/perlio.c
      p4view/perl/perly.c
      perl5.005/win32/perlglob.c
      perl5.005/win32/perllib.c
      perl5.005/win32/perlglob.c
      perl5.005/win32/perllib.c
      perl5.005/win32/perlglob.c
      perl5.005/win32/perllib.c
+ C:\> copy con c:\perl\lib\Wild.pm
+ # Wild.pm - emulate shell @ARGV expansion on shells that don't
+ use File::DosGlob;
+ @ARGV = map {
+             my @g = File::DosGlob::glob($_) if /[*?]/;
+             @g ? @g : $_;
+           } @ARGV;
+ 1;
+ ^Z
+ C:\> set PERL5OPT=-MWild
+ C:\> perl -le "for (@ARGV) { print }" */*/perl*.c
+ p4view/perl/perl.c
+ p4view/perl/perlio.c
+ p4view/perl/perly.c
+ perl5.005/win32/perlglob.c
+ perl5.005/win32/perllib.c
+ perl5.005/win32/perlglob.c
+ perl5.005/win32/perllib.c
+ perl5.005/win32/perlglob.c
+ perl5.005/win32/perllib.c
 
 Note there are two distinct steps there: 1) You'll have to create
 Wild.pm and put it in your perl lib directory. 2) You'll need to
diff --git a/XSUB.h b/XSUB.h
index 49c15f7..4548fc9 100644 (file)
--- a/XSUB.h
+++ b/XSUB.h
@@ -18,7 +18,8 @@
 
 =for apidoc Amn|char*|CLASS
 Variable which is setup by C<xsubpp> to indicate the 
-class name for a C++ XS constructor.  This is always a C<char*>.  See C<THIS>.
+class name for a C++ XS constructor.  This is always a C<char*>.  See
+C<L</THIS>>.
 
 =for apidoc Amn|(whatever)|RETVAL
 Variable which is setup by C<xsubpp> to hold the return value for an 
@@ -27,7 +28,7 @@ L<perlxs/"The RETVAL Variable">.
 
 =for apidoc Amn|(whatever)|THIS
 Variable which is setup by C<xsubpp> to designate the object in a C++ 
-XSUB.  This is always the proper type for the C++ object.  See C<CLASS> and 
+XSUB.  This is always the proper type for the C++ object.  See C<L</CLASS>> and
 L<perlxs/"Using XS With C++">.
 
 =for apidoc Amn|I32|ax
@@ -48,7 +49,7 @@ Used to access elements on the XSUB's stack.
 
 =for apidoc AmU||XS
 Macro to declare an XSUB and its C parameter list.  This is handled by
-C<xsubpp>.  It is the same as using the more explicit XS_EXTERNAL macro.
+C<xsubpp>.  It is the same as using the more explicit C<XS_EXTERNAL> macro.
 
 =for apidoc AmU||XS_INTERNAL
 Macro to declare an XSUB and its C parameter list without exporting the symbols.
@@ -71,7 +72,7 @@ Sets up the C<items> variable.
 This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
 
 =for apidoc Ams||dXSARGS
-Sets up stack and mark pointers for an XSUB, calling dSP and dMARK.
+Sets up stack and mark pointers for an XSUB, calling C<dSP> and C<dMARK>.
 Sets up the C<ax> and C<items> variables by calling C<dAX> and C<dITEMS>.
 This is usually handled automatically by C<xsubpp>.
 
@@ -85,8 +86,8 @@ C<padoff_du>, but it is currently a noop.  However, it is strongly advised
 to still use it for ensuring past and future compatibility.
 
 =for apidoc AmU||UNDERBAR
-The SV* corresponding to the $_ variable.  Works even if there
-is a lexical $_ in scope.
+The SV* corresponding to the C<$_> variable.  Works even if there
+is a lexical C<$_> in scope.
 
 =cut
 */
@@ -281,10 +282,11 @@ the subs.
 
 =for apidoc AmU||XS_VERSION
 The version identifier for an XS module.  This is usually
-handled automatically by C<ExtUtils::MakeMaker>.  See C<XS_VERSION_BOOTCHECK>.
+handled automatically by C<ExtUtils::MakeMaker>.  See
+C<L</XS_VERSION_BOOTCHECK>>.
 
 =for apidoc Ams||XS_VERSION_BOOTCHECK
-Macro to verify that a PM module's $VERSION variable matches the XS
+Macro to verify that a PM module's C<$VERSION> variable matches the XS
 module's C<XS_VERSION> variable.  This is usually handled automatically by
 C<xsubpp>.  See L<perlxs/"The VERSIONCHECK: Keyword">.
 
diff --git a/amigaos4/amigaio.c b/amigaos4/amigaio.c
new file mode 100644 (file)
index 0000000..cd99d74
--- /dev/null
@@ -0,0 +1,956 @@
+/* amigaio.c mixes amigaos and perl APIs,
+ * as opposed to amigaos.c which is pure amigaos */
+
+#include "EXTERN.h"
+#include "perl.h"
+
+#include "amigaos4/amigaio.h"
+#include "amigaos.h"
+
+#ifdef WORD
+#  undef WORD
+#  define WORD int16
+#endif
+
+#include <stdio.h>
+
+#include <exec/semaphores.h>
+#include <exec/exectags.h>
+#include <proto/exec.h>
+#include <proto/dos.h>
+#include <dos/dos.h>
+
+void amigaos_stdio_get(pTHX_ StdioStore *store)
+{
+       store->astdin =
+           amigaos_get_file(PerlIO_fileno(IoIFP(GvIO(PL_stdingv))));
+       store->astderr =
+           amigaos_get_file(PerlIO_fileno(IoIFP(GvIO(PL_stderrgv))));
+       store->astdout = amigaos_get_file(
+                            PerlIO_fileno(IoIFP(GvIO(gv_fetchpv("STDOUT", TRUE, SVt_PVIO)))));
+}
+
+void amigaos_stdio_save(pTHX_ StdioStore *store)
+{
+       amigaos_stdio_get(aTHX_ store);
+       store->oldstdin = IDOS->SelectInput(store->astdin);
+       store->oldstderr = IDOS->SelectErrorOutput(store->astderr);
+       store->oldstdout = IDOS->SelectOutput(store->astdout);
+}
+
+void amigaos_stdio_restore(pTHX_ const StdioStore *store)
+{
+       IDOS->SelectInput(store->oldstdin);
+       IDOS->SelectErrorOutput(store->oldstderr);
+       IDOS->SelectOutput(store->oldstdout);
+}
+
+void amigaos_post_exec(int fd, int do_report)
+{
+       /* We *must* write something to our pipe or else
+        * the other end hangs */
+       if (do_report)
+       {
+               int e = errno;
+               PerlLIO_write(fd, (void *)&e, sizeof(e));
+               PerlLIO_close(fd);
+       }
+}
+
+PerlIO *Perl_my_popen(pTHX_ const char *cmd, const char *mode)
+{
+       PERL_FLUSHALL_FOR_CHILD;
+       /* Call system's popen() to get a FILE *, then import it.
+        * used 0 for 2nd parameter to PerlIO_importFILE;
+        * apparently not used
+       */
+       //    FILE *f=amigaos_popen(cmd,mode);
+       //    fprintf(stderr,"popen returned %d\n",f);
+       return PerlIO_importFILE(amigaos_popen(cmd, mode), 0);
+       //   return PerlIO_importFILE(f, 0);
+}
+
+#ifdef USE_ITHREADS
+
+/* An arbitrary number to start with, should work out what the real max should
+ * be */
+
+#ifndef MAX_THREADS
+#  define MAX_THREADS 64
+#endif
+
+#define REAPED 0
+#define ACTIVE 1
+#define EXITED -1
+
+struct thread_info
+{
+       pthread_t ti_pid;
+       int ti_children;
+       pthread_t ti_parent;
+       struct MsgPort *ti_port;
+       struct Process *ti_Process;
+};
+
+static struct thread_info pseudo_children[MAX_THREADS];
+static int num_pseudo_children = 0;
+static struct SignalSemaphore fork_array_sema;
+
+void amigaos4_init_fork_array()
+{
+       IExec->InitSemaphore(&fork_array_sema);
+       pseudo_children[0].ti_pid = (pthread_t)IExec->FindTask(0);
+       pseudo_children[0].ti_parent = -1;
+       pseudo_children[0].ti_port =
+           (struct MsgPort *)IExec->AllocSysObjectTags(ASOT_PORT, TAG_DONE);
+}
+
+void amigaos4_dispose_fork_array()
+{
+       while (pseudo_children[0].ti_children > 0)
+       {
+               void *msg;
+               IExec->WaitPort(pseudo_children[0].ti_port);
+               msg = IExec->GetMsg(pseudo_children[0].ti_port);
+               if (msg)
+                       IExec->FreeSysObject(ASOT_MESSAGE, msg);
+               pseudo_children[0].ti_children--;
+       }
+       IExec->FreeSysObject(ASOT_PORT, pseudo_children[0].ti_port);
+}
+
+struct thread_exit_message
+{
+       struct Message tem_Message;
+       pthread_t tem_pid;
+       int tem_status;
+};
+
+int getnextchild()
+{
+       int i;
+       for (i = 0; i < MAX_THREADS; i++)
+       {
+               if (pseudo_children[i].ti_pid == 0)
+                       return i;
+       }
+       return -1;
+}
+
+int findparent(pthread_t pid)
+{
+       int i;
+       for (i = 0; i < MAX_THREADS; i++)
+       {
+               if (pseudo_children[i].ti_pid == pid)
+                       return i;
+       }
+       return -1;
+}
+
+struct child_arg
+{
+       struct Task *ca_parent_task;
+       pthread_t ca_parent;
+       PerlInterpreter *ca_interp;
+};
+
+#undef kill
+
+/* FIXME: Is here's a chance, albeit it small of a clash between our pseudo pid */
+/* derived from the pthread API  and the dos.library pid that newlib kill uses? */
+/* clib2 used the Process address so there was no issue */
+
+int amigaos_kill(Pid_t pid, int signal)
+{
+       int i;
+       Pid_t realpid = pid; // Perhaps we have a real pid from else where?
+       /* Look for our DOS pid */
+       IExec->ObtainSemaphore(&fork_array_sema);
+       for (i = 0; i < MAX_THREADS; i++)
+       {
+               if (pseudo_children[i].ti_pid == pid)
+               {
+                       realpid = (Pid_t)IDOS->GetPID(pseudo_children[i].ti_Process,GPID_PROCESS);
+                       break;
+               }
+       }
+       IExec->ReleaseSemaphore(&fork_array_sema);
+       /* Allow the C library to work out which signals are realy valid */
+       return kill(realpid,signal);
+}
+
+static THREAD_RET_TYPE amigaos4_start_child(void *arg)
+{
+
+       PerlInterpreter *my_perl =
+           (PerlInterpreter *)((struct child_arg *)arg)->ca_interp;
+       ;
+
+       GV *tmpgv;
+       int status;
+       int parent;
+       int nextchild;
+       pthread_t pseudo_id = pthread_self();
+
+#ifdef PERL_SYNC_FORK
+       static long sync_fork_id = 0;
+       long id = ++sync_fork_id;
+#endif
+
+       /* before we do anything set up our process semaphore and add
+          a new entry to the pseudochildren */
+
+       /* get next available slot */
+       /* should not fail here! */
+
+       IExec->ObtainSemaphore(&fork_array_sema);
+
+       nextchild = getnextchild();
+
+       pseudo_children[nextchild].ti_pid = pseudo_id;
+       pseudo_children[nextchild].ti_Process = (struct Process *)IExec->FindTask(NULL);
+       pseudo_children[nextchild].ti_parent =
+           ((struct child_arg *)arg)->ca_parent;
+       pseudo_children[nextchild].ti_port =
+           (struct MsgPort *)IExec->AllocSysObjectTags(ASOT_PORT, TAG_DONE);
+
+       num_pseudo_children++;
+       IExec->ReleaseSemaphore(&fork_array_sema);
+
+       /* We're set up let the parent continue */
+
+       IExec->Signal(((struct child_arg *)arg)->ca_parent_task,
+                     SIGBREAKF_CTRL_F);
+
+       PERL_SET_THX(my_perl);
+       if ((tmpgv = gv_fetchpv("$", TRUE, SVt_PV)))
+       {
+               SV *sv = GvSV(tmpgv);
+               SvREADONLY_off(sv);
+               sv_setiv(sv, (IV)pseudo_id);
+               SvREADONLY_on(sv);
+       }
+       hv_clear(PL_pidstatus);
+
+       /* push a zero on the stack (we are the child) */
+       {
+               dSP;
+               dTARGET;
+               PUSHi(0);
+               PUTBACK;
+       }
+
+       /* continue from next op */
+       PL_op = PL_op->op_next;
+
+       {
+               dJMPENV;
+               volatile int oldscope = PL_scopestack_ix;
+
+restart:
+               JMPENV_PUSH(status);
+               switch (status)
+               {
+               case 0:
+                       CALLRUNOPS(aTHX);
+                       status = 0;
+                       break;
+               case 2:
+                       while (PL_scopestack_ix > oldscope)
+                       {
+                               LEAVE;
+                       }
+                       FREETMPS;
+                       PL_curstash = PL_defstash;
+                       if (PL_endav && !PL_minus_c)
+                               call_list(oldscope, PL_endav);
+                       status = STATUS_EXIT;
+                       break;
+               case 3:
+                       if (PL_restartop)
+                       {
+                               POPSTACK_TO(PL_mainstack);
+                               PL_op = PL_restartop;
+                               PL_restartop = (OP *)NULL;
+                               ;
+                               goto restart;
+                       }
+                       PerlIO_printf(Perl_error_log, "panic: restartop\n");
+                       FREETMPS;
+                       status = 1;
+                       break;
+               }
+               JMPENV_POP;
+
+               /* XXX hack to avoid perl_destruct() freeing optree */
+               PL_main_root = (OP *)NULL;
+       }
+
+       {
+               do_close(PL_stdingv, FALSE);
+               do_close(gv_fetchpv("STDOUT", TRUE, SVt_PVIO),
+                        FALSE); /* PL_stdoutgv - ISAGN */
+               do_close(PL_stderrgv, FALSE);
+       }
+
+       /* destroy everything (waits for any pseudo-forked children) */
+
+       /* wait for any remaining children */
+
+       while (pseudo_children[nextchild].ti_children > 0)
+       {
+               if (IExec->WaitPort(pseudo_children[nextchild].ti_port))
+               {
+                       void *msg =
+                           IExec->GetMsg(pseudo_children[nextchild].ti_port);
+                       IExec->FreeSysObject(ASOT_MESSAGE, msg);
+                       pseudo_children[nextchild].ti_children--;
+               }
+       }
+       if (PL_scopestack_ix <= 1)
+       {
+               perl_destruct(my_perl);
+       }
+       perl_free(my_perl);
+
+       IExec->ObtainSemaphore(&fork_array_sema);
+       parent = findparent(pseudo_children[nextchild].ti_parent);
+       pseudo_children[nextchild].ti_pid = 0;
+       pseudo_children[nextchild].ti_parent = 0;
+       IExec->FreeSysObject(ASOT_PORT, pseudo_children[nextchild].ti_port);
+       pseudo_children[nextchild].ti_port = NULL;
+
+       IExec->ReleaseSemaphore(&fork_array_sema);
+
+       {
+               if (parent >= 0)
+               {
+                       struct thread_exit_message *tem =
+                           (struct thread_exit_message *)
+                           IExec->AllocSysObjectTags(
+                               ASOT_MESSAGE, ASOMSG_Size,
+                               sizeof(struct thread_exit_message),
+                               ASOMSG_Length,
+                               sizeof(struct thread_exit_message));
+                       if (tem)
+                       {
+                               tem->tem_pid = pseudo_id;
+                               tem->tem_status = status;
+                               IExec->PutMsg(pseudo_children[parent].ti_port,
+                                             (struct Message *)tem);
+                       }
+               }
+       }
+#ifdef PERL_SYNC_FORK
+       return id;
+#else
+       return (void *)status;
+#endif
+}
+
+#endif /* USE_ITHREADS */
+
+Pid_t amigaos_fork()
+{
+       dTHX;
+       pthread_t id;
+       int handle;
+       struct child_arg arg;
+       if (num_pseudo_children >= MAX_THREADS)
+       {
+               errno = EAGAIN;
+               return -1;
+       }
+       arg.ca_interp = perl_clone((PerlInterpreter *)aTHX, CLONEf_COPY_STACKS);
+       arg.ca_parent_task = IExec->FindTask(NULL);
+       arg.ca_parent =
+           pthread_self() ? pthread_self() : (pthread_t)IExec->FindTask(0);
+
+       handle = pthread_create(&id, NULL, amigaos4_start_child, (void *)&arg);
+       pseudo_children[findparent(arg.ca_parent)].ti_children++;
+
+       IExec->Wait(SIGBREAKF_CTRL_F);
+
+       PERL_SET_THX(aTHX); /* XXX perl_clone*() set TLS */
+       if (handle)
+       {
+               errno = EAGAIN;
+               return -1;
+       }
+       return id;
+}
+
+Pid_t amigaos_waitpid(pTHX_ int optype, Pid_t pid, void *argflags)
+{
+       int result;
+       if (PL_signals & PERL_SIGNALS_UNSAFE_FLAG)
+       {
+               result = pthread_join(pid, argflags);
+       }
+       else
+       {
+               while ((result = pthread_join(pid, argflags)) == -1 &&
+                       errno == EINTR)
+               {
+                       //          PERL_ASYNC_CHECK();
+               }
+       }
+       return result;
+}
+
+void amigaos_fork_set_userdata(
+    pTHX_ struct UserData *userdata, I32 did_pipes, int pp, SV **sp, SV **mark)
+{
+       userdata->parent = IExec->FindTask(0);
+       userdata->did_pipes = did_pipes;
+       userdata->pp = pp;
+       userdata->sp = sp;
+       userdata->mark = mark;
+       userdata->my_perl = aTHX;
+}
+
+/* AmigaOS specific versions of #?exec#? solely for use in amigaos_system_child
+ */
+
+static void S_exec_failed(pTHX_ const char *cmd, int fd, int do_report)
+{
+       const int e = errno;
+//    PERL_ARGS_ASSERT_EXEC_FAILED;
+       if (e)
+       {
+               if (ckWARN(WARN_EXEC))
+                       Perl_warner(aTHX_ packWARN(WARN_EXEC),
+                                   "Can't exec \"%s\": %s", cmd, Strerror(e));
+       }
+       if (do_report)
+       {
+               /* XXX silently ignore failures */
+               PERL_UNUSED_RESULT(PerlLIO_write(fd, (void *)&e, sizeof(int)));
+               PerlLIO_close(fd);
+       }
+}
+
+static I32 S_do_amigaos_exec3(pTHX_ const char *incmd, int fd, int do_report)
+{
+       dVAR;
+       const char **a;
+       char *s;
+       char *buf;
+       char *cmd;
+       /* Make a copy so we can change it */
+       const Size_t cmdlen = strlen(incmd) + 1;
+       I32 result = -1;
+
+       PERL_ARGS_ASSERT_DO_EXEC3;
+
+       Newx(buf, cmdlen, char);
+       cmd = buf;
+       memcpy(cmd, incmd, cmdlen);
+
+       while (*cmd && isSPACE(*cmd))
+               cmd++;
+
+       /* see if there are shell metacharacters in it */
+
+       if (*cmd == '.' && isSPACE(cmd[1]))
+               goto doshell;
+
+       if (strnEQ(cmd, "exec", 4) && isSPACE(cmd[4]))
+               goto doshell;
+
+       s = cmd;
+       while (isWORDCHAR(*s))
+               s++; /* catch VAR=val gizmo */
+       if (*s == '=')
+               goto doshell;
+
+       for (s = cmd; *s; s++)
+       {
+               if (*s != ' ' && !isALPHA(*s) &&
+                       strchr("$&*(){}[]'\";\\|?<>~`\n", *s))
+               {
+                       if (*s == '\n' && !s[1])
+                       {
+                               *s = '\0';
+                               break;
+                       }
+                       /* handle the 2>&1 construct at the end */
+                       if (*s == '>' && s[1] == '&' && s[2] == '1' &&
+                               s > cmd + 1 && s[-1] == '2' && isSPACE(s[-2]) &&
+                               (!s[3] || isSPACE(s[3])))
+                       {
+                               const char *t = s + 3;
+
+                               while (*t && isSPACE(*t))
+                                       ++t;
+                               if (!*t && (PerlLIO_dup2(1, 2) != -1))
+                               {
+                                       s[-2] = '\0';
+                                       break;
+                               }
+                       }
+doshell:
+                       PERL_FPU_PRE_EXEC
+                       result = myexecl(FALSE, PL_sh_path, "sh", "-c", cmd,
+                                        (char *)NULL);
+                       PERL_FPU_POST_EXEC
+                       S_exec_failed(aTHX_ PL_sh_path, fd, do_report);
+                       amigaos_post_exec(fd, do_report);
+                       Safefree(buf);
+                       return result;
+               }
+       }
+
+       Newx(PL_Argv, (s - cmd) / 2 + 2, const char *);
+       PL_Cmd = savepvn(cmd, s - cmd);
+       a = PL_Argv;
+       for (s = PL_Cmd; *s;)
+       {
+               while (isSPACE(*s))
+                       s++;
+               if (*s)
+                       *(a++) = s;
+               while (*s && !isSPACE(*s))
+                       s++;
+               if (*s)
+                       *s++ = '\0';
+       }
+       *a = NULL;
+       if (PL_Argv[0])
+       {
+               PERL_FPU_PRE_EXEC
+               result = myexecvp(FALSE, PL_Argv[0], EXEC_ARGV_CAST(PL_Argv));
+               PERL_FPU_POST_EXEC
+               if (errno == ENOEXEC)
+               {
+                       /* for system V NIH syndrome */
+                       do_execfree();
+                       goto doshell;
+               }
+               S_exec_failed(aTHX_ PL_Argv[0], fd, do_report);
+               amigaos_post_exec(fd, do_report);
+       }
+       do_execfree();
+       Safefree(buf);
+       return result;
+}
+
+I32 S_do_amigaos_aexec5(
+    pTHX_ SV *really, SV **mark, SV **sp, int fd, int do_report)
+{
+       dVAR;
+       I32 result = -1;
+       PERL_ARGS_ASSERT_DO_AEXEC5;
+       if (sp > mark)
+       {
+               const char **a;
+               const char *tmps = NULL;
+               Newx(PL_Argv, sp - mark + 1, const char *);
+               a = PL_Argv;
+
+               while (++mark <= sp)
+               {
+                       if (*mark)
+                               *a++ = SvPV_nolen_const(*mark);
+                       else
+                               *a++ = "";
+               }
+               *a = NULL;
+               if (really)
+                       tmps = SvPV_nolen_const(really);
+               if ((!really && *PL_Argv[0] != '/') ||
+                       (really && *tmps != '/')) /* will execvp use PATH? */
+                       TAINT_ENV(); /* testing IFS here is overkill, probably
+                                        */
+               PERL_FPU_PRE_EXEC
+               if (really && *tmps)
+               {
+                       result = myexecvp(FALSE, tmps, EXEC_ARGV_CAST(PL_Argv));
+               }
+               else
+               {
+                       result = myexecvp(FALSE, PL_Argv[0],
+                                         EXEC_ARGV_CAST(PL_Argv));
+               }
+               PERL_FPU_POST_EXEC
+               S_exec_failed(aTHX_(really ? tmps : PL_Argv[0]), fd, do_report);
+       }
+       amigaos_post_exec(fd, do_report);
+       do_execfree();
+       return result;
+}
+
+void *amigaos_system_child(void *userdata)
+{
+       struct Task *parent;
+       I32 did_pipes;
+       int pp;
+       I32 value;
+       STRLEN n_a;
+       /* these next are declared by macros else where but I may be
+        * passing modified values here so declare them explictly but
+        * still referred to by macro below */
+
+       register SV **sp;
+       register SV **mark;
+       register PerlInterpreter *my_perl;
+
+       StdioStore store;
+
+       struct UserData *ud = (struct UserData *)userdata;
+
+       did_pipes = ud->did_pipes;
+       parent = ud->parent;
+       pp = ud->pp;
+       SP = ud->sp;
+       MARK = ud->mark;
+       my_perl = ud->my_perl;
+       PERL_SET_THX(my_perl);
+
+       amigaos_stdio_save(aTHX_ & store);
+
+       if (did_pipes)
+       {
+               //    PerlLIO_close(pp[0]);
+       }
+       if (PL_op->op_flags & OPf_STACKED)
+       {
+               SV *really = *++MARK;
+               value = (I32)S_do_amigaos_aexec5(aTHX_ really, MARK, SP, pp,
+                                                did_pipes);
+       }
+       else if (SP - MARK != 1)
+       {
+               value = (I32)S_do_amigaos_aexec5(aTHX_ NULL, MARK, SP, pp,
+                                                did_pipes);
+       }
+       else
+       {
+               value = (I32)S_do_amigaos_exec3(
+                           aTHX_ SvPVx(sv_mortalcopy(*SP), n_a), pp, did_pipes);
+       }
+
+       //    Forbid();
+       //    Signal(parent, SIGBREAKF_CTRL_F);
+
+       amigaos_stdio_restore(aTHX_ & store);
+
+       return value;
+}
+
+static BOOL contains_whitespace(char *string)
+{
+
+       if (string)
+       {
+
+               if (strchr(string, ' '))
+                       return TRUE;
+               if (strchr(string, '\t'))
+                       return TRUE;
+               if (strchr(string, '\n'))
+                       return TRUE;
+               if (strchr(string, 0xA0))
+                       return TRUE;
+               if (strchr(string, '"'))
+                       return TRUE;
+       }
+       return FALSE;
+}
+
+static int no_of_escapes(char *string)
+{
+       int cnt = 0;
+       char *p;
+       for (p = string; p < string + strlen(string); p++)
+       {
+               if (*p == '"')
+                       cnt++;
+               if (*p == '*')
+                       cnt++;
+               if (*p == '\n')
+                       cnt++;
+               if (*p == '\t')
+                       cnt++;
+       }
+       return cnt;
+}
+
+struct command_data
+{
+       STRPTR args;
+       BPTR seglist;
+       struct Task *parent;
+};
+
+#undef fopen
+#undef fgetc
+#undef fgets
+#undef fclose
+
+#define __USE_RUNCOMMAND__
+
+int myexecve(bool isperlthread,
+             const char *filename,
+             char *argv[],
+             char *envp[])
+{
+       FILE *fh;
+       char buffer[1000];
+       int size = 0;
+       char **cur;
+       char *interpreter = 0;
+       char *interpreter_args = 0;
+       char *full = 0;
+       char *filename_conv = 0;
+       char *interpreter_conv = 0;
+       //        char *tmp = 0;
+       char *fname;
+       //        int tmpint;
+       //        struct Task *thisTask = IExec->FindTask(0);
+       int result = -1;
+
+       StdioStore store;
+
+       pTHX = NULL;
+
+       if (isperlthread)
+       {
+               aTHX = PERL_GET_THX;
+               /* Save away our stdio */
+               amigaos_stdio_save(aTHX_ & store);
+       }
+
+       // adebug("%s %ld %s\n",__FUNCTION__,__LINE__,filename?filename:"NULL");
+
+       /* Calculate the size of filename and all args, including spaces and
+        * quotes */
+       size = 0; // strlen(filename) + 1;
+       for (cur = (char **)argv /* +1 */; *cur; cur++)
+       {
+               size +=
+                   strlen(*cur) + 1 +
+                   (contains_whitespace(*cur) ? (2 + no_of_escapes(*cur)) : 0);
+       }
+       /* Check if it's a script file */
+
+       fh = fopen(filename, "r");
+       if (fh)
+       {
+               if (fgetc(fh) == '#' && fgetc(fh) == '!')
+               {
+                       char *p;
+                       char *q;
+                       fgets(buffer, 999, fh);
+                       p = buffer;
+                       while (*p == ' ' || *p == '\t')
+                               p++;
+                       if (buffer[strlen(buffer) - 1] == '\n')
+                               buffer[strlen(buffer) - 1] = '\0';
+                       if ((q = strchr(p, ' ')))
+                       {
+                               *q++ = '\0';
+                               if (*q != '\0')
+                               {
+                                       interpreter_args = mystrdup(q);
+                               }
+                       }
+                       else
+                               interpreter_args = mystrdup("");
+
+                       interpreter = mystrdup(p);
+                       size += strlen(interpreter) + 1;
+                       size += strlen(interpreter_args) + 1;
+               }
+
+               fclose(fh);
+       }
+       else
+       {
+               /* We couldn't open this why not? */
+               if (errno == ENOENT)
+               {
+                       /* file didn't exist! */
+                       goto out;
+               }
+       }
+
+       /* Allocate the command line */
+       filename_conv = convert_path_u2a(filename);
+
+       if (filename_conv)
+               size += strlen(filename_conv);
+       size += 1;
+       full = (char *)IExec->AllocVec(size + 10, MEMF_ANY | MEMF_CLEAR);
+       if (full)
+       {
+               if (interpreter)
+               {
+                       interpreter_conv = convert_path_u2a(interpreter);
+#if !defined(__USE_RUNCOMMAND__)
+#warning(using system!)
+                       sprintf(full, "%s %s %s ", interpreter_conv,
+                               interpreter_args, filename_conv);
+#else
+                       sprintf(full, "%s %s ", interpreter_args,
+                               filename_conv);
+#endif
+                       IExec->FreeVec(interpreter);
+                       IExec->FreeVec(interpreter_args);
+
+                       if (filename_conv)
+                               IExec->FreeVec(filename_conv);
+                       fname = mystrdup(interpreter_conv);
+
+                       if (interpreter_conv)
+                               IExec->FreeVec(interpreter_conv);
+               }
+               else
+               {
+#ifndef __USE_RUNCOMMAND__
+                       sprintf(full, "%s ", filename_conv);
+#else
+                       sprintf(full, "");
+#endif
+                       fname = mystrdup(filename_conv);
+                       if (filename_conv)
+                               IExec->FreeVec(filename_conv);
+               }
+
+               for (cur = (char **)(argv + 1); *cur != 0; cur++)
+               {
+                       if (contains_whitespace(*cur))
+                       {
+                               int esc = no_of_escapes(*cur);
+
+                               if (esc > 0)
+                               {
+                                       char *buff = IExec->AllocVec(
+                                                        strlen(*cur) + 4 + esc,
+                                                        MEMF_ANY | MEMF_CLEAR);
+                                       char *p = *cur;
+                                       char *q = buff;
+
+                                       *q++ = '"';
+                                       while (*p != '\0')
+                                       {
+
+                                               if (*p == '\n')
+                                               {
+                                                       *q++ = '*';
+                                                       *q++ = 'N';
+                                                       p++;
+                                                       continue;
+                                               }
+                                               else if (*p == '"')
+                                               {
+                                                       *q++ = '*';
+                                                       *q++ = '"';
+                                                       p++;
+                                                       continue;
+                                               }
+                                               else if (*p == '*')
+                                               {
+                                                       *q++ = '*';
+                                               }
+                                               *q++ = *p++;
+                                       }
+                                       *q++ = '"';
+                                       *q++ = ' ';
+                                       *q = '\0';
+                                       strcat(full, buff);
+                                       IExec->FreeVec(buff);
+                               }
+                               else
+                               {
+                                       strcat(full, "\"");
+                                       strcat(full, *cur);
+                                       strcat(full, "\" ");
+                               }
+                       }
+                       else
+                       {
+                               strcat(full, *cur);
+                               strcat(full, " ");
+                       }
+               }
+               strcat(full, "\n");
+
+//            if(envp)
+//                 createvars(envp);
+
+#ifndef __USE_RUNCOMMAND__
+               result = IDOS->SystemTags(
+                            full, SYS_UserShell, TRUE, NP_StackSize,
+                            ((struct Process *)thisTask)->pr_StackSize, SYS_Input,
+                            ((struct Process *)thisTask)->pr_CIS, SYS_Output,
+                            ((struct Process *)thisTask)->pr_COS, SYS_Error,
+                            ((struct Process *)thisTask)->pr_CES, TAG_DONE);
+#else
+
+               if (fname)
+               {
+                       BPTR seglist = IDOS->LoadSeg(fname);
+                       if (seglist)
+                       {
+                               /* check if we have an executable! */
+                               struct PseudoSegList *ps = NULL;
+                               if (!IDOS->GetSegListInfoTags(
+                                           seglist, GSLI_Native, &ps, TAG_DONE))
+                               {
+                                       IDOS->GetSegListInfoTags(
+                                           seglist, GSLI_68KPS, &ps, TAG_DONE);
+                               }
+                               if (ps != NULL)
+                               {
+                                       //                    adebug("%s %ld %s
+                                       //                    %s\n",__FUNCTION__,__LINE__,fname,full);
+                                       IDOS->SetCliProgramName(fname);
+                                       //                        result=RunCommand(seglist,8*1024,full,strlen(full));
+                                       //                        result=myruncommand(seglist,8*1024,full,strlen(full),envp);
+                                       result = myruncommand(seglist, 8 * 1024,
+                                                             full, -1, envp);
+                                       errno = 0;
+                               }
+                               else
+                               {
+                                       errno = ENOEXEC;
+                               }
+                               IDOS->UnLoadSeg(seglist);
+                       }
+                       else
+                       {
+                               errno = ENOEXEC;
+                       }
+                       IExec->FreeVec(fname);
+               }
+
+#endif /* USE_RUNCOMMAND */
+
+               IExec->FreeVec(full);
+               if (errno == ENOEXEC)
+               {
+                       result = -1;
+               }
+               goto out;
+       }
+
+       if (interpreter)
+               IExec->FreeVec(interpreter);
+       if (filename_conv)
+               IExec->FreeVec(filename_conv);
+
+       errno = ENOMEM;
+
+out:
+       if (isperlthread)
+       {
+               amigaos_stdio_restore(aTHX_ & store);
+               STATUS_NATIVE_CHILD_SET(result);
+               PL_exit_flags |= PERL_EXIT_EXPECTED;
+               if (result != -1)
+                       my_exit(result);
+       }
+       return (result);
+}
diff --git a/amigaos4/amigaio.h b/amigaos4/amigaio.h
new file mode 100644 (file)
index 0000000..1f1a53a
--- /dev/null
@@ -0,0 +1,53 @@
+#ifndef _AMIGAIO_H
+#define _AMIGAIO_H
+
+#ifndef H_PERL
+#include "../perl.h"
+#endif
+
+struct StdioStore
+{
+       /* astdin...astderr are the amigaos file descriptors */
+       long astdin;
+       long astdout;
+       long astderr;
+       /* oldstdin...oldstderr are the amigados file handles */
+       long oldstdin;
+       long oldstdout;
+       long oldstderr;
+};
+
+typedef struct StdioStore StdioStore;
+
+/* get the amigaos file descriptors */
+void amigaos_stdio_get(pTHX_ StdioStore *store);
+
+/* save the amigados file handles (calls amigaos_stdio_get) */
+void amigaos_stdio_save(pTHX_ StdioStore *store);
+
+/* restore the amigados file handles stored with amigaos_stdio_save */
+void amigaos_stdio_restore(pTHX_ const StdioStore *store);
+
+/* everything the child needs from the parent is in UserData,
+ * then pass it through task->tc_UserData or as arg to new pthread */
+struct UserData
+{
+       struct Task *parent;
+       I32 did_pipes;
+       int pp;
+       SV **sp;
+       SV **mark;
+       PerlInterpreter *my_perl;
+};
+
+void amigaos_fork_set_userdata(
+    pTHX_ struct UserData *userdata, I32 did_pipes, int pp, SV **sp, SV **mark);
+
+void *amigaos_system_child(void *userdata);
+
+void amigaos_post_exec(int fd, int do_report);
+
+Pid_t amigaos_fork();
+Pid_t amigaos_waitpid(pTHX_ int optype, Pid_t pid, void *argflags);
+
+#endif
diff --git a/amigaos4/amigaos.c b/amigaos4/amigaos.c
new file mode 100644 (file)
index 0000000..3023fd3
--- /dev/null
@@ -0,0 +1,1177 @@
+/* amigaos.c uses only amigaos APIs,
+ * as opposed to amigaio.c which mixes amigaos and perl APIs */
+
+#include <string.h>
+
+#include <sys/stat.h>
+#include <unistd.h>
+#include <assert.h>
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#if defined(__CLIB2__)
+#  include <dos.h>
+#endif
+#if defined(__NEWLIB__)
+#  include <amiga_platform.h>
+#endif
+#include <fcntl.h>
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdbool.h>
+#undef WORD
+#define WORD int16
+
+#include <dos/dos.h>
+#include <proto/dos.h>
+#include <proto/exec.h>
+#include <proto/utility.h>
+
+#include "amigaos.h"
+
+struct UtilityIFace *IUtility = NULL;
+
+/***************************************************************************/
+
+struct Interface *OpenInterface(CONST_STRPTR libname, uint32 libver)
+{
+       struct Library *base = IExec->OpenLibrary(libname, libver);
+       struct Interface *iface = IExec->GetInterface(base, "main", 1, NULL);
+       if (iface == NULL)
+       {
+               // We should probably post some kind of error message here.
+
+               IExec->CloseLibrary(base);
+       }
+
+       return iface;
+}
+
+/***************************************************************************/
+
+void CloseInterface(struct Interface *iface)
+{
+       if (iface != NULL)
+       {
+               struct Library *base = iface->Data.LibBase;
+               IExec->DropInterface(iface);
+               IExec->CloseLibrary(base);
+       }
+}
+
+BOOL __unlink_retries = FALSE;
+
+void ___makeenviron() __attribute__((constructor));
+void ___freeenviron() __attribute__((destructor));
+
+void ___openinterfaces() __attribute__((constructor));
+void ___closeinterfaces() __attribute__((destructor));
+
+void ___openinterfaces()
+{
+       if (!IDOS)
+               IDOS = (struct DOSIFace *)OpenInterface("dos.library", 53);
+       if (!IUtility)
+               IUtility =
+                   (struct UtilityIFace *)OpenInterface("utility.library", 53);
+}
+
+void ___closeinterfaces()
+{
+       CloseInterface((struct Interface *)IDOS);
+       CloseInterface((struct Interface *)IUtility);
+}
+int VARARGS68K araddebug(UBYTE *fmt, ...);
+int VARARGS68K adebug(UBYTE *fmt, ...);
+
+#define __USE_RUNCOMMAND__
+
+char **myenviron = NULL;
+char **origenviron = NULL;
+
+static void createvars(char **envp);
+
+struct args
+{
+       BPTR seglist;
+       int stack;
+       char *command;
+       int length;
+       int result;
+       char **envp;
+};
+
+int __myrc(char *arg)
+{
+       struct Task *thisTask = IExec->FindTask(0);
+       struct args *myargs = (struct args *)thisTask->tc_UserData;
+       if (myargs->envp)
+               createvars(myargs->envp);
+       // adebug("%s %ld %s \n",__FUNCTION__,__LINE__,myargs->command);
+       myargs->result = IDOS->RunCommand(myargs->seglist, myargs->stack,
+                                         myargs->command, myargs->length);
+       return 0;
+}
+
+int32 myruncommand(
+    BPTR seglist, int stack, char *command, int length, char **envp)
+{
+       struct args myargs;
+       struct Task *thisTask = IExec->FindTask(0);
+       struct Process *proc;
+
+       // adebug("%s %ld  %s\n",__FUNCTION__,__LINE__,command?command:"NULL");
+
+       myargs.seglist = seglist;
+       myargs.stack = stack;
+       myargs.command = command;
+       myargs.length = length;
+       myargs.result = -1;
+       myargs.envp = envp;
+
+       if ((proc = IDOS->CreateNewProcTags(
+                       NP_Entry, __myrc, NP_Child, TRUE, NP_Input, IDOS->Input(),
+                       NP_Output, IDOS->Output(), NP_Error, IDOS->ErrorOutput(),
+                       NP_CloseInput, FALSE, NP_CloseOutput, FALSE, NP_CloseError,
+                       FALSE, NP_CopyVars, FALSE,
+
+                       //           NP_StackSize,           ((struct Process
+                       //           *)myargs.parent)->pr_StackSize,
+                       NP_Cli, TRUE, NP_UserData, (int)&myargs,
+                       NP_NotifyOnDeathSigTask, thisTask, TAG_DONE)))
+
+       {
+               IExec->Wait(SIGF_CHILD);
+       }
+       return myargs.result;
+}
+
+char *mystrdup(const char *s)
+{
+       char *result = NULL;
+       size_t size;
+
+       size = strlen(s) + 1;
+
+       if ((result = (char *)IExec->AllocVec(size, MEMF_ANY)))
+       {
+               memmove(result, s, size);
+       }
+       return result;
+}
+
+static int pipenum = 0;
+
+int pipe(int filedes[2])
+{
+       char pipe_name[1024];
+
+//   adebug("%s %ld \n",__FUNCTION__,__LINE__);
+#ifdef USE_TEMPFILES
+       sprintf(pipe_name, "/T/%x.%08lx", pipenum++, IUtility->GetUniqueID());
+#else
+       sprintf(pipe_name, "/PIPE/%x%08lx/4096/0", pipenum++,
+               IUtility->GetUniqueID());
+#endif
+
+       /*      printf("pipe: %s \n", pipe_name);*/
+
+       filedes[1] = open(pipe_name, O_WRONLY | O_CREAT);
+       filedes[0] = open(pipe_name, O_RDONLY);
+       if (filedes[0] == -1 || filedes[1] == -1)
+       {
+               if (filedes[0] != -1)
+                       close(filedes[0]);
+               if (filedes[1] != -1)
+                       close(filedes[1]);
+               return -1;
+       }
+       /*      printf("filedes %d %d\n", filedes[0],
+        * filedes[1]);fflush(stdout);*/
+
+       return 0;
+}
+
+int fork(void)
+{
+       fprintf(stderr, "Can not bloody fork\n");
+       errno = ENOMEM;
+       return -1;
+}
+
+int wait(int *status)
+{
+       fprintf(stderr, "No wait try waitpid instead\n");
+       errno = ECHILD;
+       return -1;
+}
+
+char *convert_path_a2u(const char *filename)
+{
+       struct NameTranslationInfo nti;
+
+       if (!filename)
+       {
+               return 0;
+       }
+
+       __translate_amiga_to_unix_path_name(&filename, &nti);
+
+       return mystrdup(filename);
+}
+char *convert_path_u2a(const char *filename)
+{
+       struct NameTranslationInfo nti;
+
+       if (!filename)
+       {
+               return 0;
+       }
+
+       if (strcmp(filename, "/dev/tty") == 0)
+       {
+               return mystrdup("CONSOLE:");
+               ;
+       }
+
+       __translate_unix_to_amiga_path_name(&filename, &nti);
+
+       return mystrdup(filename);
+}
+
+static struct SignalSemaphore environ_sema;
+
+void amigaos4_init_environ_sema()
+{
+       IExec->InitSemaphore(&environ_sema);
+}
+
+void amigaos4_obtain_environ()
+{
+       IExec->ObtainSemaphore(&environ_sema);
+}
+
+void amigaos4_release_environ()
+{
+       IExec->ReleaseSemaphore(&environ_sema);
+}
+
+static void createvars(char **envp)
+{
+       if (envp)
+       {
+               /* Set a local var to indicate to any subsequent sh that it is
+               * not
+               * the top level shell and so should only inherit local amigaos
+               * vars */
+               IDOS->SetVar("ABCSH_IMPORT_LOCAL", "TRUE", 5, GVF_LOCAL_ONLY);
+
+               amigaos4_obtain_environ();
+
+               envp = myenviron;
+
+               while ((envp != NULL) && (*envp != NULL))
+               {
+                       int len;
+                       char *var;
+                       char *val;
+                       if ((len = strlen(*envp)))
+                       {
+                               if ((var = (char *)IExec->AllocVec(
+                                              len + 1, MEMF_ANY | MEMF_CLEAR)))
+                               {
+                                       strcpy(var, *envp);
+
+                                       val = strchr(var, '=');
+                                       if (val)
+                                       {
+                                               *val++ = '\0';
+                                               if (*val)
+                                               {
+                                                       IDOS->SetVar(
+                                                           var, val,
+                                                           strlen(val) + 1,
+                                                           GVF_LOCAL_ONLY);
+                                               }
+                                       }
+                                       IExec->FreeVec(var);
+                               }
+                       }
+                       envp++;
+               }
+               amigaos4_release_environ();
+       }
+}
+
+static BOOL contains_whitespace(char *string)
+{
+
+       if (string)
+       {
+
+               if (strchr(string, ' '))
+                       return TRUE;
+               if (strchr(string, '\t'))
+                       return TRUE;
+               if (strchr(string, '\n'))
+                       return TRUE;
+               if (strchr(string, 0xA0))
+                       return TRUE;
+               if (strchr(string, '"'))
+                       return TRUE;
+       }
+       return FALSE;
+}
+
+static int no_of_escapes(char *string)
+{
+       int cnt = 0;
+       char *p;
+       for (p = string; p < string + strlen(string); p++)
+       {
+               if (*p == '"')
+                       cnt++;
+               if (*p == '*')
+                       cnt++;
+               if (*p == '\n')
+                       cnt++;
+               if (*p == '\t')
+                       cnt++;
+       }
+       return cnt;
+}
+
+struct command_data
+{
+       STRPTR args;
+       BPTR seglist;
+       struct Task *parent;
+};
+
+int myexecvp(bool isperlthread, const char *filename, char *argv[])
+{
+       //      adebug("%s %ld
+       //%s\n",__FUNCTION__,__LINE__,filename?filename:"NULL");
+       /* if there's a slash or a colon consider filename a path and skip
+        * search */
+       int res;
+       if ((strchr(filename, '/') == NULL) && (strchr(filename, ':') == NULL))
+       {
+               char *path;
+               char *name;
+               char *pathpart;
+               char *p;
+               size_t len;
+               struct stat st;
+
+               if (!(path = getenv("PATH")))
+               {
+                       path = ".:/bin:/usr/bin:/c";
+               }
+
+               len = strlen(filename) + 1;
+               name = (char *)alloca(strlen(path) + len);
+               pathpart = (char *)alloca(strlen(path) + 1);
+               p = path;
+               do
+               {
+                       path = p;
+
+                       if (!(p = strchr(path, ':')))
+                       {
+                               p = strchr(path, '\0');
+                       }
+
+                       memcpy(pathpart, path, p - path);
+                       pathpart[p - path] = '\0';
+                       if (!(strlen(pathpart) == 0))
+                       {
+                               sprintf(name, "%s/%s", pathpart, filename);
+                       }
+                       else
+                               sprintf(name, "%s", filename);
+
+                       if ((stat(name, &st) == 0) && (S_ISREG(st.st_mode)))
+                       {
+                               /* we stated it and it's a regular file */
+                               /* let's boogie! */
+                               filename = name;
+                               break;
+                       }
+
+               }
+               while (*p++ != '\0');
+       }
+       res = myexecve(isperlthread, filename, argv, myenviron);
+       return res;
+}
+
+int myexecv(bool isperlthread, const char *path, char *argv[])
+{
+       return myexecve(isperlthread, path, argv, myenviron);
+}
+
+int myexecl(bool isperlthread, const char *path, ...)
+{
+       va_list va;
+       char *argv[1024]; /* 1024 enough? let's hope so! */
+       int i = 0;
+       // adebug("%s %ld\n",__FUNCTION__,__LINE__);
+
+       va_start(va, path);
+       i = 0;
+
+       do
+       {
+               argv[i] = va_arg(va, char *);
+       }
+       while (argv[i++] != NULL);
+
+       va_end(va);
+       return myexecve(isperlthread, path, argv, myenviron);
+}
+
+#if 0
+
+int myexecve(const char *filename, char *argv[], char *envp[])
+{
+       FILE *fh;
+       char buffer[1000];
+       int size = 0;
+       char **cur;
+       char *interpreter = 0;
+       char *interpreter_args = 0;
+       char *full = 0;
+       char *filename_conv = 0;
+       char *interpreter_conv = 0;
+       //        char *tmp = 0;
+       char *fname;
+       //        int tmpint;
+       //        struct Task *thisTask = IExec->FindTask(0);
+       int result = -1;
+
+       StdioStore store;
+
+       dTHX;
+       if(aTHX) // I hope this is NULL when not on a interpreteer thread nor to level.
+       {
+               /* Save away our stdio */
+               amigaos_stdio_save(aTHX_ & store);
+       }
+
+       // adebug("%s %ld %s\n",__FUNCTION__,__LINE__,filename?filename:"NULL");
+
+       /* Calculate the size of filename and all args, including spaces and
+        * quotes */
+       size = 0; // strlen(filename) + 1;
+       for (cur = (char **)argv /* +1 */; *cur; cur++)
+       {
+               size +=
+                   strlen(*cur) + 1 +
+                   (contains_whitespace(*cur) ? (2 + no_of_escapes(*cur)) : 0);
+       }
+       /* Check if it's a script file */
+
+       fh = fopen(filename, "r");
+       if (fh)
+       {
+               if (fgetc(fh) == '#' && fgetc(fh) == '!')
+               {
+                       char *p;
+                       char *q;
+                       fgets(buffer, 999, fh);
+                       p = buffer;
+                       while (*p == ' ' || *p == '\t')
+                               p++;
+                       if (buffer[strlen(buffer) - 1] == '\n')
+                               buffer[strlen(buffer) - 1] = '\0';
+                       if ((q = strchr(p, ' ')))
+                       {
+                               *q++ = '\0';
+                               if (*q != '\0')
+                               {
+                                       interpreter_args = mystrdup(q);
+                               }
+                       }
+                       else
+                               interpreter_args = mystrdup("");
+
+                       interpreter = mystrdup(p);
+                       size += strlen(interpreter) + 1;
+                       size += strlen(interpreter_args) + 1;
+               }
+
+               fclose(fh);
+       }
+       else
+       {
+               /* We couldn't open this why not? */
+               if (errno == ENOENT)
+               {
+                       /* file didn't exist! */
+                       goto out;
+               }
+       }
+
+       /* Allocate the command line */
+       filename_conv = convert_path_u2a(filename);
+
+       if (filename_conv)
+               size += strlen(filename_conv);
+       size += 1;
+       full = (char *)IExec->AllocVec(size + 10, MEMF_ANY | MEMF_CLEAR);
+       if (full)
+       {
+               if (interpreter)
+               {
+                       interpreter_conv = convert_path_u2a(interpreter);
+#if !defined(__USE_RUNCOMMAND__)
+#warning(using system!)
+                       sprintf(full, "%s %s %s ", interpreter_conv,
+                               interpreter_args, filename_conv);
+#else
+                       sprintf(full, "%s %s ", interpreter_args,
+                               filename_conv);
+#endif
+                       IExec->FreeVec(interpreter);
+                       IExec->FreeVec(interpreter_args);
+
+                       if (filename_conv)
+                               IExec->FreeVec(filename_conv);
+                       fname = mystrdup(interpreter_conv);
+
+                       if (interpreter_conv)
+                               IExec->FreeVec(interpreter_conv);
+               }
+               else
+               {
+#ifndef __USE_RUNCOMMAND__
+                       sprintf(full, "%s ", filename_conv);
+#else
+                       sprintf(full, "");
+#endif
+                       fname = mystrdup(filename_conv);
+                       if (filename_conv)
+                               IExec->FreeVec(filename_conv);
+               }
+
+               for (cur = (char **)(argv + 1); *cur != 0; cur++)
+               {
+                       if (contains_whitespace(*cur))
+                       {
+                               int esc = no_of_escapes(*cur);
+
+                               if (esc > 0)
+                               {
+                                       char *buff = IExec->AllocVec(
+                                                        strlen(*cur) + 4 + esc,
+                                                        MEMF_ANY | MEMF_CLEAR);
+                                       char *p = *cur;
+                                       char *q = buff;
+
+                                       *q++ = '"';
+                                       while (*p != '\0')
+                                       {
+
+                                               if (*p == '\n')
+                                               {
+                                                       *q++ = '*';
+                                                       *q++ = 'N';
+                                                       p++;
+                                                       continue;
+                                               }
+                                               else if (*p == '"')
+                                               {
+                                                       *q++ = '*';
+                                                       *q++ = '"';
+                                                       p++;
+                                                       continue;
+                                               }
+                                               else if (*p == '*')
+                                               {
+                                                       *q++ = '*';
+                                               }
+                                               *q++ = *p++;
+                                       }
+                                       *q++ = '"';
+                                       *q++ = ' ';
+                                       *q = '\0';
+                                       strcat(full, buff);
+                                       IExec->FreeVec(buff);
+                               }
+                               else
+                               {
+                                       strcat(full, "\"");
+                                       strcat(full, *cur);
+                                       strcat(full, "\" ");
+                               }
+                       }
+                       else
+                       {
+                               strcat(full, *cur);
+                               strcat(full, " ");
+                       }
+               }
+               strcat(full, "\n");
+
+//            if(envp)
+//                 createvars(envp);
+
+#ifndef __USE_RUNCOMMAND__
+               result = IDOS->SystemTags(
+                            full, SYS_UserShell, TRUE, NP_StackSize,
+                            ((struct Process *)thisTask)->pr_StackSize, SYS_Input,
+                            ((struct Process *)thisTask)->pr_CIS, SYS_Output,
+                            ((struct Process *)thisTask)->pr_COS, SYS_Error,
+                            ((struct Process *)thisTask)->pr_CES, TAG_DONE);
+#else
+
+               if (fname)
+               {
+                       BPTR seglist = IDOS->LoadSeg(fname);
+                       if (seglist)
+                       {
+                               /* check if we have an executable! */
+                               struct PseudoSegList *ps = NULL;
+                               if (!IDOS->GetSegListInfoTags(
+                                           seglist, GSLI_Native, &ps, TAG_DONE))
+                               {
+                                       IDOS->GetSegListInfoTags(
+                                           seglist, GSLI_68KPS, &ps, TAG_DONE);
+                               }
+                               if (ps != NULL)
+                               {
+                                       //                    adebug("%s %ld %s
+                                       //                    %s\n",__FUNCTION__,__LINE__,fname,full);
+                                       IDOS->SetCliProgramName(fname);
+                                       //                        result=RunCommand(seglist,8*1024,full,strlen(full));
+                                       //                        result=myruncommand(seglist,8*1024,full,strlen(full),envp);
+                                       result = myruncommand(seglist, 8 * 1024,
+                                                             full, -1, envp);
+                                       errno = 0;
+                               }
+                               else
+                               {
+                                       errno = ENOEXEC;
+                               }
+                               IDOS->UnLoadSeg(seglist);
+                       }
+                       else
+                       {
+                               errno = ENOEXEC;
+                       }
+                       IExec->FreeVec(fname);
+               }
+
+#endif /* USE_RUNCOMMAND */
+
+               IExec->FreeVec(full);
+               if (errno == ENOEXEC)
+               {
+                       result = -1;
+               }
+               goto out;
+       }
+
+       if (interpreter)
+               IExec->FreeVec(interpreter);
+       if (filename_conv)
+               IExec->FreeVec(filename_conv);
+
+       errno = ENOMEM;
+
+out:
+
+       amigaos_stdio_restore(aTHX_ &store);
+       STATUS_NATIVE_CHILD_SET(result);
+       PL_exit_flags |= PERL_EXIT_EXPECTED;
+       if (result != -1) my_exit(result);
+
+       return(result);
+}
+
+#endif
+
+int pause(void)
+{
+       fprintf(stderr, "Pause not implemented\n");
+
+       errno = EINTR;
+       return -1;
+}
+
+uint32 size_env(struct Hook *hook, APTR userdata, struct ScanVarsMsg *message)
+{
+       if (strlen(message->sv_GDir) <= 4)
+       {
+               hook->h_Data = (APTR)(((uint32)hook->h_Data) + 1);
+       }
+       return 0;
+}
+
+uint32 copy_env(struct Hook *hook, APTR userdata, struct ScanVarsMsg *message)
+{
+       if (strlen(message->sv_GDir) <= 4)
+       {
+               char **env = (char **)hook->h_Data;
+               uint32 size =
+                   strlen(message->sv_Name) + 1 + message->sv_VarLen + 1 + 1;
+               char *buffer = (char *)IExec->AllocVec((uint32)size,
+                                                      MEMF_ANY | MEMF_CLEAR);
+
+               snprintf(buffer, size - 1, "%s=%s", message->sv_Name,
+                        message->sv_Var);
+
+               *env = buffer;
+               env++;
+               hook->h_Data = env;
+       }
+       return 0;
+}
+
+void ___makeenviron()
+{
+       struct Hook hook;
+
+       char varbuf[8];
+       uint32 flags = 0;
+
+       struct DOSIFace *myIDOS =
+           (struct DOSIFace *)OpenInterface("dos.library", 53);
+       if (myIDOS)
+       {
+               if (myIDOS->GetVar("ABCSH_IMPORT_LOCAL", varbuf, 8,
+                                  GVF_LOCAL_ONLY) > 0)
+               {
+                       flags = GVF_LOCAL_ONLY;
+               }
+               else
+               {
+                       flags = GVF_GLOBAL_ONLY;
+               }
+
+               hook.h_Entry = size_env;
+               hook.h_Data = 0;
+
+               myIDOS->ScanVars(&hook, flags, 0);
+               hook.h_Data = (APTR)(((uint32)hook.h_Data) + 1);
+
+               myenviron = (char **)IExec->AllocVec((uint32)hook.h_Data *
+                                                    sizeof(char **),
+                                                    MEMF_ANY | MEMF_CLEAR);
+               origenviron = myenviron;
+               if (!myenviron)
+               {
+                       return;
+               }
+               hook.h_Entry = copy_env;
+               hook.h_Data = myenviron;
+
+               myIDOS->ScanVars(&hook, flags, 0);
+               CloseInterface((struct Interface *)myIDOS);
+       }
+}
+
+void ___freeenviron()
+{
+       char **i;
+       /* perl might change environ, it puts it back except for ctrl-c */
+       /* so restore our own copy here */
+       struct DOSIFace *myIDOS =
+           (struct DOSIFace *)OpenInterface("dos.library", 53);
+       if (myIDOS)
+       {
+               myenviron = origenviron;
+
+               if (myenviron)
+               {
+                       for (i = myenviron; *i != NULL; i++)
+                       {
+                               IExec->FreeVec(*i);
+                       }
+                       IExec->FreeVec(myenviron);
+                       myenviron = NULL;
+               }
+               CloseInterface((struct Interface *)myIDOS);
+       }
+}
+
+/* reimplementation of popen, clib2's doesn't do all we want */
+
+static BOOL is_final_quote_character(const char *str)
+{
+       BOOL result;
+
+       result = (BOOL)(str[0] == '\"' && (str[1] == '\0' || isspace(str[1])));
+
+       return (result);
+}
+
+static BOOL is_final_squote_character(const char *str)
+{
+       BOOL result;
+
+       result = (BOOL)(str[0] == '\'' && (str[1] == '\0' || isspace(str[1])));
+
+       return (result);
+}
+
+int popen_child()
+{
+       struct Task *thisTask = IExec->FindTask(0);
+
+       char *command = (char *)thisTask->tc_UserData;
+       size_t len;
+       char *str;
+       int argc;
+       int number_of_arguments;
+       char *argv[4];
+
+       argv[0] = "sh";
+       argv[1] = "-c";
+       argv[2] = command ? command : NULL;
+       argv[3] = NULL;
+
+       // adebug("%s %ld  %s\n",__FUNCTION__,__LINE__,command?command:"NULL");
+
+       /* We need to give this to sh via execvp, execvp expects filename,
+        * argv[]
+        */
+
+       myexecvp(FALSE, argv[0], argv);
+       if (command)
+               IExec->FreeVec(command);
+
+       IExec->Forbid();
+       return 0;
+}
+
+FILE *amigaos_popen(const char *cmd, const char *mode)
+{
+       FILE *result = NULL;
+       char pipe_name[50];
+       char unix_pipe[50];
+       char ami_pipe[50];
+       char *cmd_copy;
+       BPTR input = 0;
+       BPTR output = 0;
+       struct Process *proc = NULL;
+       struct Task *thisTask = IExec->FindTask(0);
+
+       /* First we need to check the mode
+        * We can only have unidirectional pipes
+        */
+       //    adebug("%s %ld cmd %s mode %s \n",__FUNCTION__,__LINE__,cmd,
+       //    mode);
+
+       switch (mode[0])
+       {
+       case 'r':
+       case 'w':
+               break;
+
+       default:
+
+               errno = EINVAL;
+               return result;
+       }
+
+       /* Make a unique pipe name
+        * we need a unix one and an amigaos version (of the same pipe!)
+        * as were linking with libunix.
+        */
+
+       sprintf(pipe_name, "%x%08lx/4096/0", pipenum++,
+               IUtility->GetUniqueID());
+       sprintf(unix_pipe, "/PIPE/%s", pipe_name);
+       sprintf(ami_pipe, "PIPE:%s", pipe_name);
+
+       /* Now we open the AmigaOs Filehandles That we wil pass to our
+        * Sub process
+        */
+
+       if (mode[0] == 'r')
+       {
+               /* A read mode pipe: Output from pipe input from NIL:*/
+               input = IDOS->Open("NIL:", MODE_NEWFILE);
+               if (input != 0)
+               {
+                       output = IDOS->Open(ami_pipe, MODE_NEWFILE);
+               }
+       }
+       else
+       {
+
+               input = IDOS->Open(ami_pipe, MODE_NEWFILE);
+               if (input != 0)
+               {
+                       output = IDOS->Open("NIL:", MODE_NEWFILE);
+               }
+       }
+       if ((input == 0) || (output == 0))
+       {
+               /* Ouch stream opening failed */
+               /* Close and bail */
+               if (input)
+                       IDOS->Close(input);
+               if (output)
+                       IDOS->Close(output);
+               return result;
+       }
+
+       /* We have our streams now start our new process
+        * We're using a new process so that execve can modify the environment
+        * with messing things up for the shell that launched perl
+        * Copy cmd before we launch the subprocess as perl seems to waste
+        * no time in overwriting it! The subprocess will free the copy.
+        */
+
+       if ((cmd_copy = mystrdup(cmd)))
+       {
+               // adebug("%s %ld
+               // %s\n",__FUNCTION__,__LINE__,cmd_copy?cmd_copy:"NULL");
+               proc = IDOS->CreateNewProcTags(
+                          NP_Entry, popen_child, NP_Child, TRUE, NP_StackSize,
+                          ((struct Process *)thisTask)->pr_StackSize, NP_Input, input,
+                          NP_Output, output, NP_Error, IDOS->ErrorOutput(),
+                          NP_CloseError, FALSE, NP_Cli, TRUE, NP_Name,
+                          "Perl: popen process", NP_UserData, (int)cmd_copy,
+                          TAG_DONE);
+       }
+       if (!proc)
+       {
+               /* New Process Failed to start
+                * Close and bail out
+                */
+               if (input)
+                       IDOS->Close(input);
+               if (output)
+                       IDOS->Close(output);
+               if (cmd_copy)
+                       IExec->FreeVec(cmd_copy);
+       }
+
+       /* Our new process is running and will close it streams etc
+        * once its done. All we need to is open the pipe via stdio
+        */
+
+       return fopen(unix_pipe, mode);
+}
+
+/* Work arround for clib2 fstat */
+#ifndef S_IFCHR
+#define S_IFCHR 0x0020000
+#endif
+
+#define SET_FLAG(u, v) ((void)((u) |= (v)))
+
+int afstat(int fd, struct stat *statb)
+{
+       int result;
+       BPTR fh;
+       int mode;
+       BOOL input;
+       /* In the first instance pass it to fstat */
+       // adebug("fd %ld ad %ld\n",fd,amigaos_get_file(fd));
+
+       if ((result = fstat(fd, statb) >= 0))
+               return result;
+
+       /* Now we've got a file descriptor but we failed to stat it */
+       /* Could be a nil: or could be a std#? */
+
+       /* if get_default_file fails we had a dud fd so return failure */
+#if !defined(__CLIB2__)
+
+       fh = amigaos_get_file(fd);
+
+       /* if nil: return failure*/
+       if (fh == 0)
+               return -1;
+
+       /* Now compare with our process Input() Output() etc */
+       /* if these were regular files sockets or pipes we had already
+        * succeeded */
+       /* so we can guess they a character special console.... I hope */
+
+       struct ExamineData *data;
+       char name[120];
+       name[0] = '\0';
+
+       data = IDOS->ExamineObjectTags(EX_FileHandleInput, fh, TAG_END);
+       if (data != NULL)
+       {
+
+               IUtility->Strlcpy(name, data->Name, sizeof(name));
+
+               IDOS->FreeDosObject(DOS_EXAMINEDATA, data);
+       }
+
+       // adebug("ad %ld '%s'\n",amigaos_get_file(fd),name);
+       mode = S_IFCHR;
+
+       if (fh == IDOS->Input())
+       {
+               input = TRUE;
+               SET_FLAG(mode, S_IRUSR);
+               SET_FLAG(mode, S_IRGRP);
+               SET_FLAG(mode, S_IROTH);
+       }
+       else if (fh == IDOS->Output() || fh == IDOS->ErrorOutput())
+       {
+               input = FALSE;
+               SET_FLAG(mode, S_IWUSR);
+               SET_FLAG(mode, S_IWGRP);
+               SET_FLAG(mode, S_IWOTH);
+       }
+       else
+       {
+               /* we got a filehandle not handle by fstat or the above */
+               /* most likely it's NIL: but lets check */
+               struct ExamineData *exd = NULL;
+               if ((exd = IDOS->ExamineObjectTags(EX_FileHandleInput, fh,
+                                                  TAG_DONE)))
+               {
+                       BOOL isnil = FALSE;
+                       if (exd->Type ==
+                               (20060920)) // Ugh yes I know nasty.....
+                       {
+                               isnil = TRUE;
+                       }
+                       IDOS->FreeDosObject(DOS_EXAMINEDATA, exd);
+                       if (isnil)
+                       {
+                               /* yep we got NIL: */
+                               SET_FLAG(mode, S_IRUSR);
+                               SET_FLAG(mode, S_IRGRP);
+                               SET_FLAG(mode, S_IROTH);
+                               SET_FLAG(mode, S_IWUSR);
+                               SET_FLAG(mode, S_IWGRP);
+                               SET_FLAG(mode, S_IWOTH);
+                       }
+                       else
+                       {
+                               IExec->DebugPrintF(
+                                   "unhandled filehandle in afstat()\n");
+                               return -1;
+                       }
+               }
+       }
+
+       memset(statb, 0, sizeof(statb));
+
+       statb->st_mode = mode;
+
+#endif
+       return 0;
+}
+
+BPTR amigaos_get_file(int fd)
+{
+       BPTR fh = (BPTR)NULL;
+       if (!(fh = _get_osfhandle(fd)))
+       {
+               switch (fd)
+               {
+               case 0:
+                       fh = IDOS->Input();
+                       break;
+               case 1:
+                       fh = IDOS->Output();
+                       break;
+               case 2:
+                       fh = IDOS->ErrorOutput();
+                       break;
+               default:
+                       break;
+               }
+       }
+       return fh;
+}
+
+/*########################################################################*/
+
+#define LOCK_START 0xFFFFFFFFFFFFFFFELL
+#define LOCK_LENGTH 1LL
+
+// No wait forever option so lets wait for a loooong time.
+#define TIMEOUT 0x7FFFFFFF
+
+int amigaos_flock(int fd, int oper)
+{
+       BPTR fh;
+       int32 success = -1;
+
+       if (!(fh = amigaos_get_file(fd)))
+       {
+               errno = EBADF;
+               return -1;
+       }
+
+       switch (oper)
+       {
+       case LOCK_SH:
+       {
+               if (IDOS->LockRecord(fh, LOCK_START, LOCK_LENGTH,
+                                    REC_SHARED | RECF_DOS_METHOD_ONLY,
+                                    TIMEOUT))
+               {
+                       success = 0;
+               }
+               break;
+       }
+       case LOCK_EX:
+       {
+               if (IDOS->LockRecord(fh, LOCK_START, LOCK_LENGTH,
+                                    REC_EXCLUSIVE | RECF_DOS_METHOD_ONLY,
+                                    TIMEOUT))
+               {
+                       success = 0;
+               }
+               break;
+       }
+       case LOCK_SH | LOCK_NB:
+       {
+               if (IDOS->LockRecord(fh, LOCK_START, LOCK_LENGTH,
+                                    REC_SHARED_IMMED | RECF_DOS_METHOD_ONLY,
+                                    TIMEOUT))
+               {
+                       success = 0;
+               }
+               else
+               {
+                       errno = EWOULDBLOCK;
+               }
+               break;
+       }
+       case LOCK_EX | LOCK_NB:
+       {
+               if (IDOS->LockRecord(fh, LOCK_START, LOCK_LENGTH,
+                                    REC_EXCLUSIVE_IMMED | RECF_DOS_METHOD_ONLY,
+                                    TIMEOUT))
+               {
+                       success = 0;
+               }
+               else
+               {
+                       errno = EWOULDBLOCK;
+               }
+               break;
+       }
+       case LOCK_UN:
+       {
+               if (IDOS->UnLockRecord(fh, LOCK_START, LOCK_LENGTH))
+               {
+                       success = 0;
+               }
+               break;
+       }
+       default:
+       {
+               errno = EINVAL;
+               return -1;
+       }
+       }
+       return success;
+}
diff --git a/amigaos4/amigaos.h b/amigaos4/amigaos.h
new file mode 100644 (file)
index 0000000..0faff80
--- /dev/null
@@ -0,0 +1,73 @@
+#ifndef _AMIGAOS_H
+#define _AMIGAOS_H
+
+/* prototypes and defines missing from current OS4 SDK; */
+
+/* netinet/in.h */
+
+// #define INADDR_LOOPBACK   0x7f00001UL
+
+/* unistd.h */
+
+#include <stdio.h>
+
+#if defined(__CLIB2__)
+#include <dos.h>
+#endif
+#if defined(__NEWLIB__)
+#include <amiga_platform.h>
+#endif
+
+#if 1
+int myexecve(bool isperlthread, const char *path, char *argv[], char *env[]);
+int myexecvp(bool isperlthread, const char *filename, char *argv[]);
+int myexecv(bool isperlthread, const char *path, char *argv[]);
+int myexecl(bool isperlthread, const char *path, ...);
+#endif
+
+#define execve(path, argv, env) myexecve(TRUE, path, argv, env)
+#define execvp(filename, argv) myexecvp(TRUE, filename, argv)
+#define execv(path, argv) myexecv(TRUE, path, argv)
+#define execl(path, ...) myexecl(TRUE, path, __VA_ARGS__)
+
+int pipe(int filedes[2]);
+
+FILE *amigaos_popen(const char *cmd, const char *mode);
+void amigaos4_obtain_environ();
+void amigaos4_release_environ();
+
+char *mystrdup(const char *s);
+
+char *convert_path_u2a(const char *filename);
+char *convert_path_a2u(const char *filename);
+
+/* Need Pid_t define to make amigaos.c compile without including config.h */
+#ifndef Pid_t
+#define Pid_t pid_t
+#endif
+
+int amigaos_kill(Pid_t pid, int  signal);
+
+#define kill(a,b) amigaos_kill((a),(b))
+
+void ___makeenviron() __attribute__((constructor));
+void ___freeenviron() __attribute__((destructor));
+
+long amigaos_get_file(int fd);
+
+void amigaos4_init_fork_array();
+void amigaos4_dispose_fork_array();
+void amigaos4_init_environ_sema();
+
+/* emulated flock stuff */
+
+#define LOCK_SH 1 /* Shared lock.  */
+#define LOCK_EX 2 /* Exclusive lock.  */
+#define LOCK_UN 8 /* Unlock.  */
+#define LOCK_NB 4 /* Don't block when locking.  */
+
+extern int flock(int fd, int operation);
+
+#define flock(a, b) amigaos_flock((a), (b))
+
+#endif
diff --git a/amigaos4/config.sh b/amigaos4/config.sh
new file mode 100644 (file)
index 0000000..77331f0
--- /dev/null
@@ -0,0 +1,63 @@
+bin='/SDK/Local/C'
+binexp='/SDK/Local/C'
+ccflags='-fno-strict-aliasing  -mcrt=newlib -I/SDK/newlib/include -I/SDK/local/newlib/include -I/SDK/Local/common/include -DDEBUGGING'
+cppflags='-fno-strict-aliasing -I/SDK/newlib/include -I/SDK/local/newlib/include -I/SDK/Local/common/include -DDEBUGGING'
+initialinstalllocation='/SDK/Local/C'
+installbin='/SDK/Local/C'
+installprefix='/SDK/Local/newlib'
+installprefixexp='/SDK/Local/newlib'
+installscript='/SDK/Local/C'
+installsitebin='/SDK/Local/C'
+installsitescript='/SDK/Local/C'
+libc='/SDK/newlib/lib/libc.a'
+libpth='/SDK/newlib/lib /SDK/local/newlib/lib'
+libsdirs=' /SDK/newlib/lib'
+libsfound=' /SDK/newlib/lib/libsocket.a /SDK/newlib/lib/libm.a /SDK/newlib/lib/libc.a'
+libspath=' /SDK/newlib/lib /SDK/local/newlib/lib'
+make_set_make='MAKE=/SDK/C/gmake'
+perl5='/SDK/Local/C/perl'
+perlpath='/SDK/Local/C/perl'
+prefix='/SDK/Local/newlib'
+prefixexp='/SDK/Local/newlib'
+scriptdir='/SDK/Local/C'
+scriptdirexp='/SDK/Local/C'
+sitebin='/SDK/Local/C'
+sitebinexp='/SDK/Local/C'
+siteprefix='/SDK/Local'
+siteprefixexp='/SDK/Local'
+sitescript='/SDK/Local/C'
+sitescriptexp='/SDK/Local/C'
+startperl='#!SDK:Local/C/perl'
+startsh='#!SDK:C/sh'
+xlibpth='/lib /SDK/newlib/lib'
+lddlflags='-shared'
+ldflags='-mcrt=newlib'
+ldflags_uselargefiles=''
+dlext='pso'
+cccdlflags='-fPIC'
+ccdlflags='-use-dynld  -Wl,--export-dynamic'
+libs='-lm -lauto -lpthread -lunix'
+usedl='define'
+useithreads='define'
+usemultiplicity='define'
+usemymalloc='n'
+usenm='false'
+usethreads='define'
+dlsrc='dl_dlopen.xs'
+d_procselfexe='undef'
+sig_count='50'
+sig_name='ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH LOST USR1 USR2 NUM32 NUM33 NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43 NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 CLD IOT POLL '
+sig_name_init='"ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT" , "EMT", "FPE",  "KILL", "BUS", "SEGV","SYS","PIPE","ALRM","TERM","URG","STOP","TSTP","CONT", "CHLD","TTIN", "TTOU", "IO" , "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "LOST" , "USR1", "USR2", "NUM32", "NUM33", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "NUM48", "NUM49", "CLD", "IOT" , "POLL"'
+sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 20 6 23 '
+sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 20, 6, 23 '
+sig_size='53'
+optimize='-gstabs -O2'
+archobjs='amigaos.o amigaio.o'
+firstmakefile='gnumakefile'
+i_sysfile='undef' # just a wrapper for fnctl and gets included after
+i_fcntl='define'
+h_fcntl='true'
+h_sysfile='false'
+i_syswait='undef'
+d_flock='define'
+d_flockproto='define'
diff --git a/av.c b/av.c
index 2d9717a..cb99ceb 100644 (file)
--- a/av.c
+++ b/av.c
@@ -288,7 +288,7 @@ Perl_av_fetch(pTHX_ AV *av, SSize_t key, I32 lval)
 =for apidoc av_store
 
 Stores an SV in an array.  The array index is specified as C<key>.  The
-return value will be NULL if the operation failed or if the value did not
+return value will be C<NULL> if the operation failed or if the value did not
 need to be actually stored within the array (as in the case of tied
 arrays).  Otherwise, it can be dereferenced
 to get the C<SV*> that was stored
@@ -296,7 +296,7 @@ there (= C<val>)).
 
 Note that the caller is responsible for suitably incrementing the reference
 count of C<val> before the call, and decrementing it if the function
-returned NULL.
+returned C<NULL>.
 
 Approximate Perl equivalent: C<$myarray[$key] = $val;>.
 
@@ -383,7 +383,7 @@ Perl_av_store(pTHX_ AV *av, SSize_t key, SV *val)
 =for apidoc av_make
 
 Creates a new AV and populates it with a list of SVs.  The SVs are copied
-into the array, so they may be freed after the call to av_make.  The new AV
+into the array, so they may be freed after the call to C<av_make>.  The new AV
 will have a reference count of 1.
 
 Perl equivalent: C<my @new_array = ($scalar1, $scalar2, $scalar3...);>
@@ -432,9 +432,9 @@ Perl_av_make(pTHX_ SSize_t size, SV **strp)
 /*
 =for apidoc av_clear
 
-Clears an array, making it empty.  Does not free the memory the av uses to
+Clears an array, making it empty.  Does not free the memory C<av> uses to
 store its list of scalars.  If any destructors are triggered as a result,
-the av itself may be freed when this function returns.
+C<av> itself may be freed when this function returns.
 
 Perl equivalent: C<@myarray = ();>.
 
@@ -497,7 +497,7 @@ Perl_av_clear(pTHX_ AV *av)
 =for apidoc av_undef
 
 Undefines the array.  Frees the memory used by the av to store its list of
-scalars.  If any destructors are triggered as a result, the av itself may
+scalars.  If any destructors are triggered as a result, C<av> itself may
 be freed.
 
 =cut
@@ -649,7 +649,7 @@ Unshift the given number of C<undef> values onto the beginning of the
 array.  The array will grow automatically to accommodate the addition.  You
 must then use C<av_store> to assign values to these new elements.
 
-Perl equivalent: C<unshift @myarray, ( (undef) x $n );>
+Perl equivalent: S<C<unshift @myarray, ( (undef) x $n );>>
 
 =cut
 */
@@ -752,7 +752,7 @@ Perl_av_shift(pTHX_ AV *av)
 =for apidoc av_top_index
 
 Returns the highest index in the array.  The number of elements in the
-array is C<av_top_index(av) + 1>.  Returns -1 if the array is empty.
+array is S<C<av_top_index(av) + 1>>.  Returns -1 if the array is empty.
 
 The Perl equivalent for this is C<$#myarray>.
 
@@ -780,12 +780,12 @@ Perl_av_len(pTHX_ AV *av)
 =for apidoc av_fill
 
 Set the highest index in the array to the given number, equivalent to
-Perl's C<$#array = $fill;>.
+Perl's S<C<$#array = $fill;>>.
 
-The number of elements in the array will be C<fill + 1> after
-av_fill() returns.  If the array was previously shorter, then the
+The number of elements in the array will be S<C<fill + 1>> after
+C<av_fill()> returns.  If the array was previously shorter, then the
 additional elements appended are set to NULL.  If the array
-was longer, then the excess elements are freed.  C<av_fill(av, -1)> is
+was longer, then the excess elements are freed.  S<C<av_fill(av, -1)>> is
 the same as C<av_clear(av)>.
 
 =cut
@@ -835,8 +835,8 @@ Perl_av_fill(pTHX_ AV *av, SSize_t fill)
 
 Deletes the element indexed by C<key> from the array, makes the element mortal,
 and returns it.  If C<flags> equals C<G_DISCARD>, the element is freed and null
-is returned.  Perl equivalent: C<my $elem = delete($myarray[$idx]);> for the
-non-C<G_DISCARD> version and a void-context C<delete($myarray[$idx]);> for the
+is returned.  Perl equivalent: S<C<my $elem = delete($myarray[$idx]);>> for the
+non-C<G_DISCARD> version and a void-context S<C<delete($myarray[$idx]);>> for the
 C<G_DISCARD> version.
 
 =cut
@@ -912,7 +912,7 @@ Perl_av_delete(pTHX_ AV *av, SSize_t key, I32 flags)
 Returns true if the element indexed by C<key> has been initialized.
 
 This relies on the fact that uninitialized array elements are set to
-NULL.
+C<NULL>.
 
 Perl equivalent: C<exists($myarray[$key])>.
 
index 8f14d31..a9ff0ca 100644 (file)
@@ -99495,7 +99495,7 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */
 #endif /* EBCDIC POSIX-BC */
 
 /* Generated from:
- * 0bca60a25eb4ccf2e04f50446db5f882322f50a9c61dc57bb806ccfc9b2e26a4 lib/Unicode/UCD.pm
+ * 40444e5cd670b57be97020416a80439abe6d08dc75b4fd29745894749183e9a0 lib/Unicode/UCD.pm
  * ae98bec7e4f0564758eed81eca5015481ba32581f8a735a825b71b3bba714450 lib/unicore/ArabicShaping.txt
  * 1687fe5994eb7e5c0dab8503fc2a1b3b479d91af9d3b8055941c9bd791f7d0b5 lib/unicore/BidiBrackets.txt
  * 350d1302116194b0b21def287434b55c5088098fbc726e879f7420a391965643 lib/unicore/BidiMirroring.txt
@@ -99537,7 +99537,7 @@ static const UV XPosixXDigit_invlist[] = { /* for EBCDIC POSIX-BC */
  * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt
  * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt
  * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt
- * ad739a46951b5f46396074b0682a2cfeed24b633a742a8e1aa0e337f69ef8b1c lib/unicore/mktables
+ * 00c1bda0498082b8245a27cca31028ec97b90ad717b00281ea023d25e11428f1 lib/unicore/mktables
  * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version
  * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl
  * 8a097f8f726bb1619af2f27f149ab87e60a1602f790147e3a561358be16abd27 regen/mk_invlists.pl
index 2d3dc55..b0928a4 100644 (file)
@@ -2885,6 +2885,7 @@ $ THEN
 $   dflt = dflt - "Socket"            ! optional on VMS
 $ ENDIF
 $ dflt = dflt - "Win32API/File" - "Win32"  ! need Dave Cutler's other project
+$ dflt = dflt - "Amiga/ARexx" - "Amiga/Exec" ! this is not AmigaOS
 $ nonxs_ext = nonxs_ext - "Win32CORE"
 $ nonxs_ext2 = nonxs_ext2 - "Win32CORE"
 $ dflt = F$EDIT(dflt,"TRIM,COMPRESS")
diff --git a/cop.h b/cop.h
index 70e7817..aae9cea 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -1018,15 +1018,15 @@ struct context {
 
 /*
 =for apidoc AmU||G_SCALAR
-Used to indicate scalar context.  See C<GIMME_V>, C<GIMME>, and
+Used to indicate scalar context.  See C<L</GIMME_V>>, C<L</GIMME>>, and
 L<perlcall>.
 
 =for apidoc AmU||G_ARRAY
-Used to indicate list context.  See C<GIMME_V>, C<GIMME> and
+Used to indicate list context.  See C<L</GIMME_V>>, C<L</GIMME>> and
 L<perlcall>.
 
 =for apidoc AmU||G_VOID
-Used to indicate void context.  See C<GIMME_V> and L<perlcall>.
+Used to indicate void context.  See C<L</GIMME_V>> and L<perlcall>.
 
 =for apidoc AmU||G_DISCARD
 Indicates that arguments returned from a callback should be discarded.  See
index 2930e30..0184062 100644 (file)
@@ -183,7 +183,7 @@ typedef di_stream * Compress__Raw__Zlib__inflateScanStream ;
 #  define OS_CODE  0x00
 #endif
 
-#if defined(AMIGA) || defined(AMIGAOS) 
+#if defined(AMIGA) || defined(AMIGAOS) || defined(__amigaos4__)
 #  define OS_CODE  0x01
 #endif
  
index 34bd417..0089b59 100644 (file)
@@ -10,7 +10,7 @@ use warnings ;
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS);
 
-$VERSION = '2.068';
+$VERSION = '2.068_01'; # patched in perl5.git
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
index 1fea02b..574720e 100644 (file)
@@ -1,10 +1,10 @@
 #
-# $Id: Encode.pm,v 2.76 2015/07/31 02:17:53 dankogai Exp $
+# $Id: Encode.pm,v 2.77 2015/09/15 13:53:11 dankogai Exp $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.76 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.77 $ =~ /(\d+)/g;
 use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use XSLoader ();
 XSLoader::load( __PACKAGE__, $VERSION );
index 73f64a8..81b5dea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- $Id: Encode.xs,v 2.33 2015/01/22 10:17:32 dankogai Exp $
+ $Id: Encode.xs,v 2.34 2015/09/15 13:53:27 dankogai Exp dankogai $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -534,20 +534,25 @@ CODE:
         }
     }
     else {
-       /* Native bytes - can always encode */
-    U8 *d = (U8 *) SvGROW(dst, 2*slen+1); /* +1 or assertion will botch */
-       while (s < e) {
-           UV uv = NATIVE_TO_UNI((UV) *s);
-           s++; /* Above expansion of NATIVE_TO_UNI() is safer this way. */
+        /* Native bytes - can always encode */
+        U8 *d = (U8 *) SvGROW(dst, 2*slen+1); /* +1 or assertion will botch */
+        while (s < e) {
+#ifdef append_utf8_from_native_byte
+            append_utf8_from_native_byte(*s, &d);
+            s++;
+#else
+            UV uv = NATIVE_TO_UNI((UV) *s);
+            s++; /* Above expansion of NATIVE_TO_UNI() is safer this way. */
             if (UNI_IS_INVARIANT(uv))
-               *d++ = (U8)UTF_TO_NATIVE(uv);
+                *d++ = (U8)UTF_TO_NATIVE(uv);
             else {
-               *d++ = (U8)UTF8_EIGHT_BIT_HI(uv);
+                *d++ = (U8)UTF8_EIGHT_BIT_HI(uv);
                 *d++ = (U8)UTF8_EIGHT_BIT_LO(uv);
             }
-    }
+#endif
+        }
         SvCUR_set(dst, d- (U8 *)SvPVX(dst));
-       *SvEND(dst) = '\0';
+        *SvEND(dst) = '\0';
     }
 
     /* Clear out translated part of source unless asked not to */
index 0ee181b..39e5570 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: Makefile.PL,v 2.14 2015/06/25 00:49:23 dankogai Exp $
+# $Id: Makefile.PL,v 2.15 2015/09/15 13:53:27 dankogai Exp dankogai $
 #
 use 5.007003;
 use strict;
@@ -15,7 +15,7 @@ $ENV{PERL_CORE} ||= $ARGV{PERL_CORE} if $ARGV{PERL_CORE};
 my %tables = 
     (
      def_t => ['ascii.ucm',
-           '8859-1.ucm',
+           '8859-1.ucm', # cp1252 is an alias thereof
            'null.ucm',
            'ctrl.ucm',
            ]
index 3d9fb87..316768e 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 no warnings 'redefine';
 
-our $VERSION = do { my @r = ( q$Revision: 2.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.14 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );
@@ -176,7 +176,13 @@ simply treated as a normal character (ZERO WIDTH NO-BREAK SPACE).
 
 When BE or LE is omitted during decode(), it checks if BOM is at the
 beginning of the string; if one is found, the endianness is set to
-what the BOM says.  If no BOM is found, the routine dies.
+what the BOM says.  
+
+=item Default Byte Order
+
+When no BOM is found, Encode 2.76 and blow croaked.  Since Encode
+2.77, it falls back to BE accordingly to RFC2781 and the Unicode
+Standard version 8.0
 
 =item *
 
index 5f3bceb..42f215c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- $Id: Unicode.xs,v 2.12 2015/06/25 00:49:23 dankogai Exp $
+ $Id: Unicode.xs,v 2.13 2015/09/15 13:53:27 dankogai Exp dankogai $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -166,9 +166,19 @@ CODE:
                endian = 'V';
            }
            else {
-               croak("%"SVf":Unrecognised BOM %"UVxf,
-                     *hv_fetch((HV *)SvRV(obj),"Name",4,0),
-                     bom);
+               /* No BOM found, use big-endian fallback as specified in
+                * RFC2781 and the Unicode Standard version 8.0:
+                *
+                *  The UTF-16 encoding scheme may or may not begin with
+                *  a BOM. However, when there is no BOM, and in the
+                *  absence of a higher-level protocol, the byte order
+                *  of the UTF-16 encoding scheme is big-endian.
+                *
+                *  If the first two octets of the text is not 0xFE
+                *  followed by 0xFF, and is not 0xFF followed by 0xFE,
+                *  then the text SHOULD be interpreted as big-endian.
+                */
+                s -= size;
            }
        }
 #if 1
index ae9512e..8450f9c 100644 (file)
@@ -1,6 +1,6 @@
-# $Id: encoding.pm,v 2.16 2015/06/30 09:55:44 dankogai Exp $
+# $Id: encoding.pm,v 2.17 2015/09/15 13:53:27 dankogai Exp dankogai $
 package encoding;
-our $VERSION = sprintf "%d.%02d", q$Revision: 2.16 $ =~ /(\d+)/g;
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.17 $ =~ /(\d+)/g;
 
 use Encode;
 use strict;
@@ -12,13 +12,6 @@ use constant {
     PERL_5_21_7 => $^V && $^V ge v5.21.7,
 };
 
-BEGIN {
-    if ( ord("A") == 193 ) {
-        require Carp;
-        Carp::croak("encoding: pragma does not support EBCDIC platforms");
-    }
-}
-
 sub _exception {
     my $name = shift;
     $] > 5.008 and return 0;    # 5.8.1 or higher then no
@@ -115,6 +108,12 @@ sub _get_locale_encoding {
 }
 
 sub import {
+
+    if ( ord("A") == 193 ) {
+        require Carp;
+        Carp::croak("encoding: pragma does not support EBCDIC platforms");
+    }
+
     if ($] >= 5.017) {
        warnings::warnif("deprecated",
                         "Use of the encoding pragma is deprecated")
index 8c7f253..21f9e47 100644 (file)
@@ -14,7 +14,8 @@ BEGIN {
     }
 }
 
-print "1..31\n";
+print "1..33\n";
 
 no warnings "deprecated";
 use encoding "latin1"; # ignored (overwritten by the next line)
@@ -202,3 +203,13 @@ print "ok 28\n";
     print $h1{"\x{3af}"} == 41 ? "ok 30\n" : "not ok 30\n";
     print $h2{"\xdf"}    == 42 ? "ok 31\n" : "not ok 31\n";
 }
+
+# Order of finding the above-Latin1 code point should not matter: both should
+# assume Latin1/Unicode encoding
+{
+    use bytes;
+    print "not " if "\xDF\x{100}" =~ /\x{3af}\x{100}/;
+    print "ok 32\n";
+    print "not " if "\x{100}\xDF" =~ /\x{100}\x{3af}/;
+    print "ok 33\n";
+}
index c955083..95f07c7 100644 (file)
@@ -1,7 +1,7 @@
 #
-# $Id: koi8-u.ucm,v 2.2 2015/07/31 02:18:28 dankogai Exp dankogai $
+# $Id: koi8-u.ucm,v 2.2 2015/07/31 02:18:28 dankogai Exp $
 #
-# Written $Id: koi8-u.ucm,v 2.2 2015/07/31 02:18:28 dankogai Exp dankogai $
+# Written $Id: koi8-u.ucm,v 2.2 2015/07/31 02:18:28 dankogai Exp $
 # ./compile -n koi8-u -o Encode/koi8-u.ucm Encode/koi8-u.enc
 #
 # Original table can be obtained at
diff --git a/cpan/ExtUtils-Command/t/lib/TieOut.pm b/cpan/ExtUtils-Command/t/lib/TieOut.pm
deleted file mode 100644 (file)
index 0a0f5f9..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-package TieOut;
-
-sub TIEHANDLE {
-    my $scalar = '';
-    bless( \$scalar, $_[0]);
-}
-
-sub PRINT {
-    my $self = shift;
-    $$self .= join('', @_);
-}
-
-sub PRINTF {
-    my $self = shift;
-    my $fmt  = shift;
-    $$self .= sprintf $fmt, @_;
-}
-
-sub FILENO {}
-
-sub read {
-    my $self = shift;
-    my $data = $$self;
-    $$self = '';
-    return $data;
-}
-
-1;
@@ -7,7 +7,8 @@ use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
 @ISA       = qw(Exporter);
 @EXPORT    = qw(cp rm_f rm_rf mv cat eqtime mkpath touch test_f test_d chmod
                 dos2unix);
-$VERSION = '1.20';
+$VERSION = '7.10';
+$VERSION = eval $VERSION;
 
 my $Is_VMS   = $^O eq 'VMS';
 my $Is_VMS_mode = $Is_VMS;
@@ -373,3 +374,4 @@ ExtUtils-MakeMaker package and, as a separate CPAN package, by
 Randy Kobes C<r.kobes@uwinnipeg.ca>.
 
 =cut
+
index 203b3aa..6c1898d 100644 (file)
@@ -10,7 +10,7 @@ our @ISA = qw(Exporter);
 
 our @EXPORT  = qw(test_harness pod2man perllocal_install uninstall
                   warn_if_old_packlist test_s cp_nonempty);
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 my $Is_VMS = $^O eq 'VMS';
 
index 3df1793..f856657 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Liblist;
 
 use strict;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 use File::Spec;
 require ExtUtils::Liblist::Kid;
index 37bcfd4..c56f539 100644 (file)
@@ -11,7 +11,7 @@ use 5.006;
 
 use strict;
 use warnings;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 use ExtUtils::MakeMaker::Config;
 use Cwd 'cwd';
index f2aa8b4..c58e0a5 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MM;
 use strict;
 use ExtUtils::MakeMaker::Config;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::Liblist;
 require ExtUtils::MakeMaker;
index 58ea5b9..2e0739d 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_AIX;
 
 use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index 4c00129..570ea72 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_Any;
 
 use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 use Carp;
 use File::Spec;
@@ -1668,7 +1668,7 @@ CODE
     my $add_sign_to_dist = $self->cd('$(DISTVNAME)' => $add_sign );
 
     return sprintf <<'MAKE', $add_sign_to_dist, $touch_sig, $sign_dist
-distsignature : create_distdir
+distsignature : distmeta
        $(NOECHO) %s
        $(NOECHO) %s
        %s
index 35b76c0..847d833 100644 (file)
@@ -26,7 +26,7 @@ require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 
 =item os_flavor
index b504c47..72cccb8 100644 (file)
@@ -9,7 +9,7 @@ require ExtUtils::MM_Unix;
 require ExtUtils::MM_Win32;
 our @ISA = qw( ExtUtils::MM_Unix );
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 
 =head1 NAME
index 353c54f..ab3e9d8 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_DOS;
 
 use strict;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
index 315d1b4..8d189b5 100644 (file)
@@ -7,7 +7,7 @@ BEGIN {
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 
 =head1 NAME
index bef2c00..27983f4 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_MacOS;
 
 use strict;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 sub new {
     die 'MacOS Classic (MacPerl) is no longer supported by MakeMaker';
index 4e36796..a236d11 100644 (file)
@@ -22,7 +22,7 @@ use strict;
 use ExtUtils::MakeMaker::Config;
 use File::Basename;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Win32;
 our @ISA = qw(ExtUtils::MM_Win32);
index c9ace00..2730ee3 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use ExtUtils::MakeMaker qw(neatvalue);
 use File::Spec;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
index 13e12c4..588c7ee 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_QNX;
 
 use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index 4af2909..9ff061a 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_UWIN;
 
 use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index f63145c..535b1f3 100644 (file)
@@ -15,7 +15,7 @@ use ExtUtils::MakeMaker qw($Verbose neatvalue);
 
 # If we make $VERSION an our variable parse_version() breaks
 use vars qw($VERSION);
-$VERSION = '7.04_01';
+$VERSION = '7.10';
 $VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
 require ExtUtils::MM_Any;
@@ -676,13 +676,13 @@ Defines a check in target for RCS.
 
 sub dist_ci {
     my($self) = shift;
-    return q{
-ci :
-       $(PERLRUN) "-MExtUtils::Manifest=maniread" \\
-         -e "@all = keys %{ maniread() };" \\
-         -e "print(qq{Executing $(CI) @all\n}); system(qq{$(CI) @all});" \\
-         -e "print(qq{Executing $(RCS_LABEL) ...\n}); system(qq{$(RCS_LABEL) @all});"
-};
+    return sprintf "ci :\n\t%s\n", $self->oneliner(<<'EOF', [qw(-MExtUtils::Manifest=maniread)]);
+@all = sort keys %{ maniread() };
+print(qq{Executing $(CI) @all\n});
+system(qq{$(CI) @all}) == 0 or die $!;
+print(qq{Executing $(RCS_LABEL) ...\n});
+system(qq{$(RCS_LABEL) @all}) == 0 or die $!;
+EOF
 }
 
 =item dist_core (o)
index 45d06b0..9b2f964 100644 (file)
@@ -15,7 +15,7 @@ BEGIN {
 
 use File::Basename;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
@@ -1764,7 +1764,8 @@ sub oneliner {
     $cmd =~ s{^\n+}{};
     $cmd =~ s{\n+$}{};
 
-    $cmd = $self->quote_literal($cmd);
+    my @cmds = split /\n/, $cmd;
+    $cmd = join " \n\t  -e ", map $self->quote_literal($_), @cmds;
     $cmd = $self->escape_newlines($cmd);
 
     # Switches must be quoted else they will be lowercased.
index dfec6d5..77fe4f9 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_VOS;
 
 use strict;
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);
index fbd3f49..47ce479 100644 (file)
@@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue );
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`
 
index cc37c24..f36e23f 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MM_Win95;
 
 use strict;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require ExtUtils::MM_Win32;
 our @ISA = qw(ExtUtils::MM_Win32);
index f2114f9..a100b0b 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::MY;
 use strict;
 require ExtUtils::MM;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 our @ISA = qw(ExtUtils::MM);
 
 {
index fe95b27..4f9d46f 100644 (file)
@@ -24,7 +24,7 @@ my %Recognized_Att_Keys;
 our %macro_fsentity; # whether a macro is a filesystem name
 our %macro_dep; # whether a macro is a dependency
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 $VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
 # Emulate something resembling CVS $Revision$
@@ -42,7 +42,7 @@ our @EXPORT_OK = qw($VERSION &neatvalue &mkbootstrap &mksymlists
 # purged.
 my $Is_VMS     = $^O eq 'VMS';
 my $Is_Win32   = $^O eq 'MSWin32';
-my $UNDER_CORE = $ENV{PERL_CORE};
+our $UNDER_CORE = $ENV{PERL_CORE}; # needs to be our
 
 full_setup();
 
@@ -439,7 +439,7 @@ sub new {
    }
 
     print "MakeMaker (v$VERSION)\n" if $Verbose;
-    if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
+    if (-f "MANIFEST" && ! -f "Makefile" && ! $UNDER_CORE){
         check_manifest();
     }
 
@@ -525,7 +525,7 @@ END
             warn sprintf "Warning: prerequisite %s %s not found.\n",
               $prereq, $required_version
                    unless $self->{PREREQ_FATAL}
-                       or $ENV{PERL_CORE};
+                       or $UNDER_CORE;
 
             $unsatisfied{$prereq} = 'not installed';
         }
@@ -533,7 +533,7 @@ END
             warn sprintf "Warning: prerequisite %s %s not found. We have %s.\n",
               $prereq, $required_version, ($pr_version || 'unknown version')
                   unless $self->{PREREQ_FATAL}
-                       or $ENV{PERL_CORE};
+                       or $UNDER_CORE;
 
             $unsatisfied{$prereq} = $required_version ? $required_version : 'unknown version' ;
         }
@@ -1175,12 +1175,9 @@ sub flush {
     binmode $fh, ':encoding(locale)' if $CAN_DECODE;
 
     for my $chunk (@{$self->{RESULT}}) {
-        my $to_write = "$chunk\n";
-        if (!$CAN_DECODE && $] > 5.008) {
-            utf8::encode $to_write;
-        }
-        print $fh "$chunk\n"
-            or die "Can't write to MakeMaker.tmp: $!";
+        my $to_write = $chunk;
+        utf8::encode $to_write if !$CAN_DECODE && $] > 5.008;
+        print $fh "$to_write\n" or die "Can't write to MakeMaker.tmp: $!";
     }
 
     close $fh
index 9001cc6..d469870 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::MakeMaker::Config;
 
 use strict;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 use Config ();
 
index d2b4ab3..ac14d0d 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::FAQ;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 1;
 __END__
index 23d0c6e..68fcd4c 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::MakeMaker::Locale;
 
 use strict;
-our $VERSION = "7.04_01";
+our $VERSION = "7.10";
 
 use base 'Exporter';
 our @EXPORT_OK = qw(
index 9cbdd9b..d5679a3 100644 (file)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::Tutorial;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 
 =head1 NAME
index 3269f44..07743f0 100644 (file)
@@ -15,7 +15,7 @@ use strict;
 
 use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
 
-$VERSION = '7.04_01';
+$VERSION = '7.10';
 $CLASS = 'version';
 
 {
index a134a00..be083b3 100644 (file)
@@ -10,7 +10,7 @@ use strict;
 
 use vars qw($VERSION $CLASS $STRICT $LAX);
 
-$VERSION = '7.04_01';
+$VERSION = '7.10';
 
 #--------------------------------------------------------------------------#
 # Version regexp components
index 34bbd01..031025f 100644 (file)
@@ -128,7 +128,7 @@ use strict;
 
 use Config;
 use vars qw($VERSION $CLASS @ISA $LAX $STRICT);
-$VERSION = '7.04_01';
+$VERSION = '7.10';
 $CLASS = 'ExtUtils::MakeMaker::version::vpp';
 
 require ExtUtils::MakeMaker::version::regex;
index 97d4300..74c9199 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::Mkbootstrap;
 # There's just too much Dynaloader incest here to turn on strict vars.
 use strict 'refs';
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 require Exporter;
 our @ISA = ('Exporter');
index 3a9fc71..09e058e 100644 (file)
@@ -10,7 +10,7 @@ use Config;
 
 our @ISA = qw(Exporter);
 our @EXPORT = qw(&Mksymlists);
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 sub Mksymlists {
     my(%spec) = @_;
index 2a5323e..74bce3d 100644 (file)
@@ -3,7 +3,7 @@ package ExtUtils::testlib;
 use strict;
 use warnings;
 
-our $VERSION = '7.04_01';
+our $VERSION = '7.10';
 
 use Cwd;
 use File::Spec;
similarity index 98%
rename from cpan/ExtUtils-Command/t/eu_command.t
rename to cpan/ExtUtils-MakeMaker/t/eu_command.t
index f5ba647..269aa5c 100644 (file)
@@ -13,7 +13,7 @@ BEGIN {
     1 while unlink $Testfile, 'newfile';
     # forcibly remove ecmddir/temp2, but don't import mkpath
     use File::Path ();
-    File::Path::rmtree( 'ecmddir' );
+    File::Path::rmtree( 'ecmddir' ) if -e 'ecmddir';
 }
 
 use Test::More tests => 40;
@@ -279,6 +279,6 @@ BEGIN {
 
 END {
     1 while unlink $Testfile, 'newfile';
-    File::Path::rmtree( 'ecmddir' );
-    File::Path::rmtree( 'd2utest' );
+    File::Path::rmtree( 'ecmddir' ) if -e 'ecmddir';
+    File::Path::rmtree( 'd2utest' ) if -e 'd2utest';
 }
index d00ef5f..849393c 100644 (file)
@@ -68,6 +68,8 @@ local $ENV{PERL_INSTALL_QUIET};
 
 # Rerun the Makefile.PL, pm_to_blib should rerun
 {
+    # Seems there are occasional race conditions with these tests
+    # waiting a couple of seconds appears to resolve these
     sleep 2;
     run_ok(qq{$perl Makefile.PL});
 
index 48d9d17..1a25e98 100644 (file)
@@ -44,7 +44,7 @@ ok( chdir 'Big-Dummy', "chdir'd to Big-Dummy" ) ||
         $warnings .= join '', @_;
     };
     # prerequisite warnings are disabled while building the perl core:
-    local $ENV{PERL_CORE} = 0;
+    local $ExtUtils::MakeMaker::UNDER_CORE = 0;
 
     WriteMakefile(
         NAME            => 'Big::Dummy',
index a34b938..1020f55 100644 (file)
@@ -30,7 +30,7 @@ sub capture_make {
         $warnings .= join '', @_;
     };
 
-    local $ENV{PERL_CORE} = 0;
+    local $ExtUtils::MakeMaker::UNDER_CORE = 0;
 
     WriteMakefile(
         NAME      => 'VString::Test',
index 922d1a0..fa69aba 100644 (file)
@@ -31,7 +31,7 @@ our($VERSION,%Data,%Retired);
 # $Retired{ TYPE }{ CODESET }{ code }{ CODE } = NAME
 #                            { name }{ NAME } = [CODE,NAME]  (the key is lowercase)
 
-$VERSION='3.35';
+$VERSION='3.36';
 
 #=======================================================================
 #
index 843a7cb..c5a8ee5 100644 (file)
@@ -22,9 +22,28 @@ September, December). I will also check on request, so if a code
 changes that you use, feel free to contact me.  Any time there are new
 codes, I will add them to the module and release a new version.
 
+=head1 VERSION 3.41  (planned 2016-12-01; sbeck)
+
+=head1 VERSION 3.40  (planned 2016-09-01; sbeck)
+
+=head1 VERSION 3.39  (planned 2016-06-01; sbeck)
+
+=head1 VERSION 3.38  (planned 2016-03-01; sbeck)
+
 =head1 VERSION 3.37  (planned 2015-12-01; sbeck)
 
-=head1 VERSION 3.36  (planned 2015-09-01; sbeck)
+=head1 VERSION 3.36  (2015-09-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<(!) Removed alias_code function>
+
+The alias_code function was preserved for backward compatibility, but
+has been deprecated since 3.20.  It has been removed.
+
+=back
 
 =head1 VERSION 3.35  (2015-06-01; sbeck)
 
index b49837a..d4efcfc 100644 (file)
@@ -17,7 +17,7 @@ require Exporter;
 our($VERSION,@ISA,@EXPORT);
 our(%ALL_CODESETS);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA     = qw(Exporter);
 @EXPORT  = qw(LOCALE_CODE_ALPHA_2
               LOCALE_CODE_ALPHA_3
index 95183e7..4dd6b80 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Country_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2country
                 country2code
@@ -87,19 +87,6 @@ sub delete_country_code_alias {
    return Locale::Codes::_delete_code_alias('country',@_);
 }
 
-#=======================================================================
-#
-# Old function for backward compatibility
-#
-#=======================================================================
-
-sub alias_code {
-   my($alias,$code,@args) = @_;
-   my $success = rename_country_code($code,$alias,@args);
-   return 0  if (! $success);
-   return $alias;
-}
-
 1;
 # Local Variables:
 # mode: cperl
index 9b8a73c..f827732 100644 (file)
@@ -15,7 +15,6 @@ Locale::Codes::Country - standard codes for country identification
    @names   = all_country_names();
 
    # semi-private routines
-   Locale::Codes::Country::alias_code('uk' => 'gb');
    Locale::Codes::Country::rename_country('gb' => 'Great Britain');
 
 =head1 DESCRIPTION
@@ -108,29 +107,6 @@ Locale::Codes::Changes document for details.
 
 These routines are all documented in the L<Locale::Codes::API> man page.
 
-=item B<alias_code ( ALIAS, CODE [,CODESET] )>
-
-Version 2.07 included 2 functions for modifying the internal data:
-rename_country and alias_code. Both of these could be used only to
-modify the internal data for country codes.
-
-As of 3.10, the internal data for all types of codes can be modified.
-
-The alias_code function is preserved for backwards compatibility, but
-the following two are identical:
-
-   alias_code(ALIAS,CODE [,CODESET]);
-   rename_country_code(CODE,ALIAS [,CODESET]);
-
-and the latter should be used for consistency.
-
-The alias_code function is deprecated and will be removed in the December
-2014 release.
-
-B<Note:> this function was previously called _alias_code, but the
-leading underscore has been dropped. The old name was supported for
-all 2.X releases, but has been dropped as of 3.00.
-
 =back
 
 =head1 SEE ALSO
index cbedadb..41e4635 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Country_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Mon Jun  1 10:38:27 EDT 2015
+#    Generated on: Tue Sep  1 09:05:01 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Data{'country'}{'id'} = '0250';
 
index e655d8e..c349bb9 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Country_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Mon Jun  1 13:35:17 EDT 2015
+#    Generated on: Tue Sep  1 09:20:52 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Retired{'country'}{'alpha-2'}{'code'} = {
    q(an) => q(Netherlands Antilles),
index 2272472..4a4648c 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Currency_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2currency
                 currency2code
index ed48de2..e5c317d 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Currency_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Mon Jun  1 10:50:33 EDT 2015
+#    Generated on: Tue Sep  1 09:16:18 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Data{'currency'}{'id'} = '0177';
 
@@ -110,16 +110,16 @@ $Locale::Codes::Data{'currency'}{'id2names'} = {
       q(Burundi Franc),
       ],
    q(0032) => [
-      q(Riel),
+      q(Cabo Verde Escudo),
       ],
    q(0033) => [
-      q(CFA Franc BEAC),
+      q(Riel),
       ],
    q(0034) => [
-      q(Canadian Dollar),
+      q(CFA Franc BEAC),
       ],
    q(0035) => [
-      q(Cabo Verde Escudo),
+      q(Canadian Dollar),
       ],
    q(0036) => [
       q(Cayman Islands Dollar),
@@ -152,7 +152,7 @@ $Locale::Codes::Data{'currency'}{'id2names'} = {
       q(Costa Rican Colon),
       ],
    q(0046) => [
-      q(Croatian Kuna),
+      q(Kuna),
       ],
    q(0047) => [
       q(Peso Convertible),
@@ -386,7 +386,7 @@ $Locale::Codes::Data{'currency'}{'id2names'} = {
       q(Qatari Rial),
       ],
    q(0124) => [
-      q(New Romanian Leu),
+      q(Romanian Leu),
       ],
    q(0125) => [
       q(Russian Ruble),
@@ -652,11 +652,11 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
       q(0),
       ],
    q(cabo verde escudo) => [
-      q(0035),
+      q(0032),
       q(0),
       ],
    q(canadian dollar) => [
-      q(0034),
+      q(0035),
       q(0),
       ],
    q(cayman islands dollar) => [
@@ -668,7 +668,7 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
       q(0),
       ],
    q(cfa franc beac) => [
-      q(0033),
+      q(0034),
       q(0),
       ],
    q(cfp franc) => [
@@ -703,10 +703,6 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
       q(0045),
       q(0),
       ],
-   q(croatian kuna) => [
-      q(0046),
-      q(0),
-      ],
    q(cuban peso) => [
       q(0048),
       q(0),
@@ -847,6 +843,10 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
       q(0088),
       q(0),
       ],
+   q(kuna) => [
+      q(0046),
+      q(0),
+      ],
    q(kuwaiti dinar) => [
       q(0086),
       q(0),
@@ -959,10 +959,6 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
       q(0078),
       q(0),
       ],
-   q(new romanian leu) => [
-      q(0124),
-      q(0),
-      ],
    q(new taiwan dollar) => [
       q(0147),
       q(0),
@@ -1048,7 +1044,11 @@ $Locale::Codes::Data{'currency'}{'alias2id'} = {
       q(0),
       ],
    q(riel) => [
-      q(0032),
+      q(0033),
+      q(0),
+      ],
+   q(romanian leu) => [
+      q(0124),
       q(0),
       ],
    q(rufiyaa) => [
@@ -1360,7 +1360,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
          q(0),
          ],
       q(CAD) => [
-         q(0034),
+         q(0035),
          q(0),
          ],
       q(CDF) => [
@@ -1412,7 +1412,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
          q(0),
          ],
       q(CVE) => [
-         q(0035),
+         q(0032),
          q(0),
          ],
       q(CZK) => [
@@ -1556,7 +1556,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
          q(0),
          ],
       q(KHR) => [
-         q(0032),
+         q(0033),
          q(0),
          ],
       q(KMF) => [
@@ -1884,7 +1884,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
          q(0),
          ],
       q(XAF) => [
-         q(0033),
+         q(0034),
          q(0),
          ],
       q(XAG) => [
@@ -2034,15 +2034,15 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
          q(0),
          ],
       q(116) => [
-         q(0032),
+         q(0033),
          q(0),
          ],
       q(124) => [
-         q(0034),
+         q(0035),
          q(0),
          ],
       q(132) => [
-         q(0035),
+         q(0032),
          q(0),
          ],
       q(136) => [
@@ -2526,7 +2526,7 @@ $Locale::Codes::Data{'currency'}{'code2id'} = {
          q(0),
          ],
       q(950) => [
-         q(0033),
+         q(0034),
          q(0),
          ],
       q(951) => [
@@ -2701,10 +2701,10 @@ $Locale::Codes::Data{'currency'}{'id2code'} = {
       q(0029) => q(BND),
       q(0030) => q(BGN),
       q(0031) => q(BIF),
-      q(0032) => q(KHR),
-      q(0033) => q(XAF),
-      q(0034) => q(CAD),
-      q(0035) => q(CVE),
+      q(0032) => q(CVE),
+      q(0033) => q(KHR),
+      q(0034) => q(XAF),
+      q(0035) => q(CAD),
       q(0036) => q(KYD),
       q(0037) => q(CLF),
       q(0038) => q(CLP),
@@ -2879,10 +2879,10 @@ $Locale::Codes::Data{'currency'}{'id2code'} = {
       q(0029) => q(096),
       q(0030) => q(975),
       q(0031) => q(108),
-      q(0032) => q(116),
-      q(0033) => q(950),
-      q(0034) => q(124),
-      q(0035) => q(132),
+      q(0032) => q(132),
+      q(0033) => q(116),
+      q(0034) => q(950),
+      q(0035) => q(124),
       q(0036) => q(136),
       q(0037) => q(990),
       q(0038) => q(152),
index 5ab04ee..8c50f94 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Currency_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Mon Jun  1 13:35:17 EDT 2015
+#    Generated on: Tue Sep  1 09:20:52 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Retired{'currency'}{'alpha'}{'code'} = {
    q(ADP) => q(Andorran Peseta),
@@ -87,6 +87,7 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
    q(cape verde escudo) => [ q(CVE), q(Cape Verde Escudo) ],
    q(cedi) => [ q(GHS), q(Cedi) ],
    q(convertible marks) => [ q(BAM), q(Convertible Marks) ],
+   q(croatian kuna) => [ q(HRK), q(Croatian Kuna) ],
    q(cyprus pound) => [ q(CYP), q(Cyprus Pound) ],
    q(dinar) => [ q(BHD), q(Dinar) ],
    q(drachma) => [ q(GRD), q(Drachma) ],
@@ -127,6 +128,7 @@ $Locale::Codes::Retired{'currency'}{'alpha'}{'name'} = {
    q(new kwanza) => [ q(AON), q(New Kwanza) ],
    q(new leu) => [ q(RON), q(New Leu) ],
    q(new manat) => [ q(TMT), q(New Manat) ],
+   q(new romanian leu) => [ q(RON), q(New Romanian Leu) ],
    q(new zaire) => [ q(ZRN), q(New Zaire) ],
    q(portuguese escudo) => [ q(PTE), q(Portuguese Escudo) ],
    q(saint helena pound) => [ q(SHP), q(Saint Helena Pound) ],
@@ -154,11 +156,13 @@ $Locale::Codes::Retired{'currency'}{'num'}{'name'} = {
    q(bolivar fuerte) => [ q(937), q(Bolivar Fuerte) ],
    q(cape verde escudo) => [ q(132), q(Cape Verde Escudo) ],
    q(cedi) => [ q(936), q(Cedi) ],
+   q(croatian kuna) => [ q(191), q(Croatian Kuna) ],
    q(latvian lats) => [ q(428), q(Latvian Lats) ],
    q(leu) => [ q(946), q(Leu) ],
    q(lithuanian litas) => [ q(440), q(Lithuanian Litas) ],
    q(metical) => [ q(943), q(Metical) ],
    q(new manat) => [ q(934), q(New Manat) ],
+   q(new romanian leu) => [ q(946), q(New Romanian Leu) ],
    q(saint helena pound) => [ q(654), q(Saint Helena Pound) ],
    q(unidades de fomento) => [ q(990), q(Unidades de fomento) ],
    q(us dollar (same day)) => [ q(998), q(US Dollar (Same day)) ],
index 5b1c57a..6f0910a 100644 (file)
@@ -20,7 +20,7 @@ use Locale::Codes::LangExt_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2langext
                 langext2code
index d014205..96e48b0 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangExt_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Mon Jun  1 10:51:25 EDT 2015
+#    Generated on: Tue Sep  1 09:16:39 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Data{'langext'}{'id'} = '0230';
 
index 35d5756..394f04e 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangExt_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Mon Jun  1 13:35:17 EDT 2015
+#    Generated on: Tue Sep  1 09:20:52 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Retired{'langext'}{'alpha'}{'code'} = {
    q(yds) => q(Yiddish Sign Language),
index aa7778d..32e224b 100644 (file)
@@ -20,7 +20,7 @@ use Locale::Codes::LangFam_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2langfam
                 langfam2code
index d9781f3..8760a5e 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangFam_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Mon Jun  1 13:33:31 EDT 2015
+#    Generated on: Tue Sep  1 09:17:53 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Data{'langfam'}{'id'} = '0116';
 
index e1c829c..4478c10 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 require 5.002;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Retired{'langfam'}{'alpha'}{'code'} = {
 };
index 960621b..4cd4ec3 100644 (file)
@@ -20,7 +20,7 @@ use Locale::Codes::LangVar_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2langvar
                 langvar2code
index eb5796b..5fb4c59 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangVar_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Mon Jun  1 13:32:51 EDT 2015
+#    Generated on: Tue Sep  1 09:17:43 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Data{'langvar'}{'id'} = '0072';
 
@@ -45,7 +45,7 @@ $Locale::Codes::Data{'langvar'}{'id2names'} = {
       q(Boni dialect),
       ],
    q(0010) => [
-      q(Portugese Language Orthographic Agreement of 1990 (Acordo Ortografico da Lingua Portuguesa de 1990)),
+      q(Portuguese Language Orthographic Agreement of 1990 (Acordo Ortografico da Lingua Portuguesa de 1990)),
       ],
    q(0011) => [
       q(Eastern Armenian),
@@ -404,7 +404,7 @@ $Locale::Codes::Data{'langvar'}{'alias2id'} = {
       q(0051),
       q(0),
       ],
-   q(portugese language orthographic agreement of 1990 (acordo ortografico da lingua portuguesa de 1990)) => [
+   q(portuguese language orthographic agreement of 1990 (acordo ortografico da lingua portuguesa de 1990)) => [
       q(0010),
       q(0),
       ],
index 0abf3fd..f888ab4 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::LangVar_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Mon Jun  1 13:35:17 EDT 2015
+#    Generated on: Tue Sep  1 09:20:52 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,13 +11,14 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Retired{'langvar'}{'alpha'}{'code'} = {
 };
 
 $Locale::Codes::Retired{'langvar'}{'alpha'}{'name'} = {
    q("academic" ("governmental") variant of belarusian as) => [ q(1959acad), q("Academic" ("governmental") variant of Belarusian as) ],
+   q(portugese language orthographic agreement of 1990 (acordo ortografico da lingua portuguesa de 1990)) => [ q(ao1990), q(Portugese Language Orthographic Agreement of 1990 (Acordo Ortografico da Lingua Portuguesa de 1990)) ],
    q(slovene in bohoric alphabet) => [ q(bohoric), q(Slovene in Bohoric alphabet) ],
 };
 
index 76fd54c..4ff25e3 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Language_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2language
                 language2code
index b8ab44c..5a82490 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Language_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Mon Jun  1 10:50:22 EDT 2015
+#    Generated on: Tue Sep  1 09:05:17 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
-$Locale::Codes::Data{'language'}{'id'} = '7974';
+$Locale::Codes::Data{'language'}{'id'} = '7976';
 
 $Locale::Codes::Data{'language'}{'id2names'} = {
    q(0001) => [
@@ -2633,7 +2633,7 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
       q(Taikat),
       ],
    q(0830) => [
-      q(Atong),
+      q(Atong (India)),
       q(A'tong),
       ],
    q(0831) => [
@@ -2908,21379 +2908,21385 @@ $Locale::Codes::Data{'language'}{'id2names'} = {
       q(Ashtiani),
       ],
    q(0921) => [
-      q(Pudtol Atta),
+      q(Atong (Cameroon)),
       ],
    q(0922) => [
-      q(Aralle-Tabulahan),
+      q(Pudtol Atta),
       ],
    q(0923) => [
-      q(Waimiri-Atroari),
+      q(Aralle-Tabulahan),
       ],
    q(0924) => [
-      q(Gros Ventre),
+      q(Waimiri-Atroari),
       ],
    q(0925) => [
-      q(Pamplona Atta),
+      q(Gros Ventre),
       ],
    q(0926) => [
-      q(Reel),
+      q(Pamplona Atta),
       ],
    q(0927) => [
-      q(Northern Altai),
+      q(Reel),
       ],
    q(0928) => [
-      q(Atsugewi),
+      q(Northern Altai),
       ],
    q(0929) => [
-      q(Arutani),
+      q(Atsugewi),
       ],
    q(0930) => [
-      q(Aneityum),
+      q(Arutani),
       ],
    q(0931) => [
-      q(Arta),
+      q(Aneityum),
       ],
    q(0932) => [
-      q(Asumboa),
+      q(Arta),
       ],
    q(0933) => [
-      q(Alugu),
+      q(Asumboa),
       ],
    q(0934) => [
-      q(Waorani),
+      q(Alugu),
       ],
    q(0935) => [
-      q(Anuta),
+      q(Waorani),
       ],
    q(0936) => [
-      q(Aguna),
+      q(Anuta),
       ],
    q(0937) => [
-      q(Aushi),
+      q(Aguna),
       ],
    q(0938) => [
-      q(Anuki),
+      q(Aushi),
       ],
    q(0939) => [
-      q(Awjilah),
+      q(Anuki),
       ],
    q(0940) => [
-      q(Heyo),
+      q(Awjilah),
       ],
    q(0941) => [
-      q(Aulua),
+      q(Heyo),
       ],
    q(0942) => [
-      q(Asu (Nigeria)),
+      q(Aulua),
       ],
    q(0943) => [
-      q(Molmo One),
+      q(Asu (Nigeria)),
       ],
    q(0944) => [
-      q(Auyokawa),
+      q(Molmo One),
       ],
    q(0945) => [
-      q(Makayam),
+      q(Auyokawa),
       ],
    q(0946) => [
+      q(Makayam),
+      ],
+   q(0947) => [
       q(Anus),
       q(Korur),
       ],
-   q(0947) => [
+   q(0948) => [
       q(Aruek),
       ],
-   q(0948) => [
+   q(0949) => [
       q(Austral),
       ],
-   q(0949) => [
+   q(0950) => [
       q(Auye),
       ],
-   q(0950) => [
+   q(0951) => [
       q(Awyi),
       ],
-   q(0951) => [
+   q(0952) => [
       q(Aura),
       ],
-   q(0952) => [
+   q(0953) => [
       q(Awiyaana),
       ],
-   q(0953) => [
+   q(0954) => [
       q(Uzbeki Arabic),
       ],
-   q(0954) => [
+   q(0955) => [
       q(Avau),
       ],
-   q(0955) => [
+   q(0956) => [
       q(Alviri-Vidari),
       ],
-   q(0956) => [
+   q(0957) => [
       q(Avikam),
       ],
-   q(0957) => [
+   q(0958) => [
       q(Kotava),
       ],
-   q(0958) => [
+   q(0959) => [
       q(Eastern Egyptian Bedawi Arabic),
       ],
-   q(0959) => [
+   q(0960) => [
       q(Angkamuthi),
       ],
-   q(0960) => [
+   q(0961) => [
       q(Avatime),
       ],
-   q(0961) => [
+   q(0962) => [
       q(Agavotaguerra),
       ],
-   q(0962) => [
+   q(0963) => [
       q(Aushiri),
       ],
-   q(0963) => [
+   q(0964) => [
       q(Au),
       ],
-   q(0964) => [
+   q(0965) => [
       q(Avokaya),
       ],
-   q(0965) => [
+   q(0966) => [
       q(Ava-Canoeiro),
       ],
-   q(0966) => [
+   q(0967) => [
       q(Awa (Papua New Guinea)),
       ],
-   q(0967) => [
+   q(0968) => [
       q(Cicipu),
       ],
-   q(0968) => [
+   q(0969) => [
       q(Aweti),
       ],
-   q(0969) => [
+   q(0970) => [
       q(Anguthimri),
       ],
-   q(0970) => [
+   q(0971) => [
       q(Awbono),
       ],
-   q(0971) => [
+   q(0972) => [
       q(Aekyom),
       ],
-   q(0972) => [
+   q(0973) => [
       q(Awabakal),
       ],
-   q(0973) => [
+   q(0974) => [
       q(Arawum),
       ],
-   q(0974) => [
+   q(0975) => [
       q(Awngi),
       ],
-   q(0975) => [
+   q(0976) => [
       q(Awak),
       ],
-   q(0976) => [
+   q(0977) => [
       q(Awera),
       ],
-   q(0977) => [
+   q(0978) => [
       q(South Awyu),
       ],
-   q(0978) => [
+   q(0979) => [
       q(Arawete),
       ],
-   q(0979) => [
+   q(0980) => [
       q(Central Awyu),
       ],
-   q(0980) => [
+   q(0981) => [
       q(Jair Awyu),
       ],
-   q(0981) => [
+   q(0982) => [
       q(Awun),
       ],
-   q(0982) => [
+   q(0983) => [
       q(Awara),
       ],
-   q(0983) => [
+   q(0984) => [
       q(Edera Awyu),
       ],
-   q(0984) => [
+   q(0985) => [
       q(Abipon),
       ],
-   q(0985) => [
+   q(0986) => [
       q(Ayerrerenge),
       ],
-   q(0986) => [
+   q(0987) => [
       q(Mato Grosso Arara),
       ],
-   q(0987) => [
+   q(0988) => [
       q(Yaka (Central African Republic)),
       ],
-   q(0988) => [
+   q(0989) => [
       q(Lower Southern Aranda),
       ],
-   q(0989) => [
+   q(0990) => [
       q(Middle Armenian),
       ],
-   q(0990) => [
+   q(0991) => [
       q(Xaragure),
       ],
-   q(0991) => [
+   q(0992) => [
       q(Awar),
       ],
-   q(0992) => [
+   q(0993) => [
       q(Ayizo Gbe),
       ],
-   q(0993) => [
+   q(0994) => [
       q(Southern Aymara),
       ],
-   q(0994) => [
+   q(0995) => [
       q(Ayabadhu),
       ],
-   q(0995) => [
+   q(0996) => [
       q(Ayere),
       ],
-   q(0996) => [
+   q(0997) => [
       q(Ginyanga),
       ],
-   q(0997) => [
+   q(0998) => [
       q(Hadrami Arabic),
       ],
-   q(0998) => [
+   q(0999) => [
       q(Leyigha),
       ],
-   q(0999) => [
+   q(1000) => [
       q(Akuku),
       ],
-   q(1000) => [
+   q(1001) => [
       q(Libyan Arabic),
       ],
-   q(1001) => [
+   q(1002) => [
       q(Sanaani Arabic),
       ],
-   q(1002) => [
+   q(1003) => [
       q(Ayoreo),
       ],
-   q(1003) => [
+   q(1004) => [
       q(North Mesopotamian Arabic),
       ],
-   q(1004) => [
+   q(1005) => [
       q(Ayi (Papua New Guinea)),
       ],
-   q(1005) => [
+   q(1006) => [
       q(Central Aymara),
       ],
-   q(1006) => [
+   q(1007) => [
       q(Sorsogon Ayta),
       ],
-   q(1007) => [
+   q(1008) => [
       q(Magbukun Ayta),
       ],
-   q(1008) => [
+   q(1009) => [
       q(Ayu),
       ],
-   q(1009) => [
+   q(1010) => [
       q(Tayabas Ayta),
       ],
-   q(1010) => [
+   q(1011) => [
       q(Mai Brat),
       ],
-   q(1011) => [
+   q(1012) => [
       q(Azha),
       ],
-   q(1012) => [
+   q(1013) => [
       q(South Azerbaijani),
       ],
-   q(1013) => [
+   q(1014) => [
       q(Eastern Durango Nahuatl),
       ],
-   q(1014) => [
+   q(1015) => [
       q(San Pedro Amuzgos Amuzgo),
       ],
-   q(1015) => [
+   q(1016) => [
       q(North Azerbaijani),
       ],
-   q(1016) => [
+   q(1017) => [
       q(Ipalapa Amuzgo),
       ],
-   q(1017) => [
+   q(1018) => [
       q(Western Durango Nahuatl),
       ],
-   q(1018) => [
+   q(1019) => [
       q(Awing),
       ],
-   q(1019) => [
+   q(1020) => [
       q(Faire Atta),
       ],
-   q(1020) => [
+   q(1021) => [
       q(Highland Puebla Nahuatl),
       ],
-   q(1021) => [
+   q(1022) => [
       q(Babatana),
       ],
-   q(1022) => [
+   q(1023) => [
       q(Bainouk-Gunyuno),
       ],
-   q(1023) => [
+   q(1024) => [
       q(Badui),
       ],
-   q(1024) => [
+   q(1025) => [
       q(Bare),
       ],
-   q(1025) => [
+   q(1026) => [
       q(Nubaca),
       ],
-   q(1026) => [
+   q(1027) => [
       q(Tuki),
       ],
-   q(1027) => [
+   q(1028) => [
       q(Bahamas Creole English),
       ],
-   q(1028) => [
+   q(1029) => [
       q(Barakai),
       ],
-   q(1029) => [
+   q(1030) => [
       q(Waimaha),
       ],
-   q(1030) => [
+   q(1031) => [
       q(Bantawa),
       ],
-   q(1031) => [
+   q(1032) => [
       q(Bavarian),
       ],
-   q(1032) => [
+   q(1033) => [
       q(Bada (Nigeria)),
       ],
-   q(1033) => [
+   q(1034) => [
       q(Vengo),
       ],
-   q(1034) => [
+   q(1035) => [
       q(Bambili-Bambui),
       ],
-   q(1035) => [
+   q(1036) => [
       q(Bamun),
       ],
-   q(1036) => [
+   q(1037) => [
       q(Batuley),
       ],
-   q(1037) => [
+   q(1038) => [
       q(Baatonum),
       ],
-   q(1038) => [
+   q(1039) => [
       q(Barai),
       ],
-   q(1039) => [
+   q(1040) => [
       q(Batak Toba),
       ],
-   q(1040) => [
+   q(1041) => [
       q(Bau),
       ],
-   q(1041) => [
+   q(1042) => [
       q(Bangba),
       ],
-   q(1042) => [
+   q(1043) => [
       q(Baibai),
       ],
-   q(1043) => [
+   q(1044) => [
       q(Barama),
       ],
-   q(1044) => [
+   q(1045) => [
       q(Bugan),
       ],
-   q(1045) => [
+   q(1046) => [
       q(Barombi),
       ],
-   q(1046) => [
+   q(1047) => [
       q(Ghomala'),
       ],
-   q(1047) => [
+   q(1048) => [
       q(Babanki),
       ],
-   q(1048) => [
+   q(1049) => [
       q(Bats),
       ],
-   q(1049) => [
+   q(1050) => [
       q(Babango),
       ],
-   q(1050) => [
+   q(1051) => [
       q(Uneapa),
       ],
-   q(1051) => [
+   q(1052) => [
       q(Northern Bobo Madare),
       q(Konabere),
       ],
-   q(1052) => [
+   q(1053) => [
       q(West Central Banda),
       ],
-   q(1053) => [
+   q(1054) => [
       q(Bamali),
       ],
-   q(1054) => [
+   q(1055) => [
       q(Girawa),
       ],
-   q(1055) => [
+   q(1056) => [
       q(Bakpinka),
       ],
-   q(1056) => [
+   q(1057) => [
       q(Mburku),
       ],
-   q(1057) => [
+   q(1058) => [
       q(Kulung (Nigeria)),
       ],
-   q(1058) => [
+   q(1059) => [
       q(Karnai),
       ],
-   q(1059) => [
+   q(1060) => [
       q(Baba),
       ],
-   q(1060) => [
+   q(1061) => [
       q(Bubia),
       ],
-   q(1061) => [
+   q(1062) => [
       q(Befang),
       ],
-   q(1062) => [
+   q(1063) => [
       q(Babalia Creole Arabic),
       ],
-   q(1063) => [
+   q(1064) => [
       q(Central Bai),
       ],
-   q(1064) => [
+   q(1065) => [
       q(Bainouk-Samik),
       ],
-   q(1065) => [
+   q(1066) => [
       q(Southern Balochi),
       ],
-   q(1066) => [
+   q(1067) => [
       q(North Babar),
       ],
-   q(1067) => [
+   q(1068) => [
       q(Bamenyam),
       ],
-   q(1068) => [
+   q(1069) => [
       q(Bamu),
       ],
-   q(1069) => [
+   q(1070) => [
       q(Baga Binari),
       ],
-   q(1070) => [
+   q(1071) => [
       q(Bariai),
       ],
-   q(1071) => [
+   q(1072) => [
       q(Baoule),
       ],
-   q(1072) => [
+   q(1073) => [
       q(Bardi),
       ],
-   q(1073) => [
+   q(1074) => [
       q(Bunaba),
       ],
-   q(1074) => [
+   q(1075) => [
       q(Central Bikol),
       ],
-   q(1075) => [
+   q(1076) => [
       q(Bannoni),
       ],
-   q(1076) => [
+   q(1077) => [
       q(Bali (Nigeria)),
       ],
-   q(1077) => [
+   q(1078) => [
       q(Kaluli),
       ],
-   q(1078) => [
+   q(1079) => [
       q(Bali (Democratic Republic of Congo)),
       ],
-   q(1079) => [
+   q(1080) => [
       q(Bench),
       ],
-   q(1080) => [
+   q(1081) => [
       q(Babine),
       ],
-   q(1081) => [
+   q(1082) => [
       q(Kohumono),
       ],
-   q(1082) => [
+   q(1083) => [
       q(Bendi),
       ],
-   q(1083) => [
+   q(1084) => [
       q(Awad Bing),
       ],
-   q(1084) => [
+   q(1085) => [
       q(Shoo-Minda-Nye),
       ],
-   q(1085) => [
+   q(1086) => [
       q(Bana),
       ],
-   q(1086) => [
+   q(1087) => [
       q(Bacama),
       ],
-   q(1087) => [
+   q(1088) => [
       q(Bainouk-Gunyaamolo),
       ],
-   q(1088) => [
+   q(1089) => [
       q(Bayot),
       ],
-   q(1089) => [
+   q(1090) => [
       q(Basap),
       ],
-   q(1090) => [
+   q(1091) => [
       q(Embera-Baudo),
       ],
-   q(1091) => [
+   q(1092) => [
       q(Bunama),
       ],
-   q(1092) => [
+   q(1093) => [
       q(Bade),
       ],
-   q(1093) => [
+   q(1094) => [
       q(Biage),
       ],
-   q(1094) => [
+   q(1095) => [
       q(Bonggi),
       ],
-   q(1095) => [
+   q(1096) => [
       q(Baka (Sudan)),
       ],
-   q(1096) => [
+   q(1097) => [
       q(Burun),
       ],
-   q(1097) => [
+   q(1098) => [
       q(Bai),
       ],
-   q(1098) => [
+   q(1099) => [
       q(Budukh),
       ],
-   q(1099) => [
+   q(1100) => [
       q(Indonesian Bajau),
       ],
-   q(1100) => [
+   q(1101) => [
       q(Buduma),
       ],
-   q(1101) => [
+   q(1102) => [
       q(Baldemu),
       ],
-   q(1102) => [
+   q(1103) => [
       q(Morom),
       ],
-   q(1103) => [
+   q(1104) => [
       q(Bende),
       ],
-   q(1104) => [
+   q(1105) => [
       q(Bahnar),
       ],
-   q(1105) => [
+   q(1106) => [
       q(West Coast Bajau),
       ],
-   q(1106) => [
+   q(1107) => [
       q(Burunge),
       ],
-   q(1107) => [
+   q(1108) => [
       q(Bokoto),
       ],
-   q(1108) => [
+   q(1109) => [
       q(Oroko),
       ],
-   q(1109) => [
+   q(1110) => [
       q(Bodo Parja),
       ],
-   q(1110) => [
+   q(1111) => [
       q(Baham),
       ],
-   q(1111) => [
+   q(1112) => [
       q(Budong-Budong),
       ],
-   q(1112) => [
+   q(1113) => [
       q(Bandjalang),
       ],
-   q(1113) => [
+   q(1114) => [
       q(Badeshi),
       ],
-   q(1114) => [
+   q(1115) => [
       q(Beaver),
       ],
-   q(1115) => [
+   q(1116) => [
       q(Bebele),
       ],
-   q(1116) => [
+   q(1117) => [
       q(Iceve-Maci),
       ],
-   q(1117) => [
+   q(1118) => [
       q(Bedoanas),
       ],
-   q(1118) => [
+   q(1119) => [
       q(Byangsi),
       ],
-   q(1119) => [
+   q(1120) => [
       q(Benabena),
       ],
-   q(1120) => [
+   q(1121) => [
       q(Belait),
       ],
-   q(1121) => [
+   q(1122) => [
       q(Biali),
       ],
-   q(1122) => [
+   q(1123) => [
       q(Bekati'),
       ],
-   q(1123) => [
+   q(1124) => [
       q(Bebeli),
       ],
-   q(1124) => [
+   q(1125) => [
       q(Beami),
       ],
-   q(1125) => [
+   q(1126) => [
       q(Besoa),
       ],
-   q(1126) => [
+   q(1127) => [
       q(Beembe),
       ],
-   q(1127) => [
+   q(1128) => [
       q(Besme),
       ],
-   q(1128) => [
+   q(1129) => [
       q(Guiberoua Bete),
       ],
-   q(1129) => [
+   q(1130) => [
       q(Blagar),
       ],
-   q(1130) => [
+   q(1131) => [
       q(Daloa Bete),
       ],
-   q(1131) => [
+   q(1132) => [
       q(Betawi),
       ],
-   q(1132) => [
+   q(1133) => [
       q(Jur Modo),
       ],
-   q(1133) => [
+   q(1134) => [
       q(Beli (Papua New Guinea)),
       ],
-   q(1134) => [
+   q(1135) => [
       q(Bena (Tanzania)),
       ],
-   q(1135) => [
+   q(1136) => [
       q(Bari),
       ],
-   q(1136) => [
+   q(1137) => [
       q(Pauri Bareli),
       ],
-   q(1137) => [
+   q(1138) => [
       q(Panyi Bai),
       q(Northern Bai),
       ],
-   q(1138) => [
+   q(1139) => [
       q(Bafut),
       ],
-   q(1139) => [
+   q(1140) => [
       q(Betaf),
       q(Tena),
       ],
-   q(1140) => [
+   q(1141) => [
       q(Bofi),
       ],
-   q(1141) => [
+   q(1142) => [
       q(Busang Kayan),
       ],
-   q(1142) => [
+   q(1143) => [
       q(Blafe),
       ],
-   q(1143) => [
+   q(1144) => [
       q(British Sign Language),
       ],
-   q(1144) => [
+   q(1145) => [
       q(Bafanji),
       ],
-   q(1145) => [
+   q(1146) => [
       q(Ban Khor Sign Language),
       ],
-   q(1146) => [
+   q(1147) => [
       q(Banda-Ndele),
       ],
-   q(1147) => [
+   q(1148) => [
       q(Mmen),
       ],
-   q(1148) => [
+   q(1149) => [
       q(Bunak),
       ],
-   q(1149) => [
+   q(1150) => [
       q(Malba Birifor),
       ],
-   q(1150) => [
+   q(1151) => [
       q(Beba),
       ],
-   q(1151) => [
+   q(1152) => [
       q(Badaga),
       ],
-   q(1152) => [
+   q(1153) => [
       q(Bazigar),
       ],
-   q(1153) => [
+   q(1154) => [
       q(Southern Bai),
       ],
-   q(1154) => [
+   q(1155) => [
       q(Balti),
       ],
-   q(1155) => [
+   q(1156) => [
       q(Gahri),
       ],
-   q(1156) => [
+   q(1157) => [
       q(Bondo),
       ],
-   q(1157) => [
+   q(1158) => [
       q(Bantayanon),
       ],
-   q(1158) => [
+   q(1159) => [
       q(Bagheli),
       ],
-   q(1159) => [
+   q(1160) => [
       q(Mahasu Pahari),
       ],
-   q(1160) => [
+   q(1161) => [
       q(Gwamhi-Wuri),
       ],
-   q(1161) => [
+   q(1162) => [
       q(Bobongko),
       ],
-   q(1162) => [
+   q(1163) => [
       q(Haryanvi),
       ],
-   q(1163) => [
+   q(1164) => [
       q(Rathwi Bareli),
       ],
-   q(1164) => [
+   q(1165) => [
       q(Bauria),
       ],
-   q(1165) => [
+   q(1166) => [
       q(Bangandu),
       ],
-   q(1166) => [
+   q(1167) => [
       q(Bugun),
       ],
-   q(1167) => [
+   q(1168) => [
       q(Giangan),
       ],
-   q(1168) => [
+   q(1169) => [
       q(Bangolan),
       ],
-   q(1169) => [
+   q(1170) => [
       q(Bit),
       q(Buxinhua),
       ],
-   q(1170) => [
+   q(1171) => [
       q(Bo (Laos)),
       ],
-   q(1171) => [
+   q(1172) => [
       q(Baga Mboteni),
       ],
-   q(1172) => [
+   q(1173) => [
       q(Western Balochi),
       ],
-   q(1173) => [
+   q(1174) => [
       q(Baga Koga),
       ],
-   q(1174) => [
+   q(1175) => [
       q(Eastern Balochi),
       ],
-   q(1175) => [
+   q(1176) => [
       q(Bagri),
       ],
-   q(1176) => [
+   q(1177) => [
       q(Bawm Chin),
       ],
-   q(1177) => [
+   q(1178) => [
       q(Tagabawa),
       ],
-   q(1178) => [
+   q(1179) => [
       q(Bughotu),
       ],
-   q(1179) => [
+   q(1180) => [
       q(Mbongno),
       ],
-   q(1180) => [
+   q(1181) => [
       q(Warkay-Bipim),
       ],
-   q(1181) => [
+   q(1182) => [
       q(Bhatri),
       ],
-   q(1182) => [
+   q(1183) => [
       q(Balkan Gagauz Turkish),
       ],
-   q(1183) => [
+   q(1184) => [
       q(Benggoi),
       ],
-   q(1184) => [
+   q(1185) => [
       q(Banggai),
       ],
-   q(1185) => [
+   q(1186) => [
       q(Bharia),
       ],
-   q(1186) => [
+   q(1187) => [
       q(Bhili),
       ],
-   q(1187) => [
+   q(1188) => [
       q(Biga),
       ],
-   q(1188) => [
+   q(1189) => [
       q(Bhadrawahi),
       ],
-   q(1189) => [
+   q(1190) => [
       q(Bhaya),
       ],
-   q(1190) => [
+   q(1191) => [
       q(Odiai),
       ],
-   q(1191) => [
+   q(1192) => [
       q(Binandere),
       ],
-   q(1192) => [
+   q(1193) => [
       q(Bukharic),
       ],
-   q(1193) => [
+   q(1194) => [
       q(Bhilali),
       ],
-   q(1194) => [
+   q(1195) => [
       q(Bahing),
       ],
-   q(1195) => [
+   q(1196) => [
       q(Bimin),
       ],
-   q(1196) => [
+   q(1197) => [
       q(Bathari),
       ],
-   q(1197) => [
+   q(1198) => [
       q(Bohtan Neo-Aramaic),
       ],
-   q(1198) => [
+   q(1199) => [
       q(Bima),
       ],
-   q(1199) => [
+   q(1200) => [
       q(Tukang Besi South),
       ],
-   q(1200) => [
+   q(1201) => [
       q(Bara Malagasy),
       ],
-   q(1201) => [
+   q(1202) => [
       q(Buwal),
       ],
-   q(1202) => [
+   q(1203) => [
       q(Bhattiyali),
       ],
-   q(1203) => [
+   q(1204) => [
       q(Bhunjia),
       ],
-   q(1204) => [
+   q(1205) => [
       q(Bahau),
       ],
-   q(1205) => [
+   q(1206) => [
       q(Biak),
       ],
-   q(1206) => [
+   q(1207) => [
       q(Bhalay),
       ],
-   q(1207) => [
+   q(1208) => [
       q(Bhele),
       ],
-   q(1208) => [
+   q(1209) => [
       q(Bada (Indonesia)),
       ],
-   q(1209) => [
+   q(1210) => [
       q(Badimaya),
       ],
-   q(1210) => [
+   q(1211) => [
       q(Bissa),
       q(Bisa),
       ],
-   q(1211) => [
+   q(1212) => [
       q(Bikaru),
       ],
-   q(1212) => [
+   q(1213) => [
       q(Bidiyo),
       ],
-   q(1213) => [
+   q(1214) => [
       q(Bepour),
       ],
-   q(1214) => [
+   q(1215) => [
       q(Biafada),
       ],
-   q(1215) => [
+   q(1216) => [
       q(Biangai),
       ],
-   q(1216) => [
+   q(1217) => [
       q(Vaghat-Ya-Bijim-Legeri),
       ],
-   q(1217) => [
+   q(1218) => [
       q(Bile),
       ],
-   q(1218) => [
+   q(1219) => [
       q(Bimoba),
       ],
-   q(1219) => [
+   q(1220) => [
       q(Nai),
       ],
-   q(1220) => [
+   q(1221) => [
       q(Bila),
       ],
-   q(1221) => [
+   q(1222) => [
       q(Bipi),
       ],
-   q(1222) => [
+   q(1223) => [
       q(Bisorio),
       ],
-   q(1223) => [
+   q(1224) => [
       q(Berinomo),
       ],
-   q(1224) => [
+   q(1225) => [
       q(Biete),
       ],
-   q(1225) => [
+   q(1226) => [
       q(Southern Birifor),
       ],
-   q(1226) => [
+   q(1227) => [
       q(Kol (Cameroon)),
       ],
-   q(1227) => [
+   q(1228) => [
       q(Bijori),
       ],
-   q(1228) => [
+   q(1229) => [
       q(Birhor),
       ],
-   q(1229) => [
+   q(1230) => [
       q(Baloi),
       ],
-   q(1230) => [
+   q(1231) => [
       q(Budza),
       ],
-   q(1231) => [
+   q(1232) => [
       q(Banggarla),
       ],
-   q(1232) => [
+   q(1233) => [
       q(Bariji),
       ],
-   q(1233) => [
+   q(1234) => [
       q(Biao-Jiao Mien),
       ],
-   q(1234) => [
+   q(1235) => [
       q(Barzani Jewish Neo-Aramaic),
       ],
-   q(1235) => [
+   q(1236) => [
       q(Bidyogo),
       ],
-   q(1236) => [
+   q(1237) => [
       q(Bahinemo),
       ],
-   q(1237) => [
+   q(1238) => [
       q(Burji),
       ],
-   q(1238) => [
+   q(1239) => [
       q(Kanauji),
       ],
-   q(1239) => [
+   q(1240) => [
       q(Barok),
       ],
-   q(1240) => [
+   q(1241) => [
       q(Bulu (Papua New Guinea)),
       ],
-   q(1241) => [
+   q(1242) => [
       q(Bajelani),
       ],
-   q(1242) => [
+   q(1243) => [
       q(Banjar),
       ],
-   q(1243) => [
+   q(1244) => [
       q(Mid-Southern Banda),
       ],
-   q(1244) => [
+   q(1245) => [
       q(Fanamaket),
       ],
-   q(1245) => [
+   q(1246) => [
       q(Binumarien),
       ],
-   q(1246) => [
+   q(1247) => [
       q(Bajan),
       ],
-   q(1247) => [
+   q(1248) => [
       q(Balanta-Ganja),
       ],
-   q(1248) => [
+   q(1249) => [
       q(Busuu),
       ],
-   q(1249) => [
+   q(1250) => [
       q(Bedjond),
       ],
-   q(1250) => [
+   q(1251) => [
       q(Bakwe),
       ],
-   q(1251) => [
+   q(1252) => [
       q(Banao Itneg),
       ],
-   q(1252) => [
+   q(1253) => [
       q(Bayali),
       ],
-   q(1253) => [
+   q(1254) => [
       q(Baruga),
       ],
-   q(1254) => [
+   q(1255) => [
       q(Kyak),
       ],
-   q(1255) => [
+   q(1256) => [
       q(Baka (Cameroon)),
       ],
-   q(1256) => [
+   q(1257) => [
       q(Binukid),
       q(Talaandig),
       ],
-   q(1257) => [
+   q(1258) => [
       q(Beeke),
       ],
-   q(1258) => [
+   q(1259) => [
       q(Buraka),
       ],
-   q(1259) => [
+   q(1260) => [
       q(Bakoko),
       ],
-   q(1260) => [
+   q(1261) => [
       q(Baki),
       ],
-   q(1261) => [
+   q(1262) => [
       q(Pande),
       ],
-   q(1262) => [
+   q(1263) => [
       q(Brokskat),
       ],
-   q(1263) => [
+   q(1264) => [
       q(Berik),
       ],
-   q(1264) => [
+   q(1265) => [
       q(Kom (Cameroon)),
       ],
-   q(1265) => [
+   q(1266) => [
       q(Bukitan),
       ],
-   q(1266) => [
+   q(1267) => [
       q(Kwa'),
       ],
-   q(1267) => [
+   q(1268) => [
       q(Boko (Democratic Republic of Congo)),
       ],
-   q(1268) => [
+   q(1269) => [
       q(Bakairi),
       ],
-   q(1269) => [
+   q(1270) => [
       q(Bakumpai),
       ],
-   q(1270) => [
+   q(1271) => [
       q(Northern Sorsoganon),
       ],
-   q(1271) => [
+   q(1272) => [
       q(Boloki),
       ],
-   q(1272) => [
+   q(1273) => [
       q(Buhid),
       ],
-   q(1273) => [
+   q(1274) => [
       q(Bekwarra),
       ],
-   q(1274) => [
+   q(1275) => [
       q(Bekwel),
       ],
-   q(1275) => [
+   q(1276) => [
       q(Baikeno),
       ],
-   q(1276) => [
+   q(1277) => [
       q(Bokyi),
       ],
-   q(1277) => [
+   q(1278) => [
       q(Bungku),
       ],
-   q(1278) => [
+   q(1279) => [
       q(Bilua),
       ],
-   q(1279) => [
+   q(1280) => [
       q(Bella Coola),
       ],
-   q(1280) => [
+   q(1281) => [
       q(Bolango),
       ],
-   q(1281) => [
+   q(1282) => [
       q(Balanta-Kentohe),
       ],
-   q(1282) => [
+   q(1283) => [
       q(Buol),
       ],
-   q(1283) => [
+   q(1284) => [
       q(Balau),
       ],
-   q(1284) => [
+   q(1285) => [
       q(Kuwaa),
       ],
-   q(1285) => [
+   q(1286) => [
       q(Bolia),
       ],
-   q(1286) => [
+   q(1287) => [
       q(Bolongan),
       ],
-   q(1287) => [
+   q(1288) => [
       q(Pa'o Karen),
       q(Pa'O),
       ],
-   q(1288) => [
+   q(1289) => [
       q(Biloxi),
       ],
-   q(1289) => [
+   q(1290) => [
       q(Beli (Sudan)),
       ],
-   q(1290) => [
+   q(1291) => [
       q(Southern Catanduanes Bikol),
       ],
-   q(1291) => [
+   q(1292) => [
       q(Anii),
       ],
-   q(1292) => [
+   q(1293) => [
       q(Blablanga),
       ],
-   q(1293) => [
+   q(1294) => [
       q(Baluan-Pam),
       ],
-   q(1294) => [
+   q(1295) => [
       q(Blang),
       ],
-   q(1295) => [
+   q(1296) => [
       q(Balaesang),
       ],
-   q(1296) => [
+   q(1297) => [
       q(Tai Dam),
       ],
-   q(1297) => [
+   q(1298) => [
       q(Bolo),
       ],
-   q(1298) => [
+   q(1299) => [
       q(Balangao),
       ],
-   q(1299) => [
+   q(1300) => [
       q(Mag-Indi Ayta),
       ],
-   q(1300) => [
+   q(1301) => [
       q(Notre),
       ],
-   q(1301) => [
+   q(1302) => [
       q(Balantak),
       ],
-   q(1302) => [
+   q(1303) => [
       q(Lame),
       ],
-   q(1303) => [
+   q(1304) => [
       q(Bembe),
       ],
-   q(1304) => [
+   q(1305) => [
       q(Biem),
       ],
-   q(1305) => [
+   q(1306) => [
       q(Baga Manduri),
       ],
-   q(1306) => [
+   q(1307) => [
       q(Limassa),
       ],
-   q(1307) => [
+   q(1308) => [
       q(Bom),
       ],
-   q(1308) => [
+   q(1309) => [
       q(Bamwe),
       ],
-   q(1309) => [
+   q(1310) => [
       q(Kein),
       ],
-   q(1310) => [
+   q(1311) => [
       q(Bagirmi),
       ],
-   q(1311) => [
+   q(1312) => [
       q(Bote-Majhi),
       ],
-   q(1312) => [
+   q(1313) => [
       q(Ghayavi),
       ],
-   q(1313) => [
+   q(1314) => [
       q(Bomboli),
       ],
-   q(1314) => [
+   q(1315) => [
       q(Northern Betsimisaraka Malagasy),
       ],
-   q(1315) => [
+   q(1316) => [
       q(Bina (Papua New Guinea)),
       ],
-   q(1316) => [
+   q(1317) => [
       q(Bambalang),
       ],
-   q(1317) => [
+   q(1318) => [
       q(Bulgebi),
       ],
-   q(1318) => [
+   q(1319) => [
       q(Bomu),
       ],
-   q(1319) => [
+   q(1320) => [
       q(Muinane),
       ],
-   q(1320) => [
+   q(1321) => [
       q(Bilma Kanuri),
       ],
-   q(1321) => [
+   q(1322) => [
       q(Biao Mon),
       ],
-   q(1322) => [
+   q(1323) => [
       q(Somba-Siawari),
       ],
-   q(1323) => [
+   q(1324) => [
       q(Bum),
       ],
-   q(1324) => [
+   q(1325) => [
       q(Bomwali),
       ],
-   q(1325) => [
+   q(1326) => [
       q(Baimak),
       ],
-   q(1326) => [
+   q(1327) => [
       q(Baramu),
       ],
-   q(1327) => [
+   q(1328) => [
       q(Bonerate),
       ],
-   q(1328) => [
+   q(1329) => [
       q(Bookan),
       ],
-   q(1329) => [
+   q(1330) => [
       q(Bontok),
       ],
-   q(1330) => [
+   q(1331) => [
       q(Banda (Indonesia)),
       ],
-   q(1331) => [
+   q(1332) => [
       q(Bintauna),
       ],
-   q(1332) => [
+   q(1333) => [
       q(Masiwang),
       ],
-   q(1333) => [
+   q(1334) => [
       q(Benga),
       ],
-   q(1334) => [
+   q(1335) => [
       q(Bangi),
       ],
-   q(1335) => [
+   q(1336) => [
       q(Eastern Tawbuid),
       ],
-   q(1336) => [
+   q(1337) => [
       q(Bierebo),
       ],
-   q(1337) => [
+   q(1338) => [
       q(Boon),
       ],
-   q(1338) => [
+   q(1339) => [
       q(Batanga),
       ],
-   q(1339) => [
+   q(1340) => [
       q(Bunun),
       ],
-   q(1340) => [
+   q(1341) => [
       q(Bantoanon),
       ],
-   q(1341) => [
+   q(1342) => [
       q(Bola),
       ],
-   q(1342) => [
+   q(1343) => [
       q(Bantik),
       ],
-   q(1343) => [
+   q(1344) => [
       q(Butmas-Tur),
       ],
-   q(1344) => [
+   q(1345) => [
       q(Bundeli),
       ],
-   q(1345) => [
+   q(1346) => [
       q(Bentong),
       ],
-   q(1346) => [
+   q(1347) => [
       q(Bonerif),
       q(Beneraf),
       q(Edwas),
       ],
-   q(1347) => [
+   q(1348) => [
       q(Bisis),
       ],
-   q(1348) => [
+   q(1349) => [
       q(Bangubangu),
       ],
-   q(1349) => [
+   q(1350) => [
       q(Bintulu),
       ],
-   q(1350) => [
+   q(1351) => [
       q(Beezen),
       ],
-   q(1351) => [
+   q(1352) => [
       q(Bora),
       ],
-   q(1352) => [
+   q(1353) => [
       q(Aweer),
       ],
-   q(1353) => [
+   q(1354) => [
       q(Mundabli),
       ],
-   q(1354) => [
+   q(1355) => [
       q(Bolon),
       ],
-   q(1355) => [
+   q(1356) => [
       q(Bamako Sign Language),
       ],
-   q(1356) => [
+   q(1357) => [
       q(Boma),
       ],
-   q(1357) => [
+   q(1358) => [
       q(Barbareno),
       ],
-   q(1358) => [
+   q(1359) => [
       q(Anjam),
       ],
-   q(1359) => [
+   q(1360) => [
       q(Bonjo),
       ],
-   q(1360) => [
+   q(1361) => [
       q(Bole),
       ],
-   q(1361) => [
+   q(1362) => [
       q(Berom),
       ],
-   q(1362) => [
+   q(1363) => [
       q(Bine),
       ],
-   q(1363) => [
+   q(1364) => [
       q(Tiemacewe Bozo),
       ],
-   q(1364) => [
+   q(1365) => [
       q(Bonkiman),
       ],
-   q(1365) => [
+   q(1366) => [
       q(Bogaya),
       ],
-   q(1366) => [
+   q(1367) => [
       q(Bororo),
       ],
-   q(1367) => [
+   q(1368) => [
       q(Bongo),
       ],
-   q(1368) => [
+   q(1369) => [
       q(Bondei),
       ],
-   q(1369) => [
+   q(1370) => [
       q(Tuwuli),
       ],
-   q(1370) => [
+   q(1371) => [
       q(Rema),
       ],
-   q(1371) => [
+   q(1372) => [
       q(Buamu),
       ],
-   q(1372) => [
+   q(1373) => [
       q(Bodo (Central African Republic)),
       ],
-   q(1373) => [
+   q(1374) => [
       q(Tieyaxo Bozo),
       ],
-   q(1374) => [
+   q(1375) => [
       q(Daakaka),
       ],
-   q(1375) => [
+   q(1376) => [
       q(Barbacoas),
       ],
-   q(1376) => [
+   q(1377) => [
       q(Banda-Banda),
       ],
-   q(1377) => [
+   q(1378) => [
       q(Bonggo),
       ],
-   q(1378) => [
+   q(1379) => [
       q(Botlikh),
       ],
-   q(1379) => [
+   q(1380) => [
       q(Bagupi),
       ],
-   q(1380) => [
+   q(1381) => [
       q(Binji),
       ],
-   q(1381) => [
+   q(1382) => [
       q(Orowe),
       q('Oroe),
       ],
-   q(1382) => [
+   q(1383) => [
       q(Broome Pearling Lugger Pidgin),
       ],
-   q(1383) => [
+   q(1384) => [
       q(Biyom),
       ],
-   q(1384) => [
+   q(1385) => [
       q(Dzao Min),
       ],
-   q(1385) => [
+   q(1386) => [
       q(Anasi),
       ],
-   q(1386) => [
+   q(1387) => [
       q(Kaure),
       ],
-   q(1387) => [
+   q(1388) => [
       q(Banda Malay),
       ],
-   q(1388) => [
+   q(1389) => [
       q(Koronadal Blaan),
       ],
-   q(1389) => [
+   q(1390) => [
       q(Sarangani Blaan),
       ],
-   q(1390) => [
+   q(1391) => [
       q(Barrow Point),
       ],
-   q(1391) => [
+   q(1392) => [
       q(Bongu),
       ],
-   q(1392) => [
+   q(1393) => [
       q(Bian Marind),
       ],
-   q(1393) => [
+   q(1394) => [
       q(Bo (Papua New Guinea)),
       ],
-   q(1394) => [
+   q(1395) => [
       q(Palya Bareli),
       ],
-   q(1395) => [
+   q(1396) => [
       q(Bishnupriya),
       ],
-   q(1396) => [
+   q(1397) => [
       q(Bilba),
       ],
-   q(1397) => [
+   q(1398) => [
       q(Tchumbuli),
       ],
-   q(1398) => [
+   q(1399) => [
       q(Bagusa),
       ],
-   q(1399) => [
+   q(1400) => [
       q(Boko (Benin)),
       q(Boo),
       ],
-   q(1400) => [
+   q(1401) => [
       q(Bung),
       ],
-   q(1401) => [
+   q(1402) => [
       q(Baga Kaloum),
       ],
-   q(1402) => [
+   q(1403) => [
       q(Bago-Kusuntu),
       ],
-   q(1403) => [
+   q(1404) => [
       q(Baima),
       ],
-   q(1404) => [
+   q(1405) => [
       q(Bakhtiari),
       ],
-   q(1405) => [
+   q(1406) => [
       q(Bandial),
       ],
-   q(1406) => [
+   q(1407) => [
       q(Banda-Mbres),
       ],
-   q(1407) => [
+   q(1408) => [
       q(Bilakura),
       ],
-   q(1408) => [
+   q(1409) => [
       q(Wumboko),
       ],
-   q(1409) => [
+   q(1410) => [
       q(Bulgarian Sign Language),
       ],
-   q(1410) => [
+   q(1411) => [
       q(Balo),
       ],
-   q(1411) => [
+   q(1412) => [
       q(Busa),
       ],
-   q(1412) => [
+   q(1413) => [
       q(Biritai),
       ],
-   q(1413) => [
+   q(1414) => [
       q(Burusu),
       ],
-   q(1414) => [
+   q(1415) => [
       q(Bosngun),
       ],
-   q(1415) => [
+   q(1416) => [
       q(Bamukumbit),
       ],
-   q(1416) => [
+   q(1417) => [
       q(Boguru),
       ],
-   q(1417) => [
+   q(1418) => [
       q(Koro Wachi),
       q(Begbere-Ejar),
       ],
-   q(1418) => [
+   q(1419) => [
       q(Buru (Nigeria)),
       ],
-   q(1419) => [
+   q(1420) => [
       q(Baangi),
       ],
-   q(1420) => [
+   q(1421) => [
       q(Bengkala Sign Language),
       ],
-   q(1421) => [
+   q(1422) => [
       q(Bakaka),
       ],
-   q(1422) => [
+   q(1423) => [
       q(Lave),
       ],
-   q(1423) => [
+   q(1424) => [
       q(Berbice Creole Dutch),
       ],
-   q(1424) => [
+   q(1425) => [
       q(Baraamu),
       ],
-   q(1425) => [
+   q(1426) => [
       q(Bera),
       ],
-   q(1426) => [
+   q(1427) => [
       q(Baure),
       ],
-   q(1427) => [
+   q(1428) => [
       q(Brahui),
       ],
-   q(1428) => [
+   q(1429) => [
       q(Mokpwe),
       ],
-   q(1429) => [
+   q(1430) => [
       q(Bieria),
       ],
-   q(1430) => [
+   q(1431) => [
       q(Birked),
       ],
-   q(1431) => [
+   q(1432) => [
       q(Birwa),
       ],
-   q(1432) => [
+   q(1433) => [
       q(Barambu),
       ],
-   q(1433) => [
+   q(1434) => [
       q(Boruca),
       ],
-   q(1434) => [
+   q(1435) => [
       q(Brokkat),
       ],
-   q(1435) => [
+   q(1436) => [
       q(Barapasi),
       ],
-   q(1436) => [
+   q(1437) => [
       q(Breri),
       ],
-   q(1437) => [
+   q(1438) => [
       q(Birao),
       ],
-   q(1438) => [
+   q(1439) => [
       q(Baras),
       ],
-   q(1439) => [
+   q(1440) => [
       q(Bitare),
       ],
-   q(1440) => [
+   q(1441) => [
       q(Eastern Bru),
       ],
-   q(1441) => [
+   q(1442) => [
       q(Western Bru),
       ],
-   q(1442) => [
+   q(1443) => [
       q(Bellari),
       ],
-   q(1443) => [
+   q(1444) => [
       q(Bodo (India)),
       ],
-   q(1444) => [
+   q(1445) => [
       q(Burui),
       ],
-   q(1445) => [
+   q(1446) => [
       q(Bilbil),
       ],
-   q(1446) => [
+   q(1447) => [
       q(Abinomn),
       ],
-   q(1447) => [
+   q(1448) => [
       q(Brunei Bisaya),
       ],
-   q(1448) => [
+   q(1449) => [
       q(Bassari),
       q(Oniyan),
       ],
-   q(1449) => [
+   q(1450) => [
       q(Wushi),
       ],
-   q(1450) => [
+   q(1451) => [
       q(Bauchi),
       ],
-   q(1451) => [
+   q(1452) => [
       q(Bashkardi),
       ],
-   q(1452) => [
+   q(1453) => [
       q(Kati),
       ],
-   q(1453) => [
+   q(1454) => [
       q(Bassossi),
       ],
-   q(1454) => [
+   q(1455) => [
       q(Bangwinji),
       ],
-   q(1455) => [
+   q(1456) => [
       q(Burushaski),
       ],
-   q(1456) => [
+   q(1457) => [
       q(Basa-Gumna),
       ],
-   q(1457) => [
+   q(1458) => [
       q(Busami),
       ],
-   q(1458) => [
+   q(1459) => [
       q(Barasana-Eduria),
       ],
-   q(1459) => [
+   q(1460) => [
       q(Buso),
       ],
-   q(1460) => [
+   q(1461) => [
       q(Baga Sitemu),
       ],
-   q(1461) => [
+   q(1462) => [
       q(Bassa),
       ],
-   q(1462) => [
+   q(1463) => [
       q(Bassa-Kontagora),
       ],
-   q(1463) => [
+   q(1464) => [
       q(Akoose),
       ],
-   q(1464) => [
+   q(1465) => [
       q(Basketo),
       ],
-   q(1465) => [
+   q(1466) => [
       q(Bahonsuai),
       ],
-   q(1466) => [
+   q(1467) => [
       q(Baga Sobane),
       ],
-   q(1467) => [
+   q(1468) => [
       q(Baiso),
       ],
-   q(1468) => [
+   q(1469) => [
       q(Yangkam),
       ],
-   q(1469) => [
+   q(1470) => [
       q(Sabah Bisaya),
       ],
-   q(1470) => [
+   q(1471) => [
       q(Bata),
       ],
-   q(1471) => [
+   q(1472) => [
       q(Bati (Cameroon)),
       ],
-   q(1472) => [
+   q(1473) => [
       q(Batak Dairi),
       ],
-   q(1473) => [
+   q(1474) => [
       q(Gamo-Ningi),
       ],
-   q(1474) => [
+   q(1475) => [
       q(Birgit),
       ],
-   q(1475) => [
+   q(1476) => [
       q(Gagnoa Bete),
       ],
-   q(1476) => [
+   q(1477) => [
       q(Biatah Bidayuh),
       ],
-   q(1477) => [
+   q(1478) => [
       q(Burate),
       ],
-   q(1478) => [
+   q(1479) => [
       q(Bacanese Malay),
       ],
-   q(1479) => [
+   q(1480) => [
       q(Bhatola),
       ],
-   q(1480) => [
+   q(1481) => [
       q(Batak Mandailing),
       ],
-   q(1481) => [
+   q(1482) => [
       q(Ratagnon),
       ],
-   q(1482) => [
+   q(1483) => [
       q(Rinconada Bikol),
       ],
-   q(1483) => [
+   q(1484) => [
       q(Budibud),
       ],
-   q(1484) => [
+   q(1485) => [
       q(Batek),
       ],
-   q(1485) => [
+   q(1486) => [
       q(Baetora),
       ],
-   q(1486) => [
+   q(1487) => [
       q(Batak Simalungun),
       ],
-   q(1487) => [
+   q(1488) => [
       q(Bete-Bendi),
       ],
-   q(1488) => [
+   q(1489) => [
       q(Batu),
       ],
-   q(1489) => [
+   q(1490) => [
       q(Bateri),
       ],
-   q(1490) => [
+   q(1491) => [
       q(Butuanon),
       ],
-   q(1491) => [
+   q(1492) => [
       q(Batak Karo),
       ],
-   q(1492) => [
+   q(1493) => [
       q(Bobot),
       ],
-   q(1493) => [
+   q(1494) => [
       q(Batak Alas-Kluet),
       ],
-   q(1494) => [
+   q(1495) => [
       q(Bua),
       ],
-   q(1495) => [
+   q(1496) => [
       q(Bushi),
       ],
-   q(1496) => [
+   q(1497) => [
       q(Ntcham),
       ],
-   q(1497) => [
+   q(1498) => [
       q(Beothuk),
       ],
-   q(1498) => [
+   q(1499) => [
       q(Bushoong),
       ],
-   q(1499) => [
+   q(1500) => [
       q(Younuo Bunu),
       ],
-   q(1500) => [
+   q(1501) => [
       q(Bongili),
       ],
-   q(1501) => [
+   q(1502) => [
       q(Basa-Gurmana),
       ],
-   q(1502) => [
+   q(1503) => [
       q(Bugawac),
       ],
-   q(1503) => [
+   q(1504) => [
       q(Bulu (Cameroon)),
       ],
-   q(1504) => [
+   q(1505) => [
       q(Sherbro),
       ],
-   q(1505) => [
+   q(1506) => [
       q(Terei),
       ],
-   q(1506) => [
+   q(1507) => [
       q(Busoa),
       ],
-   q(1507) => [
+   q(1508) => [
       q(Brem),
       ],
-   q(1508) => [
+   q(1509) => [
       q(Bokobaru),
       ],
-   q(1509) => [
+   q(1510) => [
       q(Bungain),
       ],
-   q(1510) => [
+   q(1511) => [
       q(Budu),
       ],
-   q(1511) => [
+   q(1512) => [
       q(Bun),
       ],
-   q(1512) => [
+   q(1513) => [
       q(Bubi),
       ],
-   q(1513) => [
+   q(1514) => [
       q(Boghom),
       ],
-   q(1514) => [
+   q(1515) => [
       q(Bullom So),
       ],
-   q(1515) => [
+   q(1516) => [
       q(Bukwen),
       ],
-   q(1516) => [
+   q(1517) => [
       q(Barein),
       ],
-   q(1517) => [
+   q(1518) => [
       q(Bube),
       ],
-   q(1518) => [
+   q(1519) => [
       q(Baelelea),
       ],
-   q(1519) => [
+   q(1520) => [
       q(Baeggu),
       ],
-   q(1520) => [
+   q(1521) => [
       q(Berau Malay),
       ],
-   q(1521) => [
+   q(1522) => [
       q(Boor),
       ],
-   q(1522) => [
+   q(1523) => [
       q(Bonkeng),
       ],
-   q(1523) => [
+   q(1524) => [
       q(Bure),
       ],
-   q(1524) => [
+   q(1525) => [
       q(Belanda Viri),
       ],
-   q(1525) => [
+   q(1526) => [
       q(Baan),
       ],
-   q(1526) => [
+   q(1527) => [
       q(Bukat),
       ],
-   q(1527) => [
+   q(1528) => [
       q(Bolivian Sign Language),
       ],
-   q(1528) => [
+   q(1529) => [
       q(Bamunka),
       ],
-   q(1529) => [
+   q(1530) => [
       q(Buna),
       ],
-   q(1530) => [
+   q(1531) => [
       q(Bolgo),
       ],
-   q(1531) => [
+   q(1532) => [
       q(Bumang),
       ],
-   q(1532) => [
+   q(1533) => [
       q(Birri),
       ],
-   q(1533) => [
+   q(1534) => [
       q(Burarra),
       ],
-   q(1534) => [
+   q(1535) => [
       q(Bati (Indonesia)),
       ],
-   q(1535) => [
+   q(1536) => [
       q(Bukit Malay),
       ],
-   q(1536) => [
+   q(1537) => [
       q(Baniva),
       ],
-   q(1537) => [
+   q(1538) => [
       q(Boga),
       ],
-   q(1538) => [
+   q(1539) => [
       q(Dibole),
       ],
-   q(1539) => [
+   q(1540) => [
       q(Baybayanon),
       ],
-   q(1540) => [
+   q(1541) => [
       q(Bauzi),
       ],
-   q(1541) => [
+   q(1542) => [
       q(Bwatoo),
       ],
-   q(1542) => [
+   q(1543) => [
       q(Namosi-Naitasiri-Serua),
       ],
-   q(1543) => [
+   q(1544) => [
       q(Bwile),
       ],
-   q(1544) => [
+   q(1545) => [
       q(Bwaidoka),
       ],
-   q(1545) => [
+   q(1546) => [
       q(Bwe Karen),
       ],
-   q(1546) => [
+   q(1547) => [
       q(Boselewa),
       ],
-   q(1547) => [
+   q(1548) => [
       q(Barwe),
       ],
-   q(1548) => [
+   q(1549) => [
       q(Bishuo),
       ],
-   q(1549) => [
+   q(1550) => [
       q(Baniwa),
       ],
-   q(1550) => [
+   q(1551) => [
       q(Laa Laa Bwamu),
       ],
-   q(1551) => [
+   q(1552) => [
       q(Bauwaki),
       ],
-   q(1552) => [
+   q(1553) => [
       q(Bwela),
       ],
-   q(1553) => [
+   q(1554) => [
       q(Biwat),
       ],
-   q(1554) => [
+   q(1555) => [
       q(Wunai Bunu),
       ],
-   q(1555) => [
+   q(1556) => [
       q(Boro (Ethiopia)),
       q(Borna (Ethiopia)),
       ],
-   q(1556) => [
+   q(1557) => [
       q(Mandobo Bawah),
       ],
-   q(1557) => [
+   q(1558) => [
       q(Southern Bobo Madare),
       ],
-   q(1558) => [
+   q(1559) => [
       q(Bura-Pabir),
       ],
-   q(1559) => [
+   q(1560) => [
       q(Bomboma),
       ],
-   q(1560) => [
+   q(1561) => [
       q(Bafaw-Balong),
       ],
-   q(1561) => [
+   q(1562) => [
       q(Buli (Ghana)),
       ],
-   q(1562) => [
+   q(1563) => [
       q(Bwa),
       ],
-   q(1563) => [
+   q(1564) => [
       q(Bu-Nao Bunu),
       ],
-   q(1564) => [
+   q(1565) => [
       q(Cwi Bwamu),
       ],
-   q(1565) => [
+   q(1566) => [
       q(Bwisi),
       ],
-   q(1566) => [
+   q(1567) => [
       q(Tairaha),
       ],
-   q(1567) => [
+   q(1568) => [
       q(Belanda Bor),
       ],
-   q(1568) => [
+   q(1569) => [
       q(Molengue),
       ],
-   q(1569) => [
+   q(1570) => [
       q(Pela),
       ],
-   q(1570) => [
+   q(1571) => [
       q(Birale),
       ],
-   q(1571) => [
+   q(1572) => [
       q(Bilur),
       q(Minigir),
       ],
-   q(1572) => [
+   q(1573) => [
       q(Bangala),
       ],
-   q(1573) => [
+   q(1574) => [
       q(Buhutu),
       ],
-   q(1574) => [
+   q(1575) => [
       q(Pirlatapa),
       ],
-   q(1575) => [
+   q(1576) => [
       q(Bayungu),
       ],
-   q(1576) => [
+   q(1577) => [
       q(Bukusu),
       q(Lubukusu),
       ],
-   q(1577) => [
+   q(1578) => [
       q(Jalkunan),
       ],
-   q(1578) => [
+   q(1579) => [
       q(Mongolia Buriat),
       ],
-   q(1579) => [
+   q(1580) => [
       q(Burduna),
       ],
-   q(1580) => [
+   q(1581) => [
       q(Barikanchi),
       ],
-   q(1581) => [
+   q(1582) => [
       q(Bebil),
       ],
-   q(1582) => [
+   q(1583) => [
       q(Beele),
       ],
-   q(1583) => [
+   q(1584) => [
       q(Russia Buriat),
       ],
-   q(1584) => [
+   q(1585) => [
       q(Busam),
       ],
-   q(1585) => [
+   q(1586) => [
       q(China Buriat),
       ],
-   q(1586) => [
+   q(1587) => [
       q(Berakou),
       ],
-   q(1587) => [
+   q(1588) => [
       q(Bankagooma),
       ],
-   q(1588) => [
+   q(1589) => [
       q(Binahari),
       ],
-   q(1589) => [
+   q(1590) => [
       q(Batak),
       ],
-   q(1590) => [
+   q(1591) => [
       q(Bikya),
       ],
-   q(1591) => [
+   q(1592) => [
       q(Ubaghara),
       ],
-   q(1592) => [
+   q(1593) => [
       q(Benyadu'),
       ],
-   q(1593) => [
+   q(1594) => [
       q(Pouye),
       ],
-   q(1594) => [
+   q(1595) => [
       q(Bete),
       ],
-   q(1595) => [
+   q(1596) => [
       q(Baygo),
       ],
-   q(1596) => [
+   q(1597) => [
       q(Bhujel),
       ],
-   q(1597) => [
+   q(1598) => [
       q(Buyu),
       ],
-   q(1598) => [
+   q(1599) => [
       q(Bina (Nigeria)),
       ],
-   q(1599) => [
+   q(1600) => [
       q(Biao),
       ],
-   q(1600) => [
+   q(1601) => [
       q(Bayono),
       ],
-   q(1601) => [
+   q(1602) => [
       q(Bidyara),
       ],
-   q(1602) => [
+   q(1603) => [
       q(Biyo),
       ],
-   q(1603) => [
+   q(1604) => [
       q(Bumaji),
       ],
-   q(1604) => [
+   q(1605) => [
       q(Basay),
       ],
-   q(1605) => [
+   q(1606) => [
       q(Baruya),
       q(Yipma),
       ],
-   q(1606) => [
+   q(1607) => [
       q(Burak),
       ],
-   q(1607) => [
+   q(1608) => [
       q(Berti),
       ],
-   q(1608) => [
+   q(1609) => [
       q(Medumba),
       ],
-   q(1609) => [
+   q(1610) => [
       q(Belhariya),
       ],
-   q(1610) => [
+   q(1611) => [
       q(Qaqet),
       ],
-   q(1611) => [
+   q(1612) => [
       q(Banaro),
       ],
-   q(1612) => [
+   q(1613) => [
       q(Bandi),
       ],
-   q(1613) => [
+   q(1614) => [
       q(Andio),
       ],
-   q(1614) => [
+   q(1615) => [
       q(Southern Betsimisaraka Malagasy),
       ],
-   q(1615) => [
+   q(1616) => [
       q(Bribri),
       ],
-   q(1616) => [
+   q(1617) => [
       q(Jenaama Bozo),
       ],
-   q(1617) => [
+   q(1618) => [
       q(Boikin),
       ],
-   q(1618) => [
+   q(1619) => [
       q(Babuza),
       ],
-   q(1619) => [
+   q(1620) => [
       q(Mapos Buang),
       ],
-   q(1620) => [
+   q(1621) => [
       q(Bisu),
       ],
-   q(1621) => [
+   q(1622) => [
       q(Belize Kriol English),
       ],
-   q(1622) => [
+   q(1623) => [
       q(Nicaragua Creole English),
       ],
-   q(1623) => [
+   q(1624) => [
       q(Boano (Sulawesi)),
       ],
-   q(1624) => [
+   q(1625) => [
       q(Bolondo),
       ],
-   q(1625) => [
+   q(1626) => [
       q(Boano (Maluku)),
       ],
-   q(1626) => [
+   q(1627) => [
       q(Bozaba),
       ],
-   q(1627) => [
+   q(1628) => [
       q(Kemberano),
       ],
-   q(1628) => [
+   q(1629) => [
       q(Buli (Indonesia)),
       ],
-   q(1629) => [
+   q(1630) => [
       q(Biri),
       ],
-   q(1630) => [
+   q(1631) => [
       q(Brazilian Sign Language),
       ],
-   q(1631) => [
+   q(1632) => [
       q(Brithenig),
       ],
-   q(1632) => [
+   q(1633) => [
       q(Burmeso),
       ],
-   q(1633) => [
+   q(1634) => [
       q(Naami),
       ],
-   q(1634) => [
+   q(1635) => [
       q(Basa (Nigeria)),
       ],
-   q(1635) => [
+   q(1636) => [
       q(Kelengazxo Bozo),
       ],
-   q(1636) => [
+   q(1637) => [
       q(Obanliku),
       ],
-   q(1637) => [
+   q(1638) => [
       q(Evant),
       ],
-   q(1638) => [
+   q(1639) => [
       q(Chorti),
       ],
-   q(1639) => [
+   q(1640) => [
       q(Garifuna),
       ],
-   q(1640) => [
+   q(1641) => [
       q(Chuj),
       ],
-   q(1641) => [
+   q(1642) => [
       q(Lehar),
       q(Laalaa),
       ],
-   q(1642) => [
+   q(1643) => [
       q(Southern Carrier),
       ],
-   q(1643) => [
+   q(1644) => [
       q(Nivacle),
       ],
-   q(1644) => [
+   q(1645) => [
       q(Cahuarano),
       ],
-   q(1645) => [
+   q(1646) => [
       q(Chane),
       ],
-   q(1646) => [
+   q(1647) => [
       q(Kaqchikel),
       q(Cakchiquel),
       ],
-   q(1647) => [
+   q(1648) => [
       q(Carolinian),
       ],
-   q(1648) => [
+   q(1649) => [
       q(Cemuhi),
       ],
-   q(1649) => [
+   q(1650) => [
       q(Chambri),
       ],
-   q(1650) => [
+   q(1651) => [
       q(Chacobo),
       ],
-   q(1651) => [
+   q(1652) => [
       q(Chipaya),
       ],
-   q(1652) => [
+   q(1653) => [
       q(Car Nicobarese),
       ],
-   q(1653) => [
+   q(1654) => [
       q(Tsimane),
       ],
-   q(1654) => [
+   q(1655) => [
       q(Cavinena),
       ],
-   q(1655) => [
+   q(1656) => [
       q(Callawalla),
       ],
-   q(1656) => [
+   q(1657) => [
       q(Chiquitano),
       ],
-   q(1657) => [
+   q(1658) => [
       q(Cayuga),
       ],
-   q(1658) => [
+   q(1659) => [
       q(Canichana),
       ],
-   q(1659) => [
+   q(1660) => [
       q(Cabiyari),
       ],
-   q(1660) => [
+   q(1661) => [
       q(Carapana),
       ],
-   q(1661) => [
+   q(1662) => [
       q(Carijona),
       ],
-   q(1662) => [
+   q(1663) => [
       q(Chipiajes),
       ],
-   q(1663) => [
+   q(1664) => [
       q(Chimila),
       ],
-   q(1664) => [
+   q(1665) => [
       q(Cagua),
       ],
-   q(1665) => [
+   q(1666) => [
       q(Chachi),
       ],
-   q(1666) => [
+   q(1667) => [
       q(Ede Cabe),
       ],
-   q(1667) => [
+   q(1668) => [
       q(Chavacano),
       ],
-   q(1668) => [
+   q(1669) => [
       q(Bualkhaw Chin),
       ],
-   q(1669) => [
+   q(1670) => [
       q(Nyahkur),
       ],
-   q(1670) => [
+   q(1671) => [
       q(Izora),
       ],
-   q(1671) => [
+   q(1672) => [
       q(Tsucuba),
       q(Cuba),
       ],
-   q(1672) => [
+   q(1673) => [
       q(Cashibo-Cacataibo),
       ],
-   q(1673) => [
+   q(1674) => [
       q(Cashinahua),
       ],
-   q(1674) => [
+   q(1675) => [
       q(Chayahuita),
       ],
-   q(1675) => [
+   q(1676) => [
       q(Candoshi-Shapra),
       ],
-   q(1676) => [
+   q(1677) => [
       q(Cacua),
       ],
-   q(1677) => [
+   q(1678) => [
       q(Kinabalian),
       ],
-   q(1678) => [
+   q(1679) => [
       q(Carabayo),
       ],
-   q(1679) => [
+   q(1680) => [
       q(Cauca),
       ],
-   q(1680) => [
+   q(1681) => [
       q(Chamicuro),
       ],
-   q(1681) => [
+   q(1682) => [
       q(Cafundo Creole),
       ],
-   q(1682) => [
+   q(1683) => [
       q(Chopi),
       ],
-   q(1683) => [
+   q(1684) => [
       q(Samba Daka),
       ],
-   q(1684) => [
+   q(1685) => [
       q(Atsam),
       ],
-   q(1685) => [
+   q(1686) => [
       q(Kasanga),
       ],
-   q(1686) => [
+   q(1687) => [
       q(Cutchi-Swahili),
       ],
-   q(1687) => [
+   q(1688) => [
       q(Malaccan Creole Malay),
       ],
-   q(1688) => [
+   q(1689) => [
       q(Comaltepec Chinantec),
       ],
-   q(1689) => [
+   q(1690) => [
       q(Chakma),
       ],
-   q(1690) => [
+   q(1691) => [
       q(Cacaopera),
       ],
-   q(1691) => [
+   q(1692) => [
       q(Choni),
       ],
-   q(1692) => [
+   q(1693) => [
       q(Chenchu),
       ],
-   q(1693) => [
+   q(1694) => [
       q(Chiru),
       ],
-   q(1694) => [
+   q(1695) => [
       q(Chamari),
       ],
-   q(1695) => [
+   q(1696) => [
       q(Chambeali),
       ],
-   q(1696) => [
+   q(1697) => [
       q(Chodri),
       ],
-   q(1697) => [
+   q(1698) => [
       q(Churahi),
       ],
-   q(1698) => [
+   q(1699) => [
       q(Chepang),
       ],
-   q(1699) => [
+   q(1700) => [
       q(Chaudangsi),
       ],
-   q(1700) => [
+   q(1701) => [
       q(Min Dong Chinese),
       ],
-   q(1701) => [
+   q(1702) => [
       q(Cinda-Regi-Tiyal),
       ],
-   q(1702) => [
+   q(1703) => [
       q(Chadian Sign Language),
       ],
-   q(1703) => [
+   q(1704) => [
       q(Chadong),
       ],
-   q(1704) => [
+   q(1705) => [
       q(Koda),
       ],
-   q(1705) => [
+   q(1706) => [
       q(Lower Chehalis),
       ],
-   q(1706) => [
+   q(1707) => [
       q(Chamacoco),
       ],
-   q(1707) => [
+   q(1708) => [
       q(Eastern Khumi Chin),
       ],
-   q(1708) => [
+   q(1709) => [
       q(Cen),
       ],
-   q(1709) => [
+   q(1710) => [
       q(Centuum),
       ],
-   q(1710) => [
+   q(1711) => [
       q(Dijim-Bwilim),
       ],
-   q(1711) => [
+   q(1712) => [
       q(Cara),
       ],
-   q(1712) => [
+   q(1713) => [
       q(Como Karim),
       ],
-   q(1713) => [
+   q(1714) => [
       q(Falam Chin),
       ],
-   q(1714) => [
+   q(1715) => [
       q(Changriwa),
       ],
-   q(1715) => [
+   q(1716) => [
       q(Kagayanen),
       ],
-   q(1716) => [
+   q(1717) => [
       q(Chiga),
       ],
-   q(1717) => [
+   q(1718) => [
       q(Chocangacakha),
       ],
-   q(1718) => [
+   q(1719) => [
       q(Catawba),
       ],
-   q(1719) => [
+   q(1720) => [
       q(Highland Oaxaca Chontal),
       ],
-   q(1720) => [
+   q(1721) => [
       q(Tabasco Chontal),
       ],
-   q(1721) => [
+   q(1722) => [
       q(Chinook),
       ],
-   q(1722) => [
+   q(1723) => [
       q(Ojitlan Chinantec),
       ],
-   q(1723) => [
+   q(1724) => [
       q(Cahuilla),
       ],
-   q(1724) => [
+   q(1725) => [
       q(Quiotepec Chinantec),
       ],
-   q(1725) => [
+   q(1726) => [
       q(Cholon),
       ],
-   q(1726) => [
+   q(1727) => [
       q(Chuwabu),
       ],
-   q(1727) => [
+   q(1728) => [
       q(Chantyal),
       ],
-   q(1728) => [
+   q(1729) => [
       q(Ozumacin Chinantec),
       ],
-   q(1729) => [
+   q(1730) => [
       q(Cia-Cia),
       ],
-   q(1730) => [
+   q(1731) => [
       q(Ci Gbe),
       ],
-   q(1731) => [
+   q(1732) => [
       q(Chickasaw),
       ],
-   q(1732) => [
+   q(1733) => [
       q(Chimariko),
       ],
-   q(1733) => [
+   q(1734) => [
       q(Cineni),
       ],
-   q(1734) => [
+   q(1735) => [
       q(Chinali),
       ],
-   q(1735) => [
+   q(1736) => [
       q(Chitkuli Kinnauri),
       ],
-   q(1736) => [
+   q(1737) => [
       q(Cimbrian),
       ],
-   q(1737) => [
+   q(1738) => [
       q(Cinta Larga),
       ],
-   q(1738) => [
+   q(1739) => [
       q(Chiapanec),
       ],
-   q(1739) => [
+   q(1740) => [
       q(Tiri),
       q(Hamea),
       q(Mea),
       ],
-   q(1740) => [
+   q(1741) => [
       q(Chippewa),
       ],
-   q(1741) => [
+   q(1742) => [
       q(Chaima),
       ],
-   q(1742) => [
+   q(1743) => [
       q(Western Cham),
       ],
-   q(1743) => [
+   q(1744) => [
       q(Chru),
       ],
-   q(1744) => [
+   q(1745) => [
       q(Upper Chehalis),
       ],
-   q(1745) => [
+   q(1746) => [
       q(Chamalal),
       ],
-   q(1746) => [
+   q(1747) => [
       q(Chokwe),
       ],
-   q(1747) => [
+   q(1748) => [
       q(Eastern Cham),
       ],
-   q(1748) => [
+   q(1749) => [
       q(Chenapian),
       ],
-   q(1749) => [
+   q(1750) => [
       q(Asheninka Pajonal),
       ],
-   q(1750) => [
+   q(1751) => [
       q(Cabecar),
       ],
-   q(1751) => [
+   q(1752) => [
       q(Shor),
       ],
-   q(1752) => [
+   q(1753) => [
       q(Chuave),
       ],
-   q(1753) => [
+   q(1754) => [
       q(Jinyu Chinese),
       ],
-   q(1754) => [
+   q(1755) => [
       q(Central Kurdish),
       ],
-   q(1755) => [
+   q(1756) => [
       q(Chak),
       ],
-   q(1756) => [
+   q(1757) => [
       q(Cibak),
       ],
-   q(1757) => [
+   q(1758) => [
       q(Kaang Chin),
       ],
-   q(1758) => [
+   q(1759) => [
       q(Anufo),
       ],
-   q(1759) => [
+   q(1760) => [
       q(Kajakse),
       ],
-   q(1760) => [
+   q(1761) => [
       q(Kairak),
       ],
-   q(1761) => [
+   q(1762) => [
       q(Tayo),
       ],
-   q(1762) => [
+   q(1763) => [
       q(Chukot),
       ],
-   q(1763) => [
+   q(1764) => [
       q(Koasati),
       ],
-   q(1764) => [
+   q(1765) => [
       q(Kavalan),
       ],
-   q(1765) => [
+   q(1766) => [
       q(Caka),
       ],
-   q(1766) => [
+   q(1767) => [
       q(Cakfem-Mushere),
       ],
-   q(1767) => [
+   q(1768) => [
       q(Cakchiquel-Quiche Mixed Language),
       ],
-   q(1768) => [
+   q(1769) => [
       q(Ron),
       ],
-   q(1769) => [
+   q(1770) => [
       q(Chilcotin),
       ],
-   q(1770) => [
+   q(1771) => [
       q(Chaldean Neo-Aramaic),
       ],
-   q(1771) => [
+   q(1772) => [
       q(Lealao Chinantec),
       ],
-   q(1772) => [
+   q(1773) => [
       q(Chilisso),
       ],
-   q(1773) => [
+   q(1774) => [
       q(Chakali),
       ],
-   q(1774) => [
+   q(1775) => [
       q(Laitu Chin),
       ],
-   q(1775) => [
+   q(1776) => [
       q(Idu-Mishmi),
       ],
-   q(1776) => [
+   q(1777) => [
       q(Chala),
       ],
-   q(1777) => [
+   q(1778) => [
       q(Clallam),
       ],
-   q(1778) => [
+   q(1779) => [
       q(Lowland Oaxaca Chontal),
       ],
-   q(1779) => [
+   q(1780) => [
       q(Lautu Chin),
       ],
-   q(1780) => [
+   q(1781) => [
       q(Caluyanun),
       ],
-   q(1781) => [
+   q(1782) => [
       q(Chulym),
       ],
-   q(1782) => [
+   q(1783) => [
       q(Eastern Highland Chatino),
       ],
-   q(1783) => [
+   q(1784) => [
       q(Maa),
       ],
-   q(1784) => [
+   q(1785) => [
       q(Cerma),
       ],
-   q(1785) => [
+   q(1786) => [
       q(Classical Mongolian),
       ],
-   q(1786) => [
+   q(1787) => [
       q(Embera-Chami),
       ],
-   q(1787) => [
+   q(1788) => [
       q(Campalagian),
       ],
-   q(1788) => [
+   q(1789) => [
       q(Michigamea),
       ],
-   q(1789) => [
+   q(1790) => [
       q(Mandarin Chinese),
       ],
-   q(1790) => [
+   q(1791) => [
       q(Central Mnong),
       ],
-   q(1791) => [
+   q(1792) => [
       q(Mro-Khimi Chin),
       ],
-   q(1792) => [
+   q(1793) => [
       q(Messapic),
       ],
-   q(1793) => [
+   q(1794) => [
       q(Camtho),
       ],
-   q(1794) => [
+   q(1795) => [
       q(Changthang),
       ],
-   q(1795) => [
+   q(1796) => [
       q(Chinbon Chin),
       ],
-   q(1796) => [
+   q(1797) => [
       q(Coong),
       ],
-   q(1797) => [
+   q(1798) => [
       q(Northern Qiang),
       ],
-   q(1798) => [
+   q(1799) => [
       q(Haka Chin),
       ],
-   q(1799) => [
+   q(1800) => [
       q(Ashaninka),
       ],
-   q(1800) => [
+   q(1801) => [
       q(Khumi Chin),
       ],
-   q(1801) => [
+   q(1802) => [
       q(Lalana Chinantec),
       ],
-   q(1802) => [
+   q(1803) => [
       q(Con),
       ],
-   q(1803) => [
+   q(1804) => [
       q(Central Asmat),
       ],
-   q(1804) => [
+   q(1805) => [
       q(Tepetotutla Chinantec),
       ],
-   q(1805) => [
+   q(1806) => [
       q(Chenoua),
       ],
-   q(1806) => [
+   q(1807) => [
       q(Ngawn Chin),
       ],
-   q(1807) => [
+   q(1808) => [
       q(Middle Cornish),
       ],
-   q(1808) => [
+   q(1809) => [
       q(Cocos Islands Malay),
       ],
-   q(1809) => [
+   q(1810) => [
       q(Chicomuceltec),
       ],
-   q(1810) => [
+   q(1811) => [
       q(Cocopa),
       ],
-   q(1811) => [
+   q(1812) => [
       q(Cocama-Cocamilla),
       ],
-   q(1812) => [
+   q(1813) => [
       q(Koreguaje),
       ],
-   q(1813) => [
+   q(1814) => [
       q(Colorado),
       ],
-   q(1814) => [
+   q(1815) => [
       q(Chong),
       ],
-   q(1815) => [
+   q(1816) => [
       q(Chonyi-Dzihana-Kauma),
       q(Chichonyi-Chidzihana-Chikauma),
       ],
-   q(1816) => [
+   q(1817) => [
       q(Cochimi),
       ],
-   q(1817) => [
+   q(1818) => [
       q(Santa Teresa Cora),
       ],
-   q(1818) => [
+   q(1819) => [
       q(Columbia-Wenatchi),
       ],
-   q(1819) => [
+   q(1820) => [
       q(Comanche),
       ],
-   q(1820) => [
+   q(1821) => [
       q(Cofan),
       ],
-   q(1821) => [
+   q(1822) => [
       q(Comox),
       ],
-   q(1822) => [
+   q(1823) => [
       q(Coquille),
       ],
-   q(1823) => [
+   q(1824) => [
       q(Caquinte),
       ],
-   q(1824) => [
+   q(1825) => [
       q(Wamey),
       ],
-   q(1825) => [
+   q(1826) => [
       q(Cao Miao),
       ],
-   q(1826) => [
+   q(1827) => [
       q(Cowlitz),
       ],
-   q(1827) => [
+   q(1828) => [
       q(Nanti),
       ],
-   q(1828) => [
+   q(1829) => [
       q(Coyaima),
       ],
-   q(1829) => [
+   q(1830) => [
       q(Chochotec),
       ],
-   q(1830) => [
+   q(1831) => [
       q(Palantla Chinantec),
       ],
-   q(1831) => [
+   q(1832) => [
       q(Ucayali-Yurua Asheninka),
       ],
-   q(1832) => [
+   q(1833) => [
       q(Ajyininka Apurucayali),
       ],
-   q(1833) => [
+   q(1834) => [
       q(Cappadocian Greek),
       ],
-   q(1834) => [
+   q(1835) => [
       q(Chinese Pidgin English),
       ],
-   q(1835) => [
+   q(1836) => [
       q(Cherepon),
       ],
-   q(1836) => [
+   q(1837) => [
       q(Kpeego),
       ],
-   q(1837) => [
+   q(1838) => [
       q(Capiznon),
       ],
-   q(1838) => [
+   q(1839) => [
       q(Pichis Asheninka),
       ],
-   q(1839) => [
+   q(1840) => [
       q(Pu-Xian Chinese),
       ],
-   q(1840) => [
+   q(1841) => [
       q(South Ucayali Asheninka),
       ],
-   q(1841) => [
+   q(1842) => [
       q(Chuanqiandian Cluster Miao),
       ],
-   q(1842) => [
+   q(1843) => [
       q(Chilean Quechua),
       ],
-   q(1843) => [
+   q(1844) => [
       q(Chara),
       ],
-   q(1844) => [
+   q(1845) => [
       q(Island Carib),
       ],
-   q(1845) => [
+   q(1846) => [
       q(Lonwolwol),
       ],
-   q(1846) => [
+   q(1847) => [
       q(Coeur d'Alene),
       ],
-   q(1847) => [
+   q(1848) => [
       q(Caramanta),
       ],
-   q(1848) => [
+   q(1849) => [
       q(Michif),
       ],
-   q(1849) => [
+   q(1850) => [
       q(Saotomense),
       ],
-   q(1850) => [
+   q(1851) => [
       q(Southern East Cree),
       ],
-   q(1851) => [
+   q(1852) => [
       q(Plains Cree),
       ],
-   q(1852) => [
+   q(1853) => [
       q(Northern East Cree),
       ],
-   q(1853) => [
+   q(1854) => [
       q(Moose Cree),
       ],
-   q(1854) => [
+   q(1855) => [
       q(El Nayar Cora),
       ],
-   q(1855) => [
+   q(1856) => [
       q(Crow),
       ],
-   q(1856) => [
+   q(1857) => [
       q(Iyo'wujwa Chorote),
       ],
-   q(1857) => [
+   q(1858) => [
       q(Carolina Algonquian),
       ],
-   q(1858) => [
+   q(1859) => [
       q(Seselwa Creole French),
       ],
-   q(1859) => [
+   q(1860) => [
       q(Iyojwa'ja Chorote),
       ],
-   q(1860) => [
+   q(1861) => [
       q(Chaura),
       ],
-   q(1861) => [
+   q(1862) => [
       q(Chrau),
       ],
-   q(1862) => [
+   q(1863) => [
       q(Carrier),
       ],
-   q(1863) => [
+   q(1864) => [
       q(Cori),
       ],
-   q(1864) => [
+   q(1865) => [
       q(Cruzeno),
       ],
-   q(1865) => [
+   q(1866) => [
       q(Chiltepec Chinantec),
       ],
-   q(1866) => [
+   q(1867) => [
       q(Catalan Sign Language),
       q(Lengua de senas catalana),
       q(Llengua de Signes Catalana),
       ],
-   q(1867) => [
+   q(1868) => [
       q(Chiangmai Sign Language),
       ],
-   q(1868) => [
+   q(1869) => [
       q(Czech Sign Language),
       ],
-   q(1869) => [
+   q(1870) => [
       q(Cuba Sign Language),
       ],
-   q(1870) => [
+   q(1871) => [
       q(Chilean Sign Language),
       ],
-   q(1871) => [
+   q(1872) => [
       q(Asho Chin),
       ],
-   q(1872) => [
+   q(1873) => [
       q(Coast Miwok),
       ],
-   q(1873) => [
+   q(1874) => [
       q(Songlai Chin),
       ],
-   q(1874) => [
+   q(1875) => [
       q(Jola-Kasa),
       ],
-   q(1875) => [
+   q(1876) => [
       q(Chinese Sign Language),
       ],
-   q(1876) => [
+   q(1877) => [
       q(Central Sierra Miwok),
       ],
-   q(1877) => [
+   q(1878) => [
       q(Colombian Sign Language),
       ],
-   q(1878) => [
+   q(1879) => [
       q(Sochiapam Chinantec),
       q(Sochiapan Chinantec),
       ],
-   q(1879) => [
+   q(1880) => [
       q(Croatia Sign Language),
       ],
-   q(1880) => [
+   q(1881) => [
       q(Costa Rican Sign Language),
       ],
-   q(1881) => [
+   q(1882) => [
       q(Southern Ohlone),
       ],
-   q(1882) => [
+   q(1883) => [
       q(Northern Ohlone),
       ],
-   q(1883) => [
+   q(1884) => [
       q(Sumtu Chin),
       ],
-   q(1884) => [
+   q(1885) => [
       q(Swampy Cree),
       ],
-   q(1885) => [
+   q(1886) => [
       q(Siyin Chin),
       ],
-   q(1886) => [
+   q(1887) => [
       q(Coos),
       ],
-   q(1887) => [
+   q(1888) => [
       q(Tataltepec Chatino),
       ],
-   q(1888) => [
+   q(1889) => [
       q(Chetco),
       ],
-   q(1889) => [
+   q(1890) => [
       q(Tedim Chin),
       ],
-   q(1890) => [
+   q(1891) => [
       q(Tepinapa Chinantec),
       ],
-   q(1891) => [
+   q(1892) => [
       q(Chittagonian),
       ],
-   q(1892) => [
+   q(1893) => [
       q(Thaiphum Chin),
       ],
-   q(1893) => [
+   q(1894) => [
       q(Tlacoatzintepec Chinantec),
       ],
-   q(1894) => [
+   q(1895) => [
       q(Chitimacha),
       ],
-   q(1895) => [
+   q(1896) => [
       q(Chhintange),
       ],
-   q(1896) => [
+   q(1897) => [
       q(Embera-Catio),
       ],
-   q(1897) => [
+   q(1898) => [
       q(Western Highland Chatino),
       ],
-   q(1898) => [
+   q(1899) => [
       q(Northern Catanduanes Bikol),
       ],
-   q(1899) => [
+   q(1900) => [
       q(Wayanad Chetti),
       ],
-   q(1900) => [
+   q(1901) => [
       q(Chol),
       ],
-   q(1901) => [
+   q(1902) => [
       q(Zacatepec Chatino),
       ],
-   q(1902) => [
+   q(1903) => [
       q(Cua),
       ],
-   q(1903) => [
+   q(1904) => [
       q(Cubeo),
       ],
-   q(1904) => [
+   q(1905) => [
       q(Usila Chinantec),
       ],
-   q(1905) => [
+   q(1906) => [
       q(Cung),
       ],
-   q(1906) => [
+   q(1907) => [
       q(Chuka),
       q(Gichuka),
       ],
-   q(1907) => [
+   q(1908) => [
       q(Cuiba),
       ],
-   q(1908) => [
+   q(1909) => [
       q(Mashco Piro),
       ],
-   q(1909) => [
+   q(1910) => [
       q(San Blas Kuna),
       ],
-   q(1910) => [
+   q(1911) => [
       q(Culina),
       q(Kulina),
       ],
-   q(1911) => [
+   q(1912) => [
       q(Cumeral),
       ],
-   q(1912) => [
+   q(1913) => [
       q(Cumanagoto),
       ],
-   q(1913) => [
+   q(1914) => [
       q(Cupeno),
       ],
-   q(1914) => [
+   q(1915) => [
       q(Cun),
       ],
-   q(1915) => [
+   q(1916) => [
       q(Chhulung),
       ],
-   q(1916) => [
+   q(1917) => [
       q(Teutila Cuicatec),
       ],
-   q(1917) => [
+   q(1918) => [
       q(Tai Ya),
       ],
-   q(1918) => [
+   q(1919) => [
       q(Cuvok),
       ],
-   q(1919) => [
+   q(1920) => [
       q(Chukwa),
       ],
-   q(1920) => [
+   q(1921) => [
       q(Tepeuxila Cuicatec),
       ],
-   q(1921) => [
+   q(1922) => [
       q(Chug),
       ],
-   q(1922) => [
+   q(1923) => [
       q(Valle Nacional Chinantec),
       ],
-   q(1923) => [
+   q(1924) => [
       q(Kabwa),
       ],
-   q(1924) => [
+   q(1925) => [
       q(Maindo),
       ],
-   q(1925) => [
+   q(1926) => [
       q(Woods Cree),
       ],
-   q(1926) => [
+   q(1927) => [
       q(Kwere),
       ],
-   q(1927) => [
+   q(1928) => [
       q(Chewong),
       q(Cheq Wong),
       ],
-   q(1928) => [
+   q(1929) => [
       q(Kuwaataay),
       ],
-   q(1929) => [
+   q(1930) => [
       q(Nopala Chatino),
       ],
-   q(1930) => [
+   q(1931) => [
       q(Cayubaba),
       ],
-   q(1931) => [
+   q(1932) => [
       q(Cuyonon),
       ],
-   q(1932) => [
+   q(1933) => [
       q(Huizhou Chinese),
       ],
-   q(1933) => [
+   q(1934) => [
       q(Knaanic),
       ],
-   q(1934) => [
+   q(1935) => [
       q(Zenzontepec Chatino),
       ],
-   q(1935) => [
+   q(1936) => [
       q(Min Zhong Chinese),
       ],
-   q(1936) => [
+   q(1937) => [
       q(Zotung Chin),
       ],
-   q(1937) => [
+   q(1938) => [
       q(Dangaleat),
       ],
-   q(1938) => [
+   q(1939) => [
       q(Dambi),
       ],
-   q(1939) => [
+   q(1940) => [
       q(Marik),
       ],
-   q(1940) => [
+   q(1941) => [
       q(Duupa),
       ],
-   q(1941) => [
+   q(1942) => [
       q(Dagbani),
       ],
-   q(1942) => [
+   q(1943) => [
       q(Gwahatike),
       ],
-   q(1943) => [
+   q(1944) => [
       q(Day),
       ],
-   q(1944) => [
+   q(1945) => [
       q(Dar Fur Daju),
       ],
-   q(1945) => [
+   q(1946) => [
       q(Dahalo),
       ],
-   q(1946) => [
+   q(1947) => [
       q(Damakawa),
       ],
-   q(1947) => [
+   q(1948) => [
       q(Daai Chin),
       ],
-   q(1948) => [
+   q(1949) => [
       q(Dandami Maria),
       ],
-   q(1949) => [
+   q(1950) => [
       q(Daho-Doo),
       ],
-   q(1950) => [
+   q(1951) => [
       q(Dar Sila Daju),
       ],
-   q(1951) => [
+   q(1952) => [
       q(Taita),
       q(Dawida),
       ],
-   q(1952) => [
+   q(1953) => [
       q(Davawenyo),
       ],
-   q(1953) => [
+   q(1954) => [
       q(Dayi),
       ],
-   q(1954) => [
+   q(1955) => [
       q(Dao),
       ],
-   q(1955) => [
+   q(1956) => [
       q(Bangime),
       ],
-   q(1956) => [
+   q(1957) => [
       q(Deno),
       ],
-   q(1957) => [
+   q(1958) => [
       q(Dadiya),
       ],
-   q(1958) => [
+   q(1959) => [
       q(Dabe),
       ],
-   q(1959) => [
+   q(1960) => [
       q(Edopi),
       ],
-   q(1960) => [
+   q(1961) => [
       q(Dogul Dom Dogon),
       ],
-   q(1961) => [
+   q(1962) => [
       q(Doka),
       ],
-   q(1962) => [
+   q(1963) => [
       q(Ida'an),
       ],
-   q(1963) => [
+   q(1964) => [
       q(Dyirbal),
       ],
-   q(1964) => [
+   q(1965) => [
       q(Duguri),
       ],
-   q(1965) => [
+   q(1966) => [
       q(Duriankere),
       ],
-   q(1966) => [
+   q(1967) => [
       q(Dulbu),
       ],
-   q(1967) => [
+   q(1968) => [
       q(Duwai),
       ],
-   q(1968) => [
+   q(1969) => [
       q(Daba),
       ],
-   q(1969) => [
+   q(1970) => [
       q(Dabarre),
       ],
-   q(1970) => [
+   q(1971) => [
       q(Ben Tey Dogon),
       ],
-   q(1971) => [
+   q(1972) => [
       q(Bondum Dom Dogon),
       ],
-   q(1972) => [
+   q(1973) => [
       q(Dungu),
       ],
-   q(1973) => [
+   q(1974) => [
       q(Bankan Tey Dogon),
       ],
-   q(1974) => [
+   q(1975) => [
       q(Dibiyaso),
       ],
-   q(1975) => [
+   q(1976) => [
       q(Deccan),
       ],
-   q(1976) => [
+   q(1977) => [
       q(Negerhollands),
       ],
-   q(1977) => [
+   q(1978) => [
       q(Dadi Dadi),
       ],
-   q(1978) => [
+   q(1979) => [
       q(Dongotono),
       ],
-   q(1979) => [
+   q(1980) => [
       q(Doondo),
       ],
-   q(1980) => [
+   q(1981) => [
       q(Fataluku),
       ],
-   q(1981) => [
+   q(1982) => [
       q(West Goodenough),
       ],
-   q(1982) => [
+   q(1983) => [
       q(Jaru),
       ],
-   q(1983) => [
+   q(1984) => [
       q(Dendi (Benin)),
       ],
-   q(1984) => [
+   q(1985) => [
       q(Dido),
       ],
-   q(1985) => [
+   q(1986) => [
       q(Dhudhuroa),
       ],
-   q(1986) => [
+   q(1987) => [
       q(Donno So Dogon),
       ],
-   q(1987) => [
+   q(1988) => [
       q(Dawera-Daweloor),
       ],
-   q(1988) => [
+   q(1989) => [
       q(Dagik),
       ],
-   q(1989) => [
+   q(1990) => [
       q(Dedua),
       ],
-   q(1990) => [
+   q(1991) => [
       q(Dewoin),
       ],
-   q(1991) => [
+   q(1992) => [
       q(Dezfuli),
       ],
-   q(1992) => [
+   q(1993) => [
       q(Degema),
       ],
-   q(1993) => [
+   q(1994) => [
       q(Dehwari),
       ],
-   q(1994) => [
+   q(1995) => [
       q(Demisa),
       ],
-   q(1995) => [
+   q(1996) => [
       q(Dek),
       ],
-   q(1996) => [
+   q(1997) => [
       q(Dem),
       ],
-   q(1997) => [
+   q(1998) => [
       q(Pidgin Delaware),
       ],
-   q(1998) => [
+   q(1999) => [
       q(Dendi (Central African Republic)),
       ],
-   q(1999) => [
+   q(2000) => [
       q(Deori),
       ],
-   q(2000) => [
+   q(2001) => [
       q(Desano),
       ],
-   q(2001) => [
+   q(2002) => [
       q(Domung),
       ],
-   q(2002) => [
+   q(2003) => [
       q(Dengese),
       ],
-   q(2003) => [
+   q(2004) => [
       q(Southern Dagaare),
       ],
-   q(2004) => [
+   q(2005) => [
       q(Bunoge Dogon),
       ],
-   q(2005) => [
+   q(2006) => [
       q(Casiguran Dumagat Agta),
       ],
-   q(2006) => [
+   q(2007) => [
       q(Dagaari Dioula),
       ],
-   q(2007) => [
+   q(2008) => [
       q(Degenan),
       ],
-   q(2008) => [
+   q(2009) => [
       q(Doga),
       ],
-   q(2009) => [
+   q(2010) => [
       q(Dghwede),
       ],
-   q(2010) => [
+   q(2011) => [
       q(Northern Dagara),
       ],
-   q(2011) => [
+   q(2012) => [
       q(Dagba),
       ],
-   q(2012) => [
+   q(2013) => [
       q(Andaandi),
       q(Dongolawi),
       ],
-   q(2013) => [
+   q(2014) => [
       q(Dagoman),
       ],
-   q(2014) => [
+   q(2015) => [
       q(Dogri (individual language)),
       ],
-   q(2015) => [
+   q(2016) => [
       q(Dogoso),
       ],
-   q(2016) => [
+   q(2017) => [
       q(Ndra'ngith),
       ],
-   q(2017) => [
+   q(2018) => [
       q(Degaru),
       ],
-   q(2018) => [
+   q(2019) => [
       q(Daungwurrung),
       ],
-   q(2019) => [
+   q(2020) => [
       q(Doghoro),
       ],
-   q(2020) => [
+   q(2021) => [
       q(Daga),
       ],
-   q(2021) => [
+   q(2022) => [
       q(Dhundari),
       ],
-   q(2022) => [
+   q(2023) => [
       q(Dhangu),
       q(Djangu),
       ],
-   q(2023) => [
+   q(2024) => [
       q(Dhimal),
       ],
-   q(2024) => [
+   q(2025) => [
       q(Dhalandji),
       ],
-   q(2025) => [
+   q(2026) => [
       q(Zemba),
       ],
-   q(2026) => [
+   q(2027) => [
       q(Dhanki),
       ],
-   q(2027) => [
+   q(2028) => [
       q(Dhodia),
       ],
-   q(2028) => [
+   q(2029) => [
       q(Dhargari),
       ],
-   q(2029) => [
+   q(2030) => [
       q(Dhaiso),
       ],
-   q(2030) => [
+   q(2031) => [
       q(Dhurga),
       ],
-   q(2031) => [
+   q(2032) => [
       q(Dehu),
       q(Drehu),
       ],
-   q(2032) => [
+   q(2033) => [
       q(Dhanwar (Nepal)),
       ],
-   q(2033) => [
+   q(2034) => [
       q(Dhungaloo),
       ],
-   q(2034) => [
+   q(2035) => [
       q(Dia),
       ],
-   q(2035) => [
+   q(2036) => [
       q(South Central Dinka),
       ],
-   q(2036) => [
+   q(2037) => [
       q(Lakota Dida),
       ],
-   q(2037) => [
+   q(2038) => [
       q(Didinga),
       ],
-   q(2038) => [
+   q(2039) => [
       q(Dieri),
       ],
-   q(2039) => [
+   q(2040) => [
       q(Digo),
       q(Chidigo),
       ],
-   q(2040) => [
+   q(2041) => [
       q(Kumiai),
       ],
-   q(2041) => [
+   q(2042) => [
       q(Dimbong),
       ],
-   q(2042) => [
+   q(2043) => [
       q(Dai),
       ],
-   q(2043) => [
+   q(2044) => [
       q(Southwestern Dinka),
       ],
-   q(2044) => [
+   q(2045) => [
       q(Dilling),
       ],
-   q(2045) => [
+   q(2046) => [
       q(Dime),
       ],
-   q(2046) => [
+   q(2047) => [
       q(Dibo),
       ],
-   q(2047) => [
+   q(2048) => [
       q(Northeastern Dinka),
       ],
-   q(2048) => [
+   q(2049) => [
       q(Dimli (individual language)),
       ],
-   q(2049) => [
+   q(2050) => [
       q(Dirim),
       ],
-   q(2050) => [
+   q(2051) => [
       q(Dimasa),
       ],
-   q(2051) => [
+   q(2052) => [
       q(Dirari),
       ],
-   q(2052) => [
+   q(2053) => [
       q(Diriku),
       ],
-   q(2053) => [
+   q(2054) => [
       q(Northwestern Dinka),
       ],
-   q(2054) => [
+   q(2055) => [
       q(Dixon Reef),
       ],
-   q(2055) => [
+   q(2056) => [
       q(Diuwe),
       ],
-   q(2056) => [
+   q(2057) => [
       q(Ding),
       ],
-   q(2057) => [
+   q(2058) => [
       q(Djadjawurrung),
       ],
-   q(2058) => [
+   q(2059) => [
       q(Djinba),
       ],
-   q(2059) => [
+   q(2060) => [
       q(Dar Daju Daju),
       ],
-   q(2060) => [
+   q(2061) => [
       q(Djamindjung),
       ],
-   q(2061) => [
+   q(2062) => [
       q(Zarma),
       ],
-   q(2062) => [
+   q(2063) => [
       q(Djangun),
       ],
-   q(2063) => [
+   q(2064) => [
       q(Djinang),
       ],
-   q(2064) => [
+   q(2065) => [
       q(Djeebbana),
       ],
-   q(2065) => [
+   q(2066) => [
       q(Eastern Maroon Creole),
       q(Businenge Tongo),
       q(Nenge),
       ],
-   q(2066) => [
+   q(2067) => [
       q(Jamsay Dogon),
       ],
-   q(2067) => [
+   q(2068) => [
       q(Djauan),
       ],
-   q(2068) => [
+   q(2069) => [
       q(Jangkang),
       ],
-   q(2069) => [
+   q(2070) => [
       q(Djambarrpuyngu),
       ],
-   q(2070) => [
+   q(2071) => [
       q(Kapriman),
       ],
-   q(2071) => [
+   q(2072) => [
       q(Djawi),
       ],
-   q(2072) => [
+   q(2073) => [
       q(Dakpakha),
       ],
-   q(2073) => [
+   q(2074) => [
       q(Dakka),
       ],
-   q(2074) => [
+   q(2075) => [
       q(Kuijau),
       ],
-   q(2075) => [
+   q(2076) => [
       q(Southeastern Dinka),
       ],
-   q(2076) => [
+   q(2077) => [
       q(Mazagway),
       ],
-   q(2077) => [
+   q(2078) => [
       q(Dolgan),
       ],
-   q(2078) => [
+   q(2079) => [
       q(Dahalik),
       ],
-   q(2079) => [
+   q(2080) => [
       q(Dalmatian),
       ],
-   q(2080) => [
+   q(2081) => [
       q(Darlong),
       ],
-   q(2081) => [
+   q(2082) => [
       q(Duma),
       ],
-   q(2082) => [
+   q(2083) => [
       q(Mombo Dogon),
       ],
-   q(2083) => [
+   q(2084) => [
       q(Gavak),
       ],
-   q(2084) => [
+   q(2085) => [
       q(Madhi Madhi),
       ],
-   q(2085) => [
+   q(2086) => [
       q(Dugwor),
       ],
-   q(2086) => [
+   q(2087) => [
       q(Upper Kinabatangan),
       ],
-   q(2087) => [
+   q(2088) => [
       q(Domaaki),
       ],
-   q(2088) => [
+   q(2089) => [
       q(Dameli),
       ],
-   q(2089) => [
+   q(2090) => [
       q(Dama),
       ],
-   q(2090) => [
+   q(2091) => [
       q(Kemedzung),
       ],
-   q(2091) => [
+   q(2092) => [
       q(East Damar),
       ],
-   q(2092) => [
+   q(2093) => [
       q(Dampelas),
       ],
-   q(2093) => [
+   q(2094) => [
       q(Dubu),
       q(Tebi),
       ],
-   q(2094) => [
+   q(2095) => [
       q(Dumpas),
       ],
-   q(2095) => [
+   q(2096) => [
       q(Mudburra),
       ],
-   q(2096) => [
+   q(2097) => [
       q(Dema),
       ],
-   q(2097) => [
+   q(2098) => [
       q(Demta),
       q(Sowari),
       ],
-   q(2098) => [
+   q(2099) => [
       q(Upper Grand Valley Dani),
       ],
-   q(2099) => [
+   q(2100) => [
       q(Daonda),
       ],
-   q(2100) => [
+   q(2101) => [
       q(Ndendeule),
       ],
-   q(2101) => [
+   q(2102) => [
       q(Dungan),
       ],
-   q(2102) => [
+   q(2103) => [
       q(Lower Grand Valley Dani),
       ],
-   q(2103) => [
+   q(2104) => [
       q(Dan),
       ],
-   q(2104) => [
+   q(2105) => [
       q(Dengka),
       ],
-   q(2105) => [
+   q(2106) => [
       q(Dzuungoo),
       ],
-   q(2106) => [
+   q(2107) => [
       q(Danaru),
       ],
-   q(2107) => [
+   q(2108) => [
       q(Mid Grand Valley Dani),
       ],
-   q(2108) => [
+   q(2109) => [
       q(Danau),
       ],
-   q(2109) => [
+   q(2110) => [
       q(Danu),
       ],
-   q(2110) => [
+   q(2111) => [
       q(Western Dani),
       ],
-   q(2111) => [
+   q(2112) => [
       q(Deni),
       ],
-   q(2112) => [
+   q(2113) => [
       q(Dom),
       ],
-   q(2113) => [
+   q(2114) => [
       q(Dobu),
       ],
-   q(2114) => [
+   q(2115) => [
       q(Northern Dong),
       ],
-   q(2115) => [
+   q(2116) => [
       q(Doe),
       ],
-   q(2116) => [
+   q(2117) => [
       q(Domu),
       ],
-   q(2117) => [
+   q(2118) => [
       q(Dong),
       ],
-   q(2118) => [
+   q(2119) => [
       q(Dondo),
       ],
-   q(2119) => [
+   q(2120) => [
       q(Doso),
       ],
-   q(2120) => [
+   q(2121) => [
       q(Toura (Papua New Guinea)),
       ],
-   q(2121) => [
+   q(2122) => [
       q(Dongo),
       ],
-   q(2122) => [
+   q(2123) => [
       q(Lukpa),
       ],
-   q(2123) => [
+   q(2124) => [
       q(Dominican Sign Language),
       ],
-   q(2124) => [
+   q(2125) => [
       q(Dori'o),
       ],
-   q(2125) => [
+   q(2126) => [
       q(Dogose),
       ],
-   q(2126) => [
+   q(2127) => [
       q(Dass),
       ],
-   q(2127) => [
+   q(2128) => [
       q(Dombe),
       ],
-   q(2128) => [
+   q(2129) => [
       q(Doyayo),
       ],
-   q(2129) => [
+   q(2130) => [
       q(Bussa),
       ],
-   q(2130) => [
+   q(2131) => [
       q(Dompo),
       ],
-   q(2131) => [
+   q(2132) => [
       q(Dorze),
       ],
-   q(2132) => [
+   q(2133) => [
       q(Papar),
       ],
-   q(2133) => [
+   q(2134) => [
       q(Dair),
       ],
-   q(2134) => [
+   q(2135) => [
       q(Minderico),
       ],
-   q(2135) => [
+   q(2136) => [
       q(Darmiya),
       ],
-   q(2136) => [
+   q(2137) => [
       q(Dolpo),
       ],
-   q(2137) => [
+   q(2138) => [
       q(Rungus),
       ],
-   q(2138) => [
+   q(2139) => [
       q(C'lela),
       ],
-   q(2139) => [
+   q(2140) => [
       q(Paakantyi),
       ],
-   q(2140) => [
+   q(2141) => [
       q(West Damar),
       ],
-   q(2141) => [
+   q(2142) => [
       q(Daro-Matu Melanau),
       ],
-   q(2142) => [
+   q(2143) => [
       q(Dura),
       ],
-   q(2143) => [
+   q(2144) => [
       q(Dororo),
       ],
-   q(2144) => [
+   q(2145) => [
       q(Gedeo),
       ],
-   q(2145) => [
+   q(2146) => [
       q(Drents),
       ],
-   q(2146) => [
+   q(2147) => [
       q(Rukai),
       ],
-   q(2147) => [
+   q(2148) => [
       q(Darai),
       ],
-   q(2148) => [
+   q(2149) => [
       q(Dutch Sign Language),
       ],
-   q(2149) => [
+   q(2150) => [
       q(Daasanach),
       ],
-   q(2150) => [
+   q(2151) => [
       q(Disa),
       ],
-   q(2151) => [
+   q(2152) => [
       q(Danish Sign Language),
       ],
-   q(2152) => [
+   q(2153) => [
       q(Dusner),
       ],
-   q(2153) => [
+   q(2154) => [
       q(Desiya),
       ],
-   q(2154) => [
+   q(2155) => [
       q(Tadaksahak),
       ],
-   q(2155) => [
+   q(2156) => [
       q(Daur),
       ],
-   q(2156) => [
+   q(2157) => [
       q(Labuk-Kinabatangan Kadazan),
       ],
-   q(2157) => [
+   q(2158) => [
       q(Ditidaht),
       ],
-   q(2158) => [
+   q(2159) => [
       q(Adithinngithigh),
       ],
-   q(2159) => [
+   q(2160) => [
       q(Ana Tinga Dogon),
       ],
-   q(2160) => [
+   q(2161) => [
       q(Tene Kan Dogon),
       ],
-   q(2161) => [
+   q(2162) => [
       q(Tomo Kan Dogon),
       ],
-   q(2162) => [
+   q(2163) => [
       q(Tommo So Dogon),
       ],
-   q(2163) => [
+   q(2164) => [
       q(Central Dusun),
       ],
-   q(2164) => [
+   q(2165) => [
       q(Lotud),
       ],
-   q(2165) => [
+   q(2166) => [
       q(Toro So Dogon),
       ],
-   q(2166) => [
+   q(2167) => [
       q(Toro Tegu Dogon),
       ],
-   q(2167) => [
+   q(2168) => [
       q(Tebul Ure Dogon),
       ],
-   q(2168) => [
+   q(2169) => [
       q(Dotyali),
       ],
-   q(2169) => [
+   q(2170) => [
       q(Dubli),
       ],
-   q(2170) => [
+   q(2171) => [
       q(Duna),
       ],
-   q(2171) => [
+   q(2172) => [
       q(Hun-Saare),
       ],
-   q(2172) => [
+   q(2173) => [
       q(Umiray Dumaget Agta),
       ],
-   q(2173) => [
+   q(2174) => [
       q(Dumbea),
       q(Drubea),
       ],
-   q(2174) => [
+   q(2175) => [
       q(Duruma),
       q(Chiduruma),
       ],
-   q(2175) => [
+   q(2176) => [
       q(Dungra Bhil),
       ],
-   q(2176) => [
+   q(2177) => [
       q(Dumun),
       ],
-   q(2177) => [
+   q(2178) => [
       q(Dhuwal),
       ],
-   q(2178) => [
+   q(2179) => [
       q(Uyajitaya),
       ],
-   q(2179) => [
+   q(2180) => [
       q(Alabat Island Agta),
       ],
-   q(2180) => [
+   q(2181) => [
       q(Dusun Deyah),
       ],
-   q(2181) => [
+   q(2182) => [
       q(Dupaninan Agta),
       ],
-   q(2182) => [
+   q(2183) => [
       q(Duano),
       ],
-   q(2183) => [
+   q(2184) => [
       q(Dusun Malang),
       ],
-   q(2184) => [
+   q(2185) => [
       q(Dii),
       ],
-   q(2185) => [
+   q(2186) => [
       q(Dumi),
       ],
-   q(2186) => [
+   q(2187) => [
       q(Drung),
       ],
-   q(2187) => [
+   q(2188) => [
       q(Duvle),
       ],
-   q(2188) => [
+   q(2189) => [
       q(Dusun Witu),
       ],
-   q(2189) => [
+   q(2190) => [
       q(Duungooma),
       ],
-   q(2190) => [
+   q(2191) => [
       q(Dicamay Agta),
       ],
-   q(2191) => [
+   q(2192) => [
       q(Duli),
       ],
-   q(2192) => [
+   q(2193) => [
       q(Duau),
       ],
-   q(2193) => [
+   q(2194) => [
       q(Diri),
       ],
-   q(2194) => [
+   q(2195) => [
       q(Dawro),
       ],
-   q(2195) => [
+   q(2196) => [
       q(Dutton World Speedwords),
       ],
-   q(2196) => [
+   q(2197) => [
       q(Dawawa),
       ],
-   q(2197) => [
+   q(2198) => [
       q(Dyan),
       ],
-   q(2198) => [
+   q(2199) => [
       q(Dyaberdyaber),
       ],
-   q(2199) => [
+   q(2200) => [
       q(Dyugun),
       ],
-   q(2200) => [
+   q(2201) => [
       q(Villa Viciosa Agta),
       ],
-   q(2201) => [
+   q(2202) => [
       q(Djimini Senoufo),
       ],
-   q(2202) => [
+   q(2203) => [
       q(Yanda Dom Dogon),
       ],
-   q(2203) => [
+   q(2204) => [
       q(Dyangadi),
       ],
-   q(2204) => [
+   q(2205) => [
       q(Jola-Fonyi),
       ],
-   q(2205) => [
+   q(2206) => [
       q(Dyaabugay),
       ],
-   q(2206) => [
+   q(2207) => [
       q(Tunzu),
       ],
-   q(2207) => [
+   q(2208) => [
       q(Djiwarli),
       ],
-   q(2208) => [
+   q(2209) => [
       q(Dazaga),
       ],
-   q(2209) => [
+   q(2210) => [
       q(Dzalakha),
       ],
-   q(2210) => [
+   q(2211) => [
       q(Dzando),
       ],
-   q(2211) => [
+   q(2212) => [
       q(Karenggapa),
       ],
-   q(2212) => [
+   q(2213) => [
       q(Ebughu),
       ],
-   q(2213) => [
+   q(2214) => [
       q(Eastern Bontok),
       ],
-   q(2214) => [
+   q(2215) => [
       q(Teke-Ebo),
       ],
-   q(2215) => [
+   q(2216) => [
       q(Ebrie),
       ],
-   q(2216) => [
+   q(2217) => [
       q(Embu),
       q(Kiembu),
       ],
-   q(2217) => [
+   q(2218) => [
       q(Eteocretan),
       ],
-   q(2218) => [
+   q(2219) => [
       q(Ecuadorian Sign Language),
       ],
-   q(2219) => [
+   q(2220) => [
       q(Eteocypriot),
       ],
-   q(2220) => [
+   q(2221) => [
       q(E),
       ],
-   q(2221) => [
+   q(2222) => [
       q(Efai),
       ],
-   q(2222) => [
+   q(2223) => [
       q(Efe),
       ],
-   q(2223) => [
+   q(2224) => [
       q(Ega),
       ],
-   q(2224) => [
+   q(2225) => [
       q(Emilian),
       ],
-   q(2225) => [
+   q(2226) => [
       q(Eggon),
       ],
-   q(2226) => [
+   q(2227) => [
       q(Ehueun),
       ],
-   q(2227) => [
+   q(2228) => [
       q(Eipomek),
       ],
-   q(2228) => [
+   q(2229) => [
       q(Eitiep),
       ],
-   q(2229) => [
+   q(2230) => [
       q(Askopan),
       ],
-   q(2230) => [
+   q(2231) => [
       q(Ejamat),
       ],
-   q(2231) => [
+   q(2232) => [
       q(Eastern Karnic),
       ],
-   q(2232) => [
+   q(2233) => [
       q(Ekit),
       ],
-   q(2233) => [
+   q(2234) => [
       q(Ekari),
       ],
-   q(2234) => [
+   q(2235) => [
       q(Eki),
       ],
-   q(2235) => [
+   q(2236) => [
       q(Standard Estonian),
       ],
-   q(2236) => [
+   q(2237) => [
       q(Kol (Bangladesh)),
       q(Kol),
       ],
-   q(2237) => [
+   q(2238) => [
       q(Elip),
       ],
-   q(2238) => [
+   q(2239) => [
       q(Koti),
       ],
-   q(2239) => [
+   q(2240) => [
       q(Ekpeye),
       ],
-   q(2240) => [
+   q(2241) => [
       q(Yace),
       ],
-   q(2241) => [
+   q(2242) => [
       q(Eastern Kayah),
       ],
-   q(2242) => [
+   q(2243) => [
       q(Elepi),
       ],
-   q(2243) => [
+   q(2244) => [
       q(El Hugeirat),
       ],
-   q(2244) => [
+   q(2245) => [
       q(Nding),
       ],
-   q(2245) => [
+   q(2246) => [
       q(Elkei),
       ],
-   q(2246) => [
+   q(2247) => [
       q(Eleme),
       ],
-   q(2247) => [
+   q(2248) => [
       q(El Molo),
       ],
-   q(2248) => [
+   q(2249) => [
       q(Elu),
       ],
-   q(2249) => [
+   q(2250) => [
       q(Emai-Iuleha-Ora),
       ],
-   q(2250) => [
+   q(2251) => [
       q(Embaloh),
       ],
-   q(2251) => [
+   q(2252) => [
       q(Emerillon),
       ],
-   q(2252) => [
+   q(2253) => [
       q(Eastern Meohang),
       ],
-   q(2253) => [
+   q(2254) => [
       q(Mussau-Emira),
       ],
-   q(2254) => [
+   q(2255) => [
       q(Eastern Maninkakan),
       ],
-   q(2255) => [
+   q(2256) => [
       q(Mamulique),
       ],
-   q(2256) => [
+   q(2257) => [
       q(Eman),
       ],
-   q(2257) => [
+   q(2258) => [
       q(Northern Embera),
       ],
-   q(2258) => [
+   q(2259) => [
       q(Pacific Gulf Yupik),
       ],
-   q(2259) => [
+   q(2260) => [
       q(Eastern Muria),
       ],
-   q(2260) => [
+   q(2261) => [
       q(Emplawas),
       ],
-   q(2261) => [
+   q(2262) => [
       q(Erromintxela),
       ],
-   q(2262) => [
+   q(2263) => [
       q(Epigraphic Mayan),
       ],
-   q(2263) => [
+   q(2264) => [
       q(Apali),
       ],
-   q(2264) => [
+   q(2265) => [
       q(Markweeta),
       ],
-   q(2265) => [
+   q(2266) => [
       q(En),
       ],
-   q(2266) => [
+   q(2267) => [
       q(Ende),
       ],
-   q(2267) => [
+   q(2268) => [
       q(Forest Enets),
       ],
-   q(2268) => [
+   q(2269) => [
       q(Tundra Enets),
       ],
-   q(2269) => [
+   q(2270) => [
       q(Enlhet),
       ],
-   q(2270) => [
+   q(2271) => [
       q(Engenni),
       ],
-   q(2271) => [
+   q(2272) => [
       q(Enggano),
       ],
-   q(2272) => [
+   q(2273) => [
       q(Enga),
       ],
-   q(2273) => [
+   q(2274) => [
       q(Emumu),
       q(Emem),
       ],
-   q(2274) => [
+   q(2275) => [
       q(Enu),
       ],
-   q(2275) => [
+   q(2276) => [
       q(Enwan (Edu State)),
       ],
-   q(2276) => [
+   q(2277) => [
       q(Enwan (Akwa Ibom State)),
       ],
-   q(2277) => [
+   q(2278) => [
       q(Enxet),
       ],
-   q(2278) => [
+   q(2279) => [
       q(Beti (Cote d'Ivoire)),
       ],
-   q(2279) => [
+   q(2280) => [
       q(Epie),
       ],
-   q(2280) => [
+   q(2281) => [
       q(Eravallan),
       ],
-   q(2281) => [
+   q(2282) => [
       q(Sie),
       ],
-   q(2282) => [
+   q(2283) => [
       q(Eruwa),
       ],
-   q(2283) => [
+   q(2284) => [
       q(Ogea),
       ],
-   q(2284) => [
+   q(2285) => [
       q(South Efate),
       ],
-   q(2285) => [
+   q(2286) => [
       q(Horpa),
       ],
-   q(2286) => [
+   q(2287) => [
       q(Erre),
       ],
-   q(2287) => [
+   q(2288) => [
       q(Ersu),
       ],
-   q(2288) => [
+   q(2289) => [
       q(Eritai),
       ],
-   q(2289) => [
+   q(2290) => [
       q(Erokwanas),
       ],
-   q(2290) => [
+   q(2291) => [
       q(Ese Ejja),
       ],
-   q(2291) => [
+   q(2292) => [
       q(Eshtehardi),
       ],
-   q(2292) => [
+   q(2293) => [
       q(North Alaskan Inupiatun),
       ],
-   q(2293) => [
+   q(2294) => [
       q(Northwest Alaska Inupiatun),
       ],
-   q(2294) => [
+   q(2295) => [
       q(Egypt Sign Language),
       ],
-   q(2295) => [
+   q(2296) => [
       q(Esuma),
       ],
-   q(2296) => [
+   q(2297) => [
       q(Salvadoran Sign Language),
       ],
-   q(2297) => [
+   q(2298) => [
       q(Estonian Sign Language),
       ],
-   q(2298) => [
+   q(2299) => [
       q(Esselen),
       ],
-   q(2299) => [
+   q(2300) => [
       q(Central Siberian Yupik),
       ],
-   q(2300) => [
+   q(2301) => [
       q(Central Yupik),
       ],
-   q(2301) => [
+   q(2302) => [
       q(Eskayan),
       ],
-   q(2302) => [
+   q(2303) => [
       q(Etebi),
       ],
-   q(2303) => [
+   q(2304) => [
       q(Etchemin),
       ],
-   q(2304) => [
+   q(2305) => [
       q(Ethiopian Sign Language),
       ],
-   q(2305) => [
+   q(2306) => [
       q(Eton (Vanuatu)),
       ],
-   q(2306) => [
+   q(2307) => [
       q(Eton (Cameroon)),
       ],
-   q(2307) => [
+   q(2308) => [
       q(Edolo),
       ],
-   q(2308) => [
+   q(2309) => [
       q(Yekhee),
       ],
-   q(2309) => [
+   q(2310) => [
       q(Etruscan),
       ],
-   q(2310) => [
+   q(2311) => [
       q(Ejagham),
       ],
-   q(2311) => [
+   q(2312) => [
       q(Eten),
       ],
-   q(2312) => [
+   q(2313) => [
       q(Semimi),
       ],
-   q(2313) => [
+   q(2314) => [
       q(Even),
       ],
-   q(2314) => [
+   q(2315) => [
       q(Uvbie),
       ],
-   q(2315) => [
+   q(2316) => [
       q(Evenki),
       ],
-   q(2316) => [
+   q(2317) => [
       q(Extremaduran),
       ],
-   q(2317) => [
+   q(2318) => [
       q(Eyak),
       ],
-   q(2318) => [
+   q(2319) => [
       q(Keiyo),
       ],
-   q(2319) => [
+   q(2320) => [
       q(Ezaa),
       ],
-   q(2320) => [
+   q(2321) => [
       q(Uzekwe),
       ],
-   q(2321) => [
+   q(2322) => [
       q(Fasu),
       ],
-   q(2322) => [
+   q(2323) => [
       q(Fa d'Ambu),
       ],
-   q(2323) => [
+   q(2324) => [
       q(Wagi),
       ],
-   q(2324) => [
+   q(2325) => [
       q(Fagani),
       ],
-   q(2325) => [
+   q(2326) => [
       q(Finongan),
       ],
-   q(2326) => [
+   q(2327) => [
       q(Baissa Fali),
       ],
-   q(2327) => [
+   q(2328) => [
       q(Faiwol),
       ],
-   q(2328) => [
+   q(2329) => [
       q(Faita),
       ],
-   q(2329) => [
+   q(2330) => [
       q(Fang (Cameroon)),
       ],
-   q(2330) => [
+   q(2331) => [
       q(South Fali),
       ],
-   q(2331) => [
+   q(2332) => [
       q(Fam),
       ],
-   q(2332) => [
+   q(2333) => [
       q(Palor),
       ],
-   q(2333) => [
+   q(2334) => [
       q(Fataleka),
       ],
-   q(2334) => [
+   q(2335) => [
       q(Fayu),
       ],
-   q(2335) => [
+   q(2336) => [
       q(Fala),
       ],
-   q(2336) => [
+   q(2337) => [
       q(Southwestern Fars),
       ],
-   q(2337) => [
+   q(2338) => [
       q(Northwestern Fars),
       ],
-   q(2338) => [
+   q(2339) => [
       q(West Albay Bikol),
       ],
-   q(2339) => [
+   q(2340) => [
       q(Quebec Sign Language),
       ],
-   q(2340) => [
+   q(2341) => [
       q(Feroge),
       ],
-   q(2341) => [
+   q(2342) => [
       q(Foia Foia),
       ],
-   q(2342) => [
+   q(2343) => [
       q(Maasina Fulfulde),
       ],
-   q(2343) => [
+   q(2344) => [
       q(Fongoro),
       ],
-   q(2344) => [
+   q(2345) => [
       q(Nobiin),
       ],
-   q(2345) => [
+   q(2346) => [
       q(Fyer),
       ],
-   q(2346) => [
+   q(2347) => [
       q(Fipa),
       ],
-   q(2347) => [
+   q(2348) => [
       q(Firan),
       ],
-   q(2348) => [
+   q(2349) => [
       q(Tornedalen Finnish),
       ],
-   q(2349) => [
+   q(2350) => [
       q(Fiwaga),
       ],
-   q(2350) => [
+   q(2351) => [
       q(Kirya-Konzel),
       ],
-   q(2351) => [
+   q(2352) => [
       q(Kven Finnish),
       ],
-   q(2352) => [
+   q(2353) => [
       q(Kalispel-Pend d'Oreille),
       ],
-   q(2353) => [
+   q(2354) => [
       q(Foau),
       ],
-   q(2354) => [
+   q(2355) => [
       q(Fali),
       ],
-   q(2355) => [
+   q(2356) => [
       q(North Fali),
       ],
-   q(2356) => [
+   q(2357) => [
       q(Flinders Island),
       ],
-   q(2357) => [
+   q(2358) => [
       q(Fuliiru),
       ],
-   q(2358) => [
+   q(2359) => [
       q(Flaaitaal),
       q(Tsotsitaal),
       ],
-   q(2359) => [
+   q(2360) => [
       q(Fe'fe'),
       ],
-   q(2360) => [
+   q(2361) => [
       q(Far Western Muria),
       ],
-   q(2361) => [
+   q(2362) => [
       q(Fanagalo),
       ],
-   q(2362) => [
+   q(2363) => [
       q(Fania),
       ],
-   q(2363) => [
+   q(2364) => [
       q(Foodo),
       ],
-   q(2364) => [
+   q(2365) => [
       q(Foi),
       ],
-   q(2365) => [
+   q(2366) => [
       q(Foma),
       ],
-   q(2366) => [
+   q(2367) => [
       q(Fore),
       ],
-   q(2367) => [
+   q(2368) => [
       q(Siraya),
       ],
-   q(2368) => [
+   q(2369) => [
       q(Fernando Po Creole English),
       ],
-   q(2369) => [
+   q(2370) => [
       q(Fas),
       ],
-   q(2370) => [
+   q(2371) => [
       q(Cajun French),
       ],
-   q(2371) => [
+   q(2372) => [
       q(Fordata),
       ],
-   q(2372) => [
+   q(2373) => [
       q(Frankish),
       ],
-   q(2373) => [
+   q(2374) => [
       q(Arpitan),
       q(Francoprovencal),
       ],
-   q(2374) => [
+   q(2375) => [
       q(Forak),
       ],
-   q(2375) => [
+   q(2376) => [
       q(Fortsenal),
       ],
-   q(2376) => [
+   q(2377) => [
       q(Finnish Sign Language),
       ],
-   q(2377) => [
+   q(2378) => [
       q(French Sign Language),
       ],
-   q(2378) => [
+   q(2379) => [
       q(Finland-Swedish Sign Language),
       q(finlandssvenskt teckensprak),
       q(suomenruotsalainen viittomakieli),
       ],
-   q(2379) => [
+   q(2380) => [
       q(Adamawa Fulfulde),
       ],
-   q(2380) => [
+   q(2381) => [
       q(Pulaar),
       ],
-   q(2381) => [
+   q(2382) => [
       q(East Futuna),
       ],
-   q(2382) => [
+   q(2383) => [
       q(Borgu Fulfulde),
       ],
-   q(2383) => [
+   q(2384) => [
       q(Pular),
       ],
-   q(2384) => [
+   q(2385) => [
       q(Western Niger Fulfulde),
       ],
-   q(2385) => [
+   q(2386) => [
       q(Bagirmi Fulfulde),
       ],
-   q(2386) => [
+   q(2387) => [
       q(Ko),
       ],
-   q(2387) => [
+   q(2388) => [
       q(Fum),
       ],
-   q(2388) => [
+   q(2389) => [
       q(Fulnio),
       ],
-   q(2389) => [
+   q(2390) => [
       q(Central-Eastern Niger Fulfulde),
       ],
-   q(2390) => [
+   q(2391) => [
       q(Futuna-Aniwa),
       ],
-   q(2391) => [
+   q(2392) => [
       q(Furu),
       ],
-   q(2392) => [
+   q(2393) => [
       q(Nigerian Fulfulde),
       ],
-   q(2393) => [
+   q(2394) => [
       q(Fuyug),
       ],
-   q(2394) => [
+   q(2395) => [
       q(Fur),
       ],
-   q(2395) => [
+   q(2396) => [
       q(Fwai),
       ],
-   q(2396) => [
+   q(2397) => [
       q(Fwe),
       ],
-   q(2397) => [
+   q(2398) => [
       q(Gabri),
       ],
-   q(2398) => [
+   q(2399) => [
       q(Mixed Great Andamanese),
       ],
-   q(2399) => [
+   q(2400) => [
       q(Gaddang),
       ],
-   q(2400) => [
+   q(2401) => [
       q(Guarequena),
       ],
-   q(2401) => [
+   q(2402) => [
       q(Gende),
       ],
-   q(2402) => [
+   q(2403) => [
       q(Gagauz),
       ],
-   q(2403) => [
+   q(2404) => [
       q(Alekano),
       ],
-   q(2404) => [
+   q(2405) => [
       q(Borei),
       ],
-   q(2405) => [
+   q(2406) => [
       q(Gadsup),
       ],
-   q(2406) => [
+   q(2407) => [
       q(Gamkonora),
       ],
-   q(2407) => [
+   q(2408) => [
       q(Galolen),
       ],
-   q(2408) => [
+   q(2409) => [
       q(Kandawo),
       ],
-   q(2409) => [
+   q(2410) => [
       q(Gan Chinese),
       ],
-   q(2410) => [
+   q(2411) => [
       q(Gants),
       ],
-   q(2411) => [
+   q(2412) => [
       q(Gal),
       ],
-   q(2412) => [
+   q(2413) => [
       q(Gata'),
       ],
-   q(2413) => [
+   q(2414) => [
       q(Galeya),
       ],
-   q(2414) => [
+   q(2415) => [
       q(Adiwasi Garasia),
       ],
-   q(2415) => [
+   q(2416) => [
       q(Kenati),
       ],
-   q(2416) => [
+   q(2417) => [
       q(Mudhili Gadaba),
       ],
-   q(2417) => [
+   q(2418) => [
       q(Nobonob),
       ],
-   q(2418) => [
+   q(2419) => [
       q(Borana-Arsi-Guji Oromo),
       ],
-   q(2419) => [
+   q(2420) => [
       q(West Central Oromo),
       ],
-   q(2420) => [
+   q(2421) => [
       q(Kaytetye),
       ],
-   q(2421) => [
+   q(2422) => [
       q(Karadjeri),
       ],
-   q(2422) => [
+   q(2423) => [
       q(Niksek),
       ],
-   q(2423) => [
+   q(2424) => [
       q(Gaikundi),
       ],
-   q(2424) => [
+   q(2425) => [
       q(Gbanziri),
       ],
-   q(2425) => [
+   q(2426) => [
       q(Defi Gbe),
       ],
-   q(2426) => [
+   q(2427) => [
       q(Galela),
       ],
-   q(2427) => [
+   q(2428) => [
       q(Bodo Gadaba),
       ],
-   q(2428) => [
+   q(2429) => [
       q(Gaddi),
       ],
-   q(2429) => [
+   q(2430) => [
       q(Gamit),
       ],
-   q(2430) => [
+   q(2431) => [
       q(Garhwali),
       ],
-   q(2431) => [
+   q(2432) => [
       q(Mo'da),
       ],
-   q(2432) => [
+   q(2433) => [
       q(Northern Grebo),
       ],
-   q(2433) => [
+   q(2434) => [
       q(Gbaya-Bossangoa),
       ],
-   q(2434) => [
+   q(2435) => [
       q(Gbaya-Bozoum),
       ],
-   q(2435) => [
+   q(2436) => [
       q(Gbagyi),
       ],
-   q(2436) => [
+   q(2437) => [
       q(Gbesi Gbe),
       ],
-   q(2437) => [
+   q(2438) => [
       q(Gagadu),
       ],
-   q(2438) => [
+   q(2439) => [
       q(Gbanu),
       ],
-   q(2439) => [
+   q(2440) => [
       q(Gabi-Gabi),
       ],
-   q(2440) => [
+   q(2441) => [
       q(Eastern Xwla Gbe),
       ],
-   q(2441) => [
+   q(2442) => [
       q(Gbari),
       ],
-   q(2442) => [
+   q(2443) => [
       q(Zoroastrian Dari),
       ],
-   q(2443) => [
+   q(2444) => [
       q(Mali),
       ],
-   q(2444) => [
+   q(2445) => [
       q(Ganggalida),
       ],
-   q(2445) => [
+   q(2446) => [
       q(Galice),
       ],
-   q(2446) => [
+   q(2447) => [
       q(Guadeloupean Creole French),
       ],
-   q(2447) => [
+   q(2448) => [
       q(Grenadian Creole English),
       ],
-   q(2448) => [
+   q(2449) => [
       q(Gaina),
       ],
-   q(2449) => [
+   q(2450) => [
       q(Guianese Creole French),
       ],
-   q(2450) => [
+   q(2451) => [
       q(Colonia Tovar German),
       ],
-   q(2451) => [
+   q(2452) => [
       q(Gade Lohar),
       ],
-   q(2452) => [
+   q(2453) => [
       q(Pottangi Ollar Gadaba),
       ],
-   q(2453) => [
+   q(2454) => [
       q(Gugu Badhun),
       ],
-   q(2454) => [
+   q(2455) => [
       q(Gedaged),
       ],
-   q(2455) => [
+   q(2456) => [
       q(Gude),
       ],
-   q(2456) => [
+   q(2457) => [
       q(Guduf-Gava),
       ],
-   q(2457) => [
+   q(2458) => [
       q(Ga'dang),
       ],
-   q(2458) => [
+   q(2459) => [
       q(Gadjerawang),
       ],
-   q(2459) => [
+   q(2460) => [
       q(Gundi),
       ],
-   q(2460) => [
+   q(2461) => [
       q(Gurdjar),
       ],
-   q(2461) => [
+   q(2462) => [
       q(Gadang),
       ],
-   q(2462) => [
+   q(2463) => [
       q(Dirasha),
       ],
-   q(2463) => [
+   q(2464) => [
       q(Laal),
       ],
-   q(2464) => [
+   q(2465) => [
       q(Umanakaina),
       ],
-   q(2465) => [
+   q(2466) => [
       q(Ghodoberi),
       ],
-   q(2466) => [
+   q(2467) => [
       q(Mehri),
       ],
-   q(2467) => [
+   q(2468) => [
       q(Wipi),
       ],
-   q(2468) => [
+   q(2469) => [
       q(Ghandruk Sign Language),
       ],
-   q(2469) => [
+   q(2470) => [
       q(Kungardutyi),
       ],
-   q(2470) => [
+   q(2471) => [
       q(Gudu),
       ],
-   q(2471) => [
+   q(2472) => [
       q(Godwari),
       ],
-   q(2472) => [
+   q(2473) => [
       q(Geruma),
       ],
-   q(2473) => [
+   q(2474) => [
       q(Kire),
       ],
-   q(2474) => [
+   q(2475) => [
       q(Gboloo Grebo),
       ],
-   q(2475) => [
+   q(2476) => [
       q(Gade),
       ],
-   q(2476) => [
+   q(2477) => [
       q(Gengle),
       ],
-   q(2477) => [
+   q(2478) => [
       q(Hutterite German),
       q(Hutterisch),
       ],
-   q(2478) => [
+   q(2479) => [
       q(Gebe),
       ],
-   q(2479) => [
+   q(2480) => [
       q(Gen),
       ],
-   q(2480) => [
+   q(2481) => [
       q(Yiwom),
       ],
-   q(2481) => [
+   q(2482) => [
       q(ut-Ma'in),
       ],
-   q(2482) => [
+   q(2483) => [
       q(Geme),
       ],
-   q(2483) => [
+   q(2484) => [
       q(Geser-Gorom),
       ],
-   q(2484) => [
+   q(2485) => [
       q(Eviya),
       ],
-   q(2485) => [
+   q(2486) => [
       q(Gera),
       ],
-   q(2486) => [
+   q(2487) => [
       q(Garre),
       ],
-   q(2487) => [
+   q(2488) => [
       q(Enya),
       ],
-   q(2488) => [
+   q(2489) => [
       q(Patpatar),
       ],
-   q(2489) => [
+   q(2490) => [
       q(Gafat),
       ],
-   q(2490) => [
+   q(2491) => [
       q(Gao),
       ],
-   q(2491) => [
+   q(2492) => [
       q(Gbii),
       ],
-   q(2492) => [
+   q(2493) => [
       q(Gugadj),
       ],
-   q(2493) => [
+   q(2494) => [
       q(Guragone),
       ],
-   q(2494) => [
+   q(2495) => [
       q(Gurgula),
       ],
-   q(2495) => [
+   q(2496) => [
       q(Kungarakany),
       ],
-   q(2496) => [
+   q(2497) => [
       q(Ganglau),
       ],
-   q(2497) => [
+   q(2498) => [
       q(Eastern Gurung),
       ],
-   q(2498) => [
+   q(2499) => [
       q(Southern Gondi),
       ],
-   q(2499) => [
+   q(2500) => [
       q(Gitua),
       ],
-   q(2500) => [
+   q(2501) => [
       q(Gagu),
       q(Gban),
       ],
-   q(2501) => [
+   q(2502) => [
       q(Gogodala),
       ],
-   q(2502) => [
+   q(2503) => [
       q(Ghadames),
       ],
-   q(2503) => [
+   q(2504) => [
       q(Hiberno-Scottish Gaelic),
       ],
-   q(2504) => [
+   q(2505) => [
       q(Southern Ghale),
       ],
-   q(2505) => [
+   q(2506) => [
       q(Northern Ghale),
       ],
-   q(2506) => [
+   q(2507) => [
       q(Geko Karen),
       ],
-   q(2507) => [
+   q(2508) => [
       q(Ghulfan),
       ],
-   q(2508) => [
+   q(2509) => [
       q(Ghanongga),
       ],
-   q(2509) => [
+   q(2510) => [
       q(Ghomara),
       ],
-   q(2510) => [
+   q(2511) => [
       q(Ghera),
       ],
-   q(2511) => [
+   q(2512) => [
       q(Guhu-Samane),
       ],
-   q(2512) => [
+   q(2513) => [
       q(Kuke),
       q(Kutang Ghale),
       ],
-   q(2513) => [
+   q(2514) => [
       q(Kitja),
       ],
-   q(2514) => [
+   q(2515) => [
       q(Gibanawa),
       ],
-   q(2515) => [
+   q(2516) => [
       q(Gail),
       ],
-   q(2516) => [
+   q(2517) => [
       q(Gidar),
       ],
-   q(2517) => [
+   q(2518) => [
       q(Goaria),
       ],
-   q(2518) => [
+   q(2519) => [
       q(Githabul),
       ],
-   q(2519) => [
+   q(2520) => [
       q(Gimi (Eastern Highlands)),
       ],
-   q(2520) => [
+   q(2521) => [
       q(Hinukh),
       ],
-   q(2521) => [
+   q(2522) => [
       q(Gimi (West New Britain)),
       ],
-   q(2522) => [
+   q(2523) => [
       q(Green Gelao),
       ],
-   q(2523) => [
+   q(2524) => [
       q(Red Gelao),
       ],
-   q(2524) => [
+   q(2525) => [
       q(North Giziga),
       ],
-   q(2525) => [
+   q(2526) => [
       q(Gitxsan),
       ],
-   q(2526) => [
+   q(2527) => [
       q(Mulao),
       ],
-   q(2527) => [
+   q(2528) => [
       q(White Gelao),
       ],
-   q(2528) => [
+   q(2529) => [
       q(Gilima),
       ],
-   q(2529) => [
+   q(2530) => [
       q(Giyug),
       ],
-   q(2530) => [
+   q(2531) => [
       q(South Giziga),
       ],
-   q(2531) => [
+   q(2532) => [
       q(Geji),
       ],
-   q(2532) => [
+   q(2533) => [
       q(Kachi Koli),
       ],
-   q(2533) => [
+   q(2534) => [
       q(Gunditjmara),
       ],
-   q(2534) => [
+   q(2535) => [
       q(Gonja),
       ],
-   q(2535) => [
+   q(2536) => [
       q(Gujari),
       ],
-   q(2536) => [
+   q(2537) => [
       q(Guya),
       ],
-   q(2537) => [
+   q(2538) => [
       q(Ndai),
       ],
-   q(2538) => [
+   q(2539) => [
       q(Gokana),
       ],
-   q(2539) => [
+   q(2540) => [
       q(Kok-Nar),
       ],
-   q(2540) => [
+   q(2541) => [
       q(Guinea Kpelle),
       ],
-   q(2541) => [
+   q(2542) => [
       q(Ungkue),
       q(=/Ungkue),
       ],
-   q(2542) => [
+   q(2543) => [
       q(Bon Gula),
       ],
-   q(2543) => [
+   q(2544) => [
       q(Nanai),
       ],
-   q(2544) => [
+   q(2545) => [
       q(Northwest Pashai),
       q(Northwest Pashayi),
       ],
-   q(2545) => [
+   q(2546) => [
       q(Guliguli),
       ],
-   q(2546) => [
+   q(2547) => [
       q(Gula Iro),
       ],
-   q(2547) => [
+   q(2548) => [
       q(Gilaki),
       ],
-   q(2548) => [
+   q(2549) => [
       q(Garlali),
       ],
-   q(2549) => [
+   q(2550) => [
       q(Galambu),
       ],
-   q(2550) => [
+   q(2551) => [
       q(Glaro-Twabo),
       ],
-   q(2551) => [
+   q(2552) => [
       q(Gula (Chad)),
       ],
-   q(2552) => [
+   q(2553) => [
       q(Glavda),
       ],
-   q(2553) => [
+   q(2554) => [
       q(Gule),
       ],
-   q(2554) => [
+   q(2555) => [
       q(Gambera),
       ],
-   q(2555) => [
+   q(2556) => [
       q(Gula'alaa),
       ],
-   q(2556) => [
+   q(2557) => [
       q(Maghdi),
       ],
-   q(2557) => [
+   q(2558) => [
       q(Magyi),
       ],
-   q(2558) => [
+   q(2559) => [
       q(Middle Low German),
       ],
-   q(2559) => [
+   q(2560) => [
       q(Gbaya-Mbodomo),
       ],
-   q(2560) => [
+   q(2561) => [
       q(Gimnime),
       ],
-   q(2561) => [
+   q(2562) => [
       q(Gumalu),
       ],
-   q(2562) => [
+   q(2563) => [
       q(Gamo),
       ],
-   q(2563) => [
+   q(2564) => [
       q(Magoma),
       ],
-   q(2564) => [
+   q(2565) => [
       q(Mycenaean Greek),
       ],
-   q(2565) => [
+   q(2566) => [
       q(Mgbolizhia),
       ],
-   q(2566) => [
+   q(2567) => [
       q(Kaansa),
       ],
-   q(2567) => [
+   q(2568) => [
       q(Gangte),
       ],
-   q(2568) => [
+   q(2569) => [
       q(Guanche),
       ],
-   q(2569) => [
+   q(2570) => [
       q(Zulgo-Gemzek),
       ],
-   q(2570) => [
+   q(2571) => [
       q(Ganang),
       ],
-   q(2571) => [
+   q(2572) => [
       q(Ngangam),
       ],
-   q(2572) => [
+   q(2573) => [
       q(Lere),
       ],
-   q(2573) => [
+   q(2574) => [
       q(Gooniyandi),
       ],
-   q(2574) => [
+   q(2575) => [
       q(//Gana),
       q(Gana),
       ],
-   q(2575) => [
+   q(2576) => [
       q(Gangulu),
       ],
-   q(2576) => [
+   q(2577) => [
       q(Ginuman),
       ],
-   q(2577) => [
+   q(2578) => [
       q(Gumatj),
       ],
-   q(2578) => [
+   q(2579) => [
       q(Northern Gondi),
       ],
-   q(2579) => [
+   q(2580) => [
       q(Gureng Gureng),
       ],
-   q(2580) => [
+   q(2581) => [
       q(Guntai),
       ],
-   q(2581) => [
+   q(2582) => [
       q(Gnau),
       ],
-   q(2582) => [
+   q(2583) => [
       q(Western Bolivian Guarani),
       ],
-   q(2583) => [
+   q(2584) => [
       q(Ganzi),
       ],
-   q(2584) => [
+   q(2585) => [
       q(Guro),
       ],
-   q(2585) => [
+   q(2586) => [
       q(Playero),
       ],
-   q(2586) => [
+   q(2587) => [
       q(Gorakor),
       ],
-   q(2587) => [
+   q(2588) => [
       q(Godie),
       ],
-   q(2588) => [
+   q(2589) => [
       q(Gongduk),
       ],
-   q(2589) => [
+   q(2590) => [
       q(Gofa),
       ],
-   q(2590) => [
+   q(2591) => [
       q(Gogo),
       ],
-   q(2591) => [
+   q(2592) => [
       q(Gobasi),
       ],
-   q(2592) => [
+   q(2593) => [
       q(Gowlan),
       ],
-   q(2593) => [
+   q(2594) => [
       q(Gowli),
       ],
-   q(2594) => [
+   q(2595) => [
       q(Gola),
       ],
-   q(2595) => [
+   q(2596) => [
       q(Goan Konkani),
       ],
-   q(2596) => [
+   q(2597) => [
       q(Gone Dau),
       ],
-   q(2597) => [
+   q(2598) => [
       q(Yeretuar),
       ],
-   q(2598) => [
+   q(2599) => [
       q(Gorap),
       ],
-   q(2599) => [
+   q(2600) => [
       q(Gronings),
       ],
-   q(2600) => [
+   q(2601) => [
       q(Gavar),
       ],
-   q(2601) => [
+   q(2602) => [
       q(Gorowa),
       ],
-   q(2602) => [
+   q(2603) => [
       q(Gobu),
       ],
-   q(2603) => [
+   q(2604) => [
       q(Goundo),
       ],
-   q(2604) => [
+   q(2605) => [
       q(Gozarkhani),
       ],
-   q(2605) => [
+   q(2606) => [
       q(Gupa-Abawa),
       ],
-   q(2606) => [
+   q(2607) => [
       q(Ghanaian Pidgin English),
       ],
-   q(2607) => [
+   q(2608) => [
       q(Taiap),
       ],
-   q(2608) => [
+   q(2609) => [
       q(Ga'anda),
       ],
-   q(2609) => [
+   q(2610) => [
       q(Guiqiong),
       ],
-   q(2610) => [
+   q(2611) => [
       q(Guana (Brazil)),
       ],
-   q(2611) => [
+   q(2612) => [
       q(Gor),
       ],
-   q(2612) => [
+   q(2613) => [
       q(Qau),
       ],
-   q(2613) => [
+   q(2614) => [
       q(Rajput Garasia),
       ],
-   q(2614) => [
+   q(2615) => [
       q(Guruntum-Mbaaru),
       ],
-   q(2615) => [
+   q(2616) => [
       q(Madi),
       ],
-   q(2616) => [
+   q(2617) => [
       q(Gbiri-Niragu),
       ],
-   q(2617) => [
+   q(2618) => [
       q(Ghari),
       ],
-   q(2618) => [
+   q(2619) => [
       q(Southern Grebo),
       ],
-   q(2619) => [
+   q(2620) => [
       q(Kota Marudu Talantang),
       ],
-   q(2620) => [
+   q(2621) => [
       q(Groma),
       ],
-   q(2621) => [
+   q(2622) => [
       q(Gorovu),
       ],
-   q(2622) => [
+   q(2623) => [
       q(Taznatit),
       ],
-   q(2623) => [
+   q(2624) => [
       q(Gresi),
       ],
-   q(2624) => [
+   q(2625) => [
       q(Garo),
       ],
-   q(2625) => [
+   q(2626) => [
       q(Kistane),
       ],
-   q(2626) => [
+   q(2627) => [
       q(Central Grebo),
       ],
-   q(2627) => [
+   q(2628) => [
       q(Gweda),
       ],
-   q(2628) => [
+   q(2629) => [
       q(Guriaso),
       ],
-   q(2629) => [
+   q(2630) => [
       q(Barclayville Grebo),
       ],
-   q(2630) => [
+   q(2631) => [
       q(Guramalum),
       ],
-   q(2631) => [
+   q(2632) => [
       q(Ghanaian Sign Language),
       ],
-   q(2632) => [
+   q(2633) => [
       q(German Sign Language),
       ],
-   q(2633) => [
+   q(2634) => [
       q(Gusilay),
       ],
-   q(2634) => [
+   q(2635) => [
       q(Guatemalan Sign Language),
       ],
-   q(2635) => [
+   q(2636) => [
       q(Gusan),
       ],
-   q(2636) => [
+   q(2637) => [
       q(Southwest Gbaya),
       ],
-   q(2637) => [
+   q(2638) => [
       q(Wasembo),
       ],
-   q(2638) => [
+   q(2639) => [
       q(Greek Sign Language),
       ],
-   q(2639) => [
+   q(2640) => [
       q(Guato),
       ],
-   q(2640) => [
+   q(2641) => [
       q(Aghu-Tharnggala),
       ],
-   q(2641) => [
+   q(2642) => [
       q(Shiki),
       ],
-   q(2642) => [
+   q(2643) => [
       q(Guajajara),
       ],
-   q(2643) => [
+   q(2644) => [
       q(Wayuu),
       ],
-   q(2644) => [
+   q(2645) => [
       q(Yocoboue Dida),
       ],
-   q(2645) => [
+   q(2646) => [
       q(Gurinji),
       ],
-   q(2646) => [
+   q(2647) => [
       q(Gupapuyngu),
       ],
-   q(2647) => [
+   q(2648) => [
       q(Paraguayan Guarani),
       ],
-   q(2648) => [
+   q(2649) => [
       q(Guahibo),
       ],
-   q(2649) => [
+   q(2650) => [
       q(Eastern Bolivian Guarani),
       ],
-   q(2650) => [
+   q(2651) => [
       q(Gumuz),
       ],
-   q(2651) => [
+   q(2652) => [
       q(Sea Island Creole English),
       ],
-   q(2652) => [
+   q(2653) => [
       q(Guambiano),
       ],
-   q(2653) => [
+   q(2654) => [
       q(Mbya Guarani),
       ],
-   q(2654) => [
+   q(2655) => [
       q(Guayabero),
       ],
-   q(2655) => [
+   q(2656) => [
       q(Gunwinggu),
       ],
-   q(2656) => [
+   q(2657) => [
       q(Ache),
       ],
-   q(2657) => [
+   q(2658) => [
       q(Farefare),
       ],
-   q(2658) => [
+   q(2659) => [
       q(Guinean Sign Language),
       ],
-   q(2659) => [
+   q(2660) => [
       q(Maleku Jaika),
       ],
-   q(2660) => [
+   q(2661) => [
       q(Yanomamo),
       ],
-   q(2661) => [
+   q(2662) => [
       q(Gey),
       ],
-   q(2662) => [
+   q(2663) => [
       q(Gun),
       ],
-   q(2663) => [
+   q(2664) => [
       q(Gourmanchema),
       ],
-   q(2664) => [
+   q(2665) => [
       q(Gusii),
       q(Ekegusii),
       ],
-   q(2665) => [
+   q(2666) => [
       q(Guana (Paraguay)),
       ],
-   q(2666) => [
+   q(2667) => [
       q(Guanano),
       ],
-   q(2667) => [
+   q(2668) => [
       q(Duwet),
       ],
-   q(2668) => [
+   q(2669) => [
       q(Golin),
       ],
-   q(2669) => [
+   q(2670) => [
       q(Guaja),
       ],
-   q(2670) => [
+   q(2671) => [
       q(Gulay),
       ],
-   q(2671) => [
+   q(2672) => [
       q(Gurmana),
       ],
-   q(2672) => [
+   q(2673) => [
       q(Kuku-Yalanji),
       ],
-   q(2673) => [
+   q(2674) => [
       q(Gaviao Do Jiparana),
       ],
-   q(2674) => [
+   q(2675) => [
       q(Para Gaviao),
       ],
-   q(2675) => [
+   q(2676) => [
       q(Western Gurung),
       ],
-   q(2676) => [
+   q(2677) => [
       q(Gumawana),
       ],
-   q(2677) => [
+   q(2678) => [
       q(Guyani),
       ],
-   q(2678) => [
+   q(2679) => [
       q(Mbato),
       ],
-   q(2679) => [
+   q(2680) => [
       q(Gwa),
       ],
-   q(2680) => [
+   q(2681) => [
       q(Kalami),
       ],
-   q(2681) => [
+   q(2682) => [
       q(Gawwada),
       ],
-   q(2682) => [
+   q(2683) => [
       q(Gweno),
       ],
-   q(2683) => [
+   q(2684) => [
       q(Gowro),
       ],
-   q(2684) => [
+   q(2685) => [
       q(Moo),
       ],
-   q(2685) => [
+   q(2686) => [
       q(/Gwi),
       q(Gwi),
       ],
-   q(2686) => [
+   q(2687) => [
       q(Awngthim),
       ],
-   q(2687) => [
+   q(2688) => [
       q(Gwandara),
       ],
-   q(2688) => [
+   q(2689) => [
       q(Gwere),
       ],
-   q(2689) => [
+   q(2690) => [
       q(Gawar-Bati),
       ],
-   q(2690) => [
+   q(2691) => [
       q(Guwamu),
       ],
-   q(2691) => [
+   q(2692) => [
       q(Kwini),
       ],
-   q(2692) => [
+   q(2693) => [
       q(Gua),
       ],
-   q(2693) => [
+   q(2694) => [
       q(We Southern),
       ],
-   q(2694) => [
+   q(2695) => [
       q(Northwest Gbaya),
       ],
-   q(2695) => [
+   q(2696) => [
       q(Garus),
       ],
-   q(2696) => [
+   q(2697) => [
       q(Kayardild),
       ],
-   q(2697) => [
+   q(2698) => [
       q(Gyem),
       ],
-   q(2698) => [
+   q(2699) => [
       q(Gungabula),
       ],
-   q(2699) => [
+   q(2700) => [
       q(Gbayi),
       ],
-   q(2700) => [
+   q(2701) => [
       q(Gyele),
       ],
-   q(2701) => [
+   q(2702) => [
       q(Gayil),
       ],
-   q(2702) => [
+   q(2703) => [
       q(Ngabere),
       ],
-   q(2703) => [
+   q(2704) => [
       q(Guyanese Creole English),
       ],
-   q(2704) => [
+   q(2705) => [
       q(Guarayu),
       ],
-   q(2705) => [
+   q(2706) => [
       q(Gunya),
       ],
-   q(2706) => [
+   q(2707) => [
       q(Ganza),
       ],
-   q(2707) => [
+   q(2708) => [
       q(Gazi),
       ],
-   q(2708) => [
+   q(2709) => [
       q(Gane),
       ],
-   q(2709) => [
+   q(2710) => [
       q(Han),
       ],
-   q(2710) => [
+   q(2711) => [
       q(Hanoi Sign Language),
       ],
-   q(2711) => [
+   q(2712) => [
       q(Gurani),
       ],
-   q(2712) => [
+   q(2713) => [
       q(Hatam),
       ],
-   q(2713) => [
+   q(2714) => [
       q(Eastern Oromo),
       ],
-   q(2714) => [
+   q(2715) => [
       q(Haiphong Sign Language),
       ],
-   q(2715) => [
+   q(2716) => [
       q(Hanga),
       ],
-   q(2716) => [
+   q(2717) => [
       q(Hahon),
       ],
-   q(2717) => [
+   q(2718) => [
       q(Hajong),
       ],
-   q(2718) => [
+   q(2719) => [
       q(Hakka Chinese),
       ],
-   q(2719) => [
+   q(2720) => [
       q(Halang),
       ],
-   q(2720) => [
+   q(2721) => [
       q(Hewa),
       ],
-   q(2721) => [
+   q(2722) => [
       q(Hangaza),
       ],
-   q(2722) => [
+   q(2723) => [
       q(Hako),
       ],
-   q(2723) => [
+   q(2724) => [
       q(Hupla),
       ],
-   q(2724) => [
+   q(2725) => [
       q(Ha),
       ],
-   q(2725) => [
+   q(2726) => [
       q(Harari),
       ],
-   q(2726) => [
+   q(2727) => [
       q(Haisla),
       ],
-   q(2727) => [
+   q(2728) => [
       q(Havu),
       ],
-   q(2728) => [
+   q(2729) => [
       q(Southern Haida),
       ],
-   q(2729) => [
+   q(2730) => [
       q(Haya),
       ],
-   q(2730) => [
+   q(2731) => [
       q(Hazaragi),
       ],
-   q(2731) => [
+   q(2732) => [
       q(Hamba),
       ],
-   q(2732) => [
+   q(2733) => [
       q(Huba),
       ],
-   q(2733) => [
+   q(2734) => [
       q(Heiban),
       ],
-   q(2734) => [
+   q(2735) => [
       q(Ancient Hebrew),
       ],
-   q(2735) => [
+   q(2736) => [
       q(Habu),
       ],
-   q(2736) => [
+   q(2737) => [
       q(Andaman Creole Hindi),
       ],
-   q(2737) => [
+   q(2738) => [
       q(Huichol),
       ],
-   q(2738) => [
+   q(2739) => [
       q(Northern Haida),
       ],
-   q(2739) => [
+   q(2740) => [
       q(Honduras Sign Language),
       ],
-   q(2740) => [
+   q(2741) => [
       q(Hadiyya),
       ],
-   q(2741) => [
+   q(2742) => [
       q(Northern Qiandong Miao),
       ],
-   q(2742) => [
+   q(2743) => [
       q(Herde),
       ],
-   q(2743) => [
+   q(2744) => [
       q(Helong),
       ],
-   q(2744) => [
+   q(2745) => [
       q(Hehe),
       ],
-   q(2745) => [
+   q(2746) => [
       q(Heiltsuk),
       ],
-   q(2746) => [
+   q(2747) => [
       q(Hemba),
       ],
-   q(2747) => [
+   q(2748) => [
       q(Hai//om),
       q(Haiom),
       ],
-   q(2748) => [
+   q(2749) => [
       q(Haigwai),
       ],
-   q(2749) => [
+   q(2750) => [
       q(Hoia Hoia),
       ],
-   q(2750) => [
+   q(2751) => [
       q(Kerak),
       ],
-   q(2751) => [
+   q(2752) => [
       q(Hoyahoya),
       ],
-   q(2752) => [
+   q(2753) => [
       q(Lamang),
       ],
-   q(2753) => [
+   q(2754) => [
       q(Hibito),
       ],
-   q(2754) => [
+   q(2755) => [
       q(Hidatsa),
       ],
-   q(2755) => [
+   q(2756) => [
       q(Fiji Hindi),
       ],
-   q(2756) => [
+   q(2757) => [
       q(Kamwe),
       ],
-   q(2757) => [
+   q(2758) => [
       q(Pamosu),
       ],
-   q(2758) => [
+   q(2759) => [
       q(Hinduri),
       ],
-   q(2759) => [
+   q(2760) => [
       q(Hijuk),
       ],
-   q(2760) => [
+   q(2761) => [
       q(Seit-Kaitetu),
       ],
-   q(2761) => [
+   q(2762) => [
       q(Tsoa),
       ],
-   q(2762) => [
+   q(2763) => [
       q(Himarima),
       ],
-   q(2763) => [
+   q(2764) => [
       q(Hiw),
       ],
-   q(2764) => [
+   q(2765) => [
       q(Hixkaryana),
       ],
-   q(2765) => [
+   q(2766) => [
       q(Haji),
       ],
-   q(2766) => [
+   q(2767) => [
       q(Kahe),
       ],
-   q(2767) => [
+   q(2768) => [
       q(Hunde),
       ],
-   q(2768) => [
+   q(2769) => [
       q(Hunjara-Kaina Ke),
       ],
-   q(2769) => [
+   q(2770) => [
       q(Hong Kong Sign Language),
       q(Heung Kong Sau Yue),
       ],
-   q(2770) => [
+   q(2771) => [
       q(Halia),
       ],
-   q(2771) => [
+   q(2772) => [
       q(Halbi),
       ],
-   q(2772) => [
+   q(2773) => [
       q(Halang Doan),
       ],
-   q(2773) => [
+   q(2774) => [
       q(Hlersu),
       ],
-   q(2774) => [
+   q(2775) => [
       q(Matu Chin),
       ],
-   q(2775) => [
+   q(2776) => [
       q(Hieroglyphic Luwian),
       ],
-   q(2776) => [
+   q(2777) => [
       q(Southern Mashan Hmong),
       q(Southern Mashan Miao),
       ],
-   q(2777) => [
+   q(2778) => [
       q(Humburi Senni Songhay),
       ],
-   q(2778) => [
+   q(2779) => [
       q(Central Huishui Hmong),
       q(Central Huishui Miao),
       ],
-   q(2779) => [
+   q(2780) => [
       q(Large Flowery Miao),
       q(A-hmaos),
       q(Da-Hua Miao),
       ],
-   q(2780) => [
+   q(2781) => [
       q(Eastern Huishui Hmong),
       q(Eastern Huishui Miao),
       ],
-   q(2781) => [
+   q(2782) => [
       q(Hmong Don),
       ],
-   q(2782) => [
+   q(2783) => [
       q(Southwestern Guiyang Hmong),
       ],
-   q(2783) => [
+   q(2784) => [
       q(Southwestern Huishui Hmong),
       q(Southwestern Huishui Miao),
       ],
-   q(2784) => [
+   q(2785) => [
       q(Northern Huishui Hmong),
       q(Northern Huishui Miao),
       ],
-   q(2785) => [
+   q(2786) => [
       q(Ge),
       q(Gejia),
       ],
-   q(2786) => [
+   q(2787) => [
       q(Maek),
       ],
-   q(2787) => [
+   q(2788) => [
       q(Luopohe Hmong),
       q(Luopohe Miao),
       ],
-   q(2788) => [
+   q(2789) => [
       q(Central Mashan Hmong),
       q(Central Mashan Miao),
       ],
-   q(2789) => [
+   q(2790) => [
       q(Northern Mashan Hmong),
       q(Northern Mashan Miao),
       ],
-   q(2790) => [
+   q(2791) => [
       q(Eastern Qiandong Miao),
       ],
-   q(2791) => [
+   q(2792) => [
       q(Hmar),
       ],
-   q(2792) => [
+   q(2793) => [
       q(Southern Qiandong Miao),
       ],
-   q(2793) => [
+   q(2794) => [
       q(Hamtai),
       ],
-   q(2794) => [
+   q(2795) => [
       q(Hamap),
       ],
-   q(2795) => [
+   q(2796) => [
       q(Hmong Do),
       ],
-   q(2796) => [
+   q(2797) => [
       q(Western Mashan Hmong),
       q(Western Mashan Miao),
       ],
-   q(2797) => [
+   q(2798) => [
       q(Southern Guiyang Hmong),
       q(Southern Guiyang Miao),
       ],
-   q(2798) => [
+   q(2799) => [
       q(Hmong Shua),
       q(Sinicized Miao),
       ],
-   q(2799) => [
+   q(2800) => [
       q(Mina (Cameroon)),
       ],
-   q(2800) => [
+   q(2801) => [
       q(Southern Hindko),
       ],
-   q(2801) => [
+   q(2802) => [
       q(Chhattisgarhi),
       ],
-   q(2802) => [
+   q(2803) => [
       q(//Ani),
       q(Ani),
       ],
-   q(2803) => [
+   q(2804) => [
       q(Hani),
       ],
-   q(2804) => [
+   q(2805) => [
       q(Hmong Njua),
       q(Mong Leng),
       q(Mong Njua),
       ],
-   q(2805) => [
+   q(2806) => [
       q(Hanunoo),
       ],
-   q(2806) => [
+   q(2807) => [
       q(Northern Hindko),
       ],
-   q(2807) => [
+   q(2808) => [
       q(Caribbean Hindustani),
       ],
-   q(2808) => [
+   q(2809) => [
       q(Hung),
       ],
-   q(2809) => [
+   q(2810) => [
       q(Hoava),
       ],
-   q(2810) => [
+   q(2811) => [
       q(Mari (Madang Province)),
       ],
-   q(2811) => [
+   q(2812) => [
       q(Ho),
       ],
-   q(2812) => [
+   q(2813) => [
       q(Holma),
       ],
-   q(2813) => [
+   q(2814) => [
       q(Horom),
       ],
-   q(2814) => [
+   q(2815) => [
       q(Hobyot),
       ],
-   q(2815) => [
+   q(2816) => [
       q(Holikachuk),
       ],
-   q(2816) => [
+   q(2817) => [
       q(Hadothi),
       q(Haroti),
       ],
-   q(2817) => [
+   q(2818) => [
       q(Holu),
       ],
-   q(2818) => [
+   q(2819) => [
       q(Homa),
       ],
-   q(2819) => [
+   q(2820) => [
       q(Holoholo),
       ],
-   q(2820) => [
+   q(2821) => [
       q(Hopi),
       ],
-   q(2821) => [
+   q(2822) => [
       q(Horo),
       ],
-   q(2822) => [
+   q(2823) => [
       q(Ho Chi Minh City Sign Language),
       ],
-   q(2823) => [
+   q(2824) => [
       q(Hote),
       q(Male),
       ],
-   q(2824) => [
+   q(2825) => [
       q(Hovongan),
       ],
-   q(2825) => [
+   q(2826) => [
       q(Honi),
       ],
-   q(2826) => [
+   q(2827) => [
       q(Holiya),
       ],
-   q(2827) => [
+   q(2828) => [
       q(Hozo),
       ],
-   q(2828) => [
+   q(2829) => [
       q(Hpon),
       ],
-   q(2829) => [
+   q(2830) => [
       q(Hawai'i Sign Language (HSL)),
       q(Hawai'i Pidgin Sign Language),
       ],
-   q(2830) => [
+   q(2831) => [
       q(Hrangkhol),
       ],
-   q(2831) => [
+   q(2832) => [
       q(Niwer Mil),
       ],
-   q(2832) => [
+   q(2833) => [
       q(Hre),
       ],
-   q(2833) => [
+   q(2834) => [
       q(Haruku),
       ],
-   q(2834) => [
+   q(2835) => [
       q(Horned Miao),
       ],
-   q(2835) => [
+   q(2836) => [
       q(Haroi),
       ],
-   q(2836) => [
+   q(2837) => [
       q(Nhirrpi),
       ],
-   q(2837) => [
+   q(2838) => [
       q(Hertevin),
       ],
-   q(2838) => [
+   q(2839) => [
       q(Hruso),
       ],
-   q(2839) => [
+   q(2840) => [
       q(Warwar Feni),
       ],
-   q(2840) => [
+   q(2841) => [
       q(Hunsrik),
       ],
-   q(2841) => [
+   q(2842) => [
       q(Harzani),
       ],
-   q(2842) => [
+   q(2843) => [
       q(Hungarian Sign Language),
       ],
-   q(2843) => [
+   q(2844) => [
       q(Hausa Sign Language),
       ],
-   q(2844) => [
+   q(2845) => [
       q(Xiang Chinese),
       ],
-   q(2845) => [
+   q(2846) => [
       q(Harsusi),
       ],
-   q(2846) => [
+   q(2847) => [
       q(Hoti),
       ],
-   q(2847) => [
+   q(2848) => [
       q(Minica Huitoto),
       ],
-   q(2848) => [
+   q(2849) => [
       q(Hadza),
       ],
-   q(2849) => [
+   q(2850) => [
       q(Hitu),
       ],
-   q(2850) => [
+   q(2851) => [
       q(Middle Hittite),
       ],
-   q(2851) => [
+   q(2852) => [
       q(Huambisa),
       ],
-   q(2852) => [
+   q(2853) => [
       q(=/Hua),
       q(Hua),
       ],
-   q(2853) => [
+   q(2854) => [
       q(Huaulu),
       ],
-   q(2854) => [
+   q(2855) => [
       q(San Francisco Del Mar Huave),
       ],
-   q(2855) => [
+   q(2856) => [
       q(Humene),
       ],
-   q(2856) => [
+   q(2857) => [
       q(Huachipaeri),
       ],
-   q(2857) => [
+   q(2858) => [
       q(Huilliche),
       ],
-   q(2858) => [
+   q(2859) => [
       q(Huli),
       ],
-   q(2859) => [
+   q(2860) => [
       q(Northern Guiyang Hmong),
       q(Northern Guiyang Miao),
       ],
-   q(2860) => [
+   q(2861) => [
       q(Hulung),
       ],
-   q(2861) => [
+   q(2862) => [
       q(Hula),
       ],
-   q(2862) => [
+   q(2863) => [
       q(Hungana),
       ],
-   q(2863) => [
+   q(2864) => [
       q(Hu),
       ],
-   q(2864) => [
+   q(2865) => [
       q(Tsat),
       ],
-   q(2865) => [
+   q(2866) => [
       q(Halkomelem),
       ],
-   q(2866) => [
+   q(2867) => [
       q(Huastec),
       ],
-   q(2867) => [
+   q(2868) => [
       q(Humla),
       ],
-   q(2868) => [
+   q(2869) => [
       q(Murui Huitoto),
       ],
-   q(2869) => [
+   q(2870) => [
       q(San Mateo Del Mar Huave),
       ],
-   q(2870) => [
+   q(2871) => [
       q(Hukumina),
       ],
-   q(2871) => [
+   q(2872) => [
       q(Nupode Huitoto),
       ],
-   q(2872) => [
+   q(2873) => [
       q(Hulaula),
       ],
-   q(2873) => [
+   q(2874) => [
       q(Hunzib),
       ],
-   q(2874) => [
+   q(2875) => [
       q(Haitian Vodoun Culture Language),
       ],
-   q(2875) => [
+   q(2876) => [
       q(San Dionisio Del Mar Huave),
       ],
-   q(2876) => [
+   q(2877) => [
       q(Haveke),
       ],
-   q(2877) => [
+   q(2878) => [
       q(Sabu),
       ],
-   q(2878) => [
+   q(2879) => [
       q(Santa Maria Del Mar Huave),
       ],
-   q(2879) => [
+   q(2880) => [
       q(Wane),
       ],
-   q(2880) => [
+   q(2881) => [
       q(Hawai'i Creole English),
       q(Hawai'i Pidgin),
       ],
-   q(2881) => [
+   q(2882) => [
       q(Hwana),
       ],
-   q(2882) => [
+   q(2883) => [
       q(Hya),
       ],
-   q(2883) => [
+   q(2884) => [
       q(Iaai),
       ],
-   q(2884) => [
+   q(2885) => [
       q(Iatmul),
       ],
-   q(2885) => [
+   q(2886) => [
       q(Iapama),
       ],
-   q(2886) => [
+   q(2887) => [
       q(Purari),
       ],
-   q(2887) => [
+   q(2888) => [
       q(Ibibio),
       ],
-   q(2888) => [
+   q(2889) => [
       q(Iwaidja),
       ],
-   q(2889) => [
+   q(2890) => [
       q(Akpes),
       ],
-   q(2890) => [
+   q(2891) => [
       q(Ibanag),
       ],
-   q(2891) => [
+   q(2892) => [
       q(Ibaloi),
       ],
-   q(2892) => [
+   q(2893) => [
       q(Agoi),
       ],
-   q(2893) => [
+   q(2894) => [
       q(Ibino),
       ],
-   q(2894) => [
+   q(2895) => [
       q(Ibuoro),
       ],
-   q(2895) => [
+   q(2896) => [
       q(Ibu),
       ],
-   q(2896) => [
+   q(2897) => [
       q(Ibani),
       ],
-   q(2897) => [
+   q(2898) => [
       q(Ede Ica),
       ],
-   q(2898) => [
+   q(2899) => [
       q(Etkywan),
       ],
-   q(2899) => [
+   q(2900) => [
       q(Icelandic Sign Language),
       ],
-   q(2900) => [
+   q(2901) => [
       q(Islander Creole English),
       ],
-   q(2901) => [
+   q(2902) => [
       q(Idakho-Isukha-Tiriki),
       q(Luidakho-Luisukha-Lutirichi),
       ],
-   q(2902) => [
+   q(2903) => [
       q(Indo-Portuguese),
       ],
-   q(2903) => [
+   q(2904) => [
       q(Idon),
       q(Ajiya),
       ],
-   q(2904) => [
+   q(2905) => [
       q(Ede Idaca),
       ],
-   q(2905) => [
+   q(2906) => [
       q(Idere),
       ],
-   q(2906) => [
+   q(2907) => [
       q(Idi),
       ],
-   q(2907) => [
+   q(2908) => [
       q(Indri),
       ],
-   q(2908) => [
+   q(2909) => [
       q(Idesa),
       ],
-   q(2909) => [
+   q(2910) => [
       q(Idate),
       ],
-   q(2910) => [
+   q(2911) => [
       q(Idoma),
       ],
-   q(2911) => [
+   q(2912) => [
       q(Amganad Ifugao),
       ],
-   q(2912) => [
+   q(2913) => [
       q(Batad Ifugao),
       q(Ayangan Ifugao),
       ],
-   q(2913) => [
+   q(2914) => [
       q(Ife),
       ],
-   q(2914) => [
+   q(2915) => [
       q(Ifo),
       ],
-   q(2915) => [
+   q(2916) => [
       q(Tuwali Ifugao),
       ],
-   q(2916) => [
+   q(2917) => [
       q(Teke-Fuumu),
       ],
-   q(2917) => [
+   q(2918) => [
       q(Mayoyao Ifugao),
       ],
-   q(2918) => [
+   q(2919) => [
       q(Keley-I Kallahan),
       ],
-   q(2919) => [
+   q(2920) => [
       q(Ebira),
       ],
-   q(2920) => [
+   q(2921) => [
       q(Igede),
       ],
-   q(2921) => [
+   q(2922) => [
       q(Igana),
       ],
-   q(2922) => [
+   q(2923) => [
       q(Igala),
       ],
-   q(2923) => [
+   q(2924) => [
       q(Kanggape),
       ],
-   q(2924) => [
+   q(2925) => [
       q(Ignaciano),
       ],
-   q(2925) => [
+   q(2926) => [
       q(Isebe),
       ],
-   q(2926) => [
+   q(2927) => [
       q(Interglossa),
       ],
-   q(2927) => [
+   q(2928) => [
       q(Igwe),
       ],
-   q(2928) => [
+   q(2929) => [
       q(Iha Based Pidgin),
       ],
-   q(2929) => [
+   q(2930) => [
       q(Ihievbe),
       ],
-   q(2930) => [
+   q(2931) => [
       q(Iha),
       ],
-   q(2931) => [
+   q(2932) => [
       q(Bidhawal),
       ],
-   q(2932) => [
+   q(2933) => [
       q(Thiin),
       ],
-   q(2933) => [
+   q(2934) => [
       q(Izon),
       ],
-   q(2934) => [
+   q(2935) => [
       q(Biseni),
       ],
-   q(2935) => [
+   q(2936) => [
       q(Ede Ije),
       ],
-   q(2936) => [
+   q(2937) => [
       q(Kalabari),
       ],
-   q(2937) => [
+   q(2938) => [
       q(Southeast Ijo),
       ],
-   q(2938) => [
+   q(2939) => [
       q(Eastern Canadian Inuktitut),
       ],
-   q(2939) => [
+   q(2940) => [
       q(Iko),
       ],
-   q(2940) => [
+   q(2941) => [
       q(Ika),
       ],
-   q(2941) => [
+   q(2942) => [
       q(Ikulu),
       ],
-   q(2942) => [
+   q(2943) => [
       q(Olulumo-Ikom),
       ],
-   q(2943) => [
+   q(2944) => [
       q(Ikpeshi),
       ],
-   q(2944) => [
+   q(2945) => [
       q(Ikaranggal),
       ],
-   q(2945) => [
+   q(2946) => [
       q(Inuit Sign Language),
       ],
-   q(2946) => [
+   q(2947) => [
       q(Inuinnaqtun),
       q(Western Canadian Inuktitut),
       ],
-   q(2947) => [
+   q(2948) => [
       q(Iku-Gora-Ankwa),
       ],
-   q(2948) => [
+   q(2949) => [
       q(Ikwere),
       ],
-   q(2949) => [
+   q(2950) => [
       q(Ik),
       ],
-   q(2950) => [
+   q(2951) => [
       q(Ikizu),
       ],
-   q(2951) => [
+   q(2952) => [
       q(Ile Ape),
       ],
-   q(2952) => [
+   q(2953) => [
       q(Ila),
       ],
-   q(2953) => [
+   q(2954) => [
       q(Garig-Ilgar),
       ],
-   q(2954) => [
+   q(2955) => [
       q(Ili Turki),
       ],
-   q(2955) => [
+   q(2956) => [
       q(Ilongot),
       ],
-   q(2956) => [
+   q(2957) => [
       q(Iranun),
       ],
-   q(2957) => [
+   q(2958) => [
       q(International Sign),
       ],
-   q(2958) => [
+   q(2959) => [
       q(Ili'uun),
       ],
-   q(2959) => [
+   q(2960) => [
       q(Ilue),
       ],
-   q(2960) => [
+   q(2961) => [
       q(Mala Malasar),
       ],
-   q(2961) => [
+   q(2962) => [
       q(Anamgura),
       ],
-   q(2962) => [
+   q(2963) => [
       q(Miluk),
       ],
-   q(2963) => [
+   q(2964) => [
       q(Imonda),
       ],
-   q(2964) => [
+   q(2965) => [
       q(Imbongu),
       ],
-   q(2965) => [
+   q(2966) => [
       q(Imroing),
       ],
-   q(2966) => [
+   q(2967) => [
       q(Marsian),
       ],
-   q(2967) => [
+   q(2968) => [
       q(Milyan),
       ],
-   q(2968) => [
+   q(2969) => [
       q(Inga),
       ],
-   q(2969) => [
+   q(2970) => [
       q(Degexit'an),
       ],
-   q(2970) => [
+   q(2971) => [
       q(Jungle Inga),
       ],
-   q(2971) => [
+   q(2972) => [
       q(Indonesian Sign Language),
       ],
-   q(2972) => [
+   q(2973) => [
       q(Minaean),
       ],
-   q(2973) => [
+   q(2974) => [
       q(Isinai),
       ],
-   q(2974) => [
+   q(2975) => [
       q(Inoke-Yate),
       ],
-   q(2975) => [
+   q(2976) => [
       q(Inapari),
       ],
-   q(2976) => [
+   q(2977) => [
       q(Indian Sign Language),
       ],
-   q(2977) => [
+   q(2978) => [
       q(Intha),
       ],
-   q(2978) => [
+   q(2979) => [
       q(Ineseno),
       ],
-   q(2979) => [
+   q(2980) => [
       q(Inor),
       ],
-   q(2980) => [
+   q(2981) => [
       q(Tuma-Irumu),
       ],
-   q(2981) => [
+   q(2982) => [
       q(Iowa-Oto),
       ],
-   q(2982) => [
+   q(2983) => [
       q(Ipili),
       ],
-   q(2983) => [
+   q(2984) => [
       q(Ipiko),
       ],
-   q(2984) => [
+   q(2985) => [
       q(Iquito),
       ],
-   q(2985) => [
+   q(2986) => [
       q(Ikwo),
       ],
-   q(2986) => [
+   q(2987) => [
       q(Iresim),
       ],
-   q(2987) => [
+   q(2988) => [
       q(Irarutu),
       ],
-   q(2988) => [
+   q(2989) => [
       q(Irigwe),
       ],
-   q(2989) => [
+   q(2990) => [
       q(Iraqw),
       ],
-   q(2990) => [
+   q(2991) => [
       q(Irantxe),
       ],
-   q(2991) => [
+   q(2992) => [
       q(Ir),
       ],
-   q(2992) => [
+   q(2993) => [
       q(Irula),
       ],
-   q(2993) => [
+   q(2994) => [
       q(Kamberau),
       ],
-   q(2994) => [
+   q(2995) => [
       q(Iraya),
       ],
-   q(2995) => [
+   q(2996) => [
       q(Isabi),
       ],
-   q(2996) => [
+   q(2997) => [
       q(Isconahua),
       ],
-   q(2997) => [
+   q(2998) => [
       q(Isnag),
       ],
-   q(2998) => [
+   q(2999) => [
       q(Italian Sign Language),
       ],
-   q(2999) => [
+   q(3000) => [
       q(Irish Sign Language),
       ],
-   q(3000) => [
+   q(3001) => [
       q(Esan),
       ],
-   q(3001) => [
+   q(3002) => [
       q(Nkem-Nkum),
       ],
-   q(3002) => [
+   q(3003) => [
       q(Ishkashimi),
       ],
-   q(3003) => [
+   q(3004) => [
       q(Masimasi),
       ],
-   q(3004) => [
+   q(3005) => [
       q(Isanzu),
       ],
-   q(3005) => [
+   q(3006) => [
       q(Isoko),
       ],
-   q(3006) => [
+   q(3007) => [
       q(Israeli Sign Language),
       ],
-   q(3007) => [
+   q(3008) => [
       q(Istriot),
       ],
-   q(3008) => [
+   q(3009) => [
       q(Isu (Menchum Division)),
       ],
-   q(3009) => [
+   q(3010) => [
       q(Binongan Itneg),
       ],
-   q(3010) => [
+   q(3011) => [
       q(Itene),
       ],
-   q(3011) => [
+   q(3012) => [
       q(Inlaod Itneg),
       ],
-   q(3012) => [
+   q(3013) => [
       q(Judeo-Italian),
       ],
-   q(3013) => [
+   q(3014) => [
       q(Itelmen),
       ],
-   q(3014) => [
+   q(3015) => [
       q(Itu Mbon Uzo),
       ],
-   q(3015) => [
+   q(3016) => [
       q(Itonama),
       ],
-   q(3016) => [
+   q(3017) => [
       q(Iteri),
       ],
-   q(3017) => [
+   q(3018) => [
       q(Isekiri),
       ],
-   q(3018) => [
+   q(3019) => [
       q(Maeng Itneg),
       ],
-   q(3019) => [
+   q(3020) => [
       q(Itawit),
       ],
-   q(3020) => [
+   q(3021) => [
       q(Ito),
       ],
-   q(3021) => [
+   q(3022) => [
       q(Itik),
       ],
-   q(3022) => [
+   q(3023) => [
       q(Moyadan Itneg),
       ],
-   q(3023) => [
+   q(3024) => [
       q(Itza),
       ],
-   q(3024) => [
+   q(3025) => [
       q(Iu Mien),
       ],
-   q(3025) => [
+   q(3026) => [
       q(Ibatan),
       ],
-   q(3026) => [
+   q(3027) => [
       q(Ivatan),
       ],
-   q(3027) => [
+   q(3028) => [
       q(I-Wak),
       ],
-   q(3028) => [
+   q(3029) => [
       q(Iwam),
       ],
-   q(3029) => [
+   q(3030) => [
       q(Iwur),
       ],
-   q(3030) => [
+   q(3031) => [
       q(Sepik Iwam),
       ],
-   q(3031) => [
+   q(3032) => [
       q(Ixcatec),
       ],
-   q(3032) => [
+   q(3033) => [
       q(Ixil),
       ],
-   q(3033) => [
+   q(3034) => [
       q(Iyayu),
       ],
-   q(3034) => [
+   q(3035) => [
       q(Mesaka),
       ],
-   q(3035) => [
+   q(3036) => [
       q(Yaka (Congo)),
       ],
-   q(3036) => [
+   q(3037) => [
       q(Ingrian),
       ],
-   q(3037) => [
+   q(3038) => [
       q(Izere),
       ],
-   q(3038) => [
+   q(3039) => [
       q(Izii),
       ],
-   q(3039) => [
+   q(3040) => [
       q(Jamamadi),
       ],
-   q(3040) => [
+   q(3041) => [
       q(Hyam),
       ],
-   q(3041) => [
+   q(3042) => [
       q(Popti'),
       q(Jakalteko),
       ],
-   q(3042) => [
+   q(3043) => [
       q(Jahanka),
       ],
-   q(3043) => [
+   q(3044) => [
       q(Yabem),
       ],
-   q(3044) => [
+   q(3045) => [
       q(Jara),
       ],
-   q(3045) => [
+   q(3046) => [
       q(Jah Hut),
       ],
-   q(3046) => [
+   q(3047) => [
       q(Zazao),
       ],
-   q(3047) => [
+   q(3048) => [
       q(Jakun),
       ],
-   q(3048) => [
+   q(3049) => [
       q(Yalahatan),
       ],
-   q(3049) => [
+   q(3050) => [
       q(Jamaican Creole English),
       ],
-   q(3050) => [
+   q(3051) => [
       q(Jandai),
       ],
-   q(3051) => [
+   q(3052) => [
       q(Yanyuwa),
       ],
-   q(3052) => [
+   q(3053) => [
       q(Yaqay),
       ],
-   q(3053) => [
+   q(3054) => [
       q(New Caledonian Javanese),
       ],
-   q(3054) => [
+   q(3055) => [
       q(Jakati),
       ],
-   q(3055) => [
+   q(3056) => [
       q(Yaur),
       ],
-   q(3056) => [
+   q(3057) => [
       q(Jambi Malay),
       ],
-   q(3057) => [
+   q(3058) => [
       q(Yan-nhangu),
       ],
-   q(3058) => [
+   q(3059) => [
       q(Jawe),
       ],
-   q(3059) => [
+   q(3060) => [
       q(Judeo-Berber),
       ],
-   q(3060) => [
+   q(3061) => [
       q(Badjiri),
       ],
-   q(3061) => [
+   q(3062) => [
       q(Arandai),
       ],
-   q(3062) => [
+   q(3063) => [
       q(Barikewa),
       ],
-   q(3063) => [
+   q(3064) => [
       q(Nafusi),
       ],
-   q(3064) => [
+   q(3065) => [
       q(Jofotek-Bromnya),
       ],
-   q(3065) => [
+   q(3066) => [
       q(Jabuti),
       ],
-   q(3066) => [
+   q(3067) => [
       q(Jukun Takum),
       ],
-   q(3067) => [
+   q(3068) => [
       q(Yawijibaya),
       ],
-   q(3068) => [
+   q(3069) => [
       q(Jamaican Country Sign Language),
       ],
-   q(3069) => [
+   q(3070) => [
       q(Krymchak),
       ],
-   q(3070) => [
+   q(3071) => [
       q(Jad),
       ],
-   q(3071) => [
+   q(3072) => [
       q(Jadgali),
       ],
-   q(3072) => [
+   q(3073) => [
       q(Judeo-Tat),
       ],
-   q(3073) => [
+   q(3074) => [
       q(Jebero),
       ],
-   q(3074) => [
+   q(3075) => [
       q(Jerung),
       ],
-   q(3075) => [
+   q(3076) => [
       q(Jeng),
       ],
-   q(3076) => [
+   q(3077) => [
       q(Jeh),
       ],
-   q(3077) => [
+   q(3078) => [
       q(Yei),
       ],
-   q(3078) => [
+   q(3079) => [
       q(Jeri Kuo),
       ],
-   q(3079) => [
+   q(3080) => [
       q(Yelmek),
       ],
-   q(3080) => [
+   q(3081) => [
       q(Dza),
       ],
-   q(3081) => [
+   q(3082) => [
       q(Jere),
       ],
-   q(3082) => [
+   q(3083) => [
       q(Manem),
       ],
-   q(3083) => [
+   q(3084) => [
       q(Jonkor Bourmataguil),
       ],
-   q(3084) => [
+   q(3085) => [
       q(Ngbee),
       ],
-   q(3085) => [
+   q(3086) => [
       q(Judeo-Georgian),
       ],
-   q(3086) => [
+   q(3087) => [
       q(Gwak),
       ],
-   q(3087) => [
+   q(3088) => [
       q(Ngomba),
       ],
-   q(3088) => [
+   q(3089) => [
       q(Jehai),
       ],
-   q(3089) => [
+   q(3090) => [
       q(Jhankot Sign Language),
       ],
-   q(3090) => [
+   q(3091) => [
       q(Jina),
       ],
-   q(3091) => [
+   q(3092) => [
       q(Jibu),
       ],
-   q(3092) => [
+   q(3093) => [
       q(Tol),
       ],
-   q(3093) => [
+   q(3094) => [
       q(Bu),
       ],
-   q(3094) => [
+   q(3095) => [
       q(Jilbe),
       ],
-   q(3095) => [
+   q(3096) => [
       q(Djingili),
       ],
-   q(3096) => [
+   q(3097) => [
       q(sTodsde),
       q(Shangzhai),
       ],
-   q(3097) => [
+   q(3098) => [
       q(Jiiddu),
       ],
-   q(3098) => [
+   q(3099) => [
       q(Jilim),
       ],
-   q(3099) => [
+   q(3100) => [
       q(Jimi (Cameroon)),
       ],
-   q(3100) => [
+   q(3101) => [
       q(Jiamao),
       ],
-   q(3101) => [
+   q(3102) => [
       q(Guanyinqiao),
       q(Lavrung),
       ],
-   q(3102) => [
+   q(3103) => [
       q(Jita),
       ],
-   q(3103) => [
+   q(3104) => [
       q(Youle Jinuo),
       ],
-   q(3104) => [
+   q(3105) => [
       q(Shuar),
       ],
-   q(3105) => [
+   q(3106) => [
       q(Buyuan Jinuo),
       ],
-   q(3106) => [
+   q(3107) => [
       q(Jejueo),
       ],
-   q(3107) => [
+   q(3108) => [
       q(Bankal),
       ],
-   q(3108) => [
+   q(3109) => [
       q(Mobwa Karen),
       ],
-   q(3109) => [
+   q(3110) => [
       q(Kubo),
       ],
-   q(3110) => [
+   q(3111) => [
       q(Paku Karen),
       ],
-   q(3111) => [
+   q(3112) => [
       q(Koro (India)),
       ],
-   q(3112) => [
+   q(3113) => [
       q(Labir),
       ],
-   q(3113) => [
+   q(3114) => [
       q(Ngile),
       ],
-   q(3114) => [
+   q(3115) => [
       q(Jamaican Sign Language),
       ],
-   q(3115) => [
+   q(3116) => [
       q(Dima),
       ],
-   q(3116) => [
+   q(3117) => [
       q(Zumbun),
       ],
-   q(3117) => [
+   q(3118) => [
       q(Machame),
       ],
-   q(3118) => [
+   q(3119) => [
       q(Yamdena),
       ],
-   q(3119) => [
+   q(3120) => [
       q(Jimi (Nigeria)),
       ],
-   q(3120) => [
+   q(3121) => [
       q(Jumli),
       ],
-   q(3121) => [
+   q(3122) => [
       q(Makuri Naga),
       ],
-   q(3122) => [
+   q(3123) => [
       q(Kamara),
       ],
-   q(3123) => [
+   q(3124) => [
       q(Mashi (Nigeria)),
       ],
-   q(3124) => [
+   q(3125) => [
       q(Mouwase),
       ],
-   q(3125) => [
+   q(3126) => [
       q(Western Juxtlahuaca Mixtec),
       ],
-   q(3126) => [
+   q(3127) => [
       q(Jangshung),
       ],
-   q(3127) => [
+   q(3128) => [
       q(Jandavra),
       ],
-   q(3128) => [
+   q(3129) => [
       q(Yangman),
       ],
-   q(3129) => [
+   q(3130) => [
       q(Janji),
       ],
-   q(3130) => [
+   q(3131) => [
       q(Yemsa),
       ],
-   q(3131) => [
+   q(3132) => [
       q(Rawat),
       ],
-   q(3132) => [
+   q(3133) => [
       q(Jaunsari),
       ],
-   q(3133) => [
+   q(3134) => [
       q(Joba),
       ],
-   q(3134) => [
+   q(3135) => [
       q(Wojenaka),
       ],
-   q(3135) => [
+   q(3136) => [
+      q(Jogi),
+      ],
+   q(3137) => [
       q(Jora),
       ],
-   q(3136) => [
+   q(3138) => [
       q(Jordanian Sign Language),
       ],
-   q(3137) => [
+   q(3139) => [
       q(Jowulu),
       ],
-   q(3138) => [
+   q(3140) => [
       q(Jewish Palestinian Aramaic),
       ],
-   q(3139) => [
+   q(3141) => [
       q(Jaqaru),
       ],
-   q(3140) => [
+   q(3142) => [
       q(Jarai),
       ],
-   q(3141) => [
+   q(3143) => [
       q(Jiru),
       ],
-   q(3142) => [
+   q(3144) => [
       q(Jorto),
       ],
-   q(3143) => [
+   q(3145) => [
       q(Japreria),
       ],
-   q(3144) => [
+   q(3146) => [
       q(Japanese Sign Language),
       ],
-   q(3145) => [
+   q(3147) => [
       q(Juma),
       ],
-   q(3146) => [
+   q(3148) => [
       q(Wannu),
       ],
-   q(3147) => [
+   q(3149) => [
       q(Jurchen),
       ],
-   q(3148) => [
+   q(3150) => [
       q(Worodougou),
       ],
-   q(3149) => [
+   q(3151) => [
       q(Hone),
       ],
-   q(3150) => [
+   q(3152) => [
       q(Ngadjuri),
       ],
-   q(3151) => [
+   q(3153) => [
       q(Wapan),
       ],
-   q(3152) => [
+   q(3154) => [
       q(Jirel),
       ],
-   q(3153) => [
+   q(3155) => [
       q(Jumjum),
       ],
-   q(3154) => [
+   q(3156) => [
       q(Juang),
       ],
-   q(3155) => [
+   q(3157) => [
       q(Jiba),
       ],
-   q(3156) => [
+   q(3158) => [
       q(Hupde),
       ],
-   q(3157) => [
+   q(3159) => [
       q(Juruna),
       ],
-   q(3158) => [
+   q(3160) => [
       q(Jumla Sign Language),
       ],
-   q(3159) => [
+   q(3161) => [
       q(Jutish),
       ],
-   q(3160) => [
+   q(3162) => [
       q(Ju),
       ],
-   q(3161) => [
+   q(3163) => [
       q(Wapha),
       ],
-   q(3162) => [
+   q(3164) => [
       q(Juray),
       ],
-   q(3163) => [
+   q(3165) => [
       q(Javindo),
       ],
-   q(3164) => [
+   q(3166) => [
       q(Caribbean Javanese),
       ],
-   q(3165) => [
+   q(3167) => [
       q(Jwira-Pepesa),
       ],
-   q(3166) => [
+   q(3168) => [
       q(Jiarong),
       ],
-   q(3167) => [
+   q(3169) => [
       q(Judeo-Yemeni Arabic),
       ],
-   q(3168) => [
+   q(3170) => [
       q(Jaya),
       ],
-   q(3169) => [
+   q(3171) => [
       q(Adara),
       ],
-   q(3170) => [
+   q(3172) => [
       q(Ketangalan),
       ],
-   q(3171) => [
+   q(3173) => [
       q(Katso),
       ],
-   q(3172) => [
+   q(3174) => [
       q(Kajaman),
       ],
-   q(3173) => [
+   q(3175) => [
       q(Kara (Central African Republic)),
       ],
-   q(3174) => [
+   q(3176) => [
       q(Karekare),
       ],
-   q(3175) => [
+   q(3177) => [
       q(Jju),
       ],
-   q(3176) => [
+   q(3178) => [
       q(Kayapa Kallahan),
       ],
-   q(3177) => [
+   q(3179) => [
       q(Xaasongaxango),
       ],
-   q(3178) => [
+   q(3180) => [
       q(Bezhta),
       ],
-   q(3179) => [
+   q(3181) => [
       q(Capanahua),
       ],
-   q(3180) => [
+   q(3182) => [
       q(Katukina),
       ],
-   q(3181) => [
+   q(3183) => [
       q(Kao),
       ],
-   q(3182) => [
+   q(3184) => [
       q(Kamayura),
       ],
-   q(3183) => [
+   q(3185) => [
       q(Kalarko),
       ],
-   q(3184) => [
+   q(3186) => [
       q(Kaxuiana),
       ],
-   q(3185) => [
+   q(3187) => [
       q(Kadiweu),
       ],
-   q(3186) => [
+   q(3188) => [
       q(Kanju),
       ],
-   q(3187) => [
+   q(3189) => [
       q(Khamba),
       ],
-   q(3188) => [
+   q(3190) => [
       q(Camsa),
       ],
-   q(3189) => [
+   q(3191) => [
       q(Kaptiau),
       ],
-   q(3190) => [
+   q(3192) => [
       q(Kari),
       ],
-   q(3191) => [
+   q(3193) => [
       q(Grass Koiari),
       ],
-   q(3192) => [
+   q(3194) => [
       q(Kanembu),
       ],
-   q(3193) => [
+   q(3195) => [
       q(Iwal),
       ],
-   q(3194) => [
+   q(3196) => [
       q(Kare (Central African Republic)),
       ],
-   q(3195) => [
+   q(3197) => [
       q(Keliko),
       ],
-   q(3196) => [
+   q(3198) => [
       q(Kabiye),
       ],
-   q(3197) => [
+   q(3199) => [
       q(Kamano),
       ],
-   q(3198) => [
+   q(3200) => [
       q(Kafa),
       ],
-   q(3199) => [
+   q(3201) => [
       q(Kande),
       ],
-   q(3200) => [
+   q(3202) => [
       q(Abadi),
       ],
-   q(3201) => [
+   q(3203) => [
       q(Kabutra),
       ],
-   q(3202) => [
+   q(3204) => [
       q(Dera (Indonesia)),
       ],
-   q(3203) => [
+   q(3205) => [
       q(Kaiep),
       ],
-   q(3204) => [
+   q(3206) => [
       q(Ap Ma),
       ],
-   q(3205) => [
+   q(3207) => [
       q(Manga Kanuri),
       ],
-   q(3206) => [
+   q(3208) => [
       q(Duhwa),
       ],
-   q(3207) => [
+   q(3209) => [
       q(Khanty),
       ],
-   q(3208) => [
+   q(3210) => [
       q(Kawacha),
       ],
-   q(3209) => [
+   q(3211) => [
       q(Lubila),
       ],
-   q(3210) => [
+   q(3212) => [
       q(Ngkalmpw Kanum),
       ],
-   q(3211) => [
+   q(3213) => [
       q(Kaivi),
       ],
-   q(3212) => [
+   q(3214) => [
       q(Ukaan),
       ],
-   q(3213) => [
+   q(3215) => [
       q(Tyap),
       ],
-   q(3214) => [
+   q(3216) => [
       q(Vono),
       ],
-   q(3215) => [
+   q(3217) => [
       q(Kamantan),
       ],
-   q(3216) => [
+   q(3218) => [
       q(Kobiana),
       ],
-   q(3217) => [
+   q(3219) => [
       q(Kalanga),
       ],
-   q(3218) => [
+   q(3220) => [
       q(Kela (Papua New Guinea)),
       q(Kala),
       ],
-   q(3219) => [
+   q(3221) => [
       q(Gula (Central African Republic)),
       ],
-   q(3220) => [
+   q(3222) => [
       q(Nubi),
       ],
-   q(3221) => [
+   q(3223) => [
       q(Kinalakna),
       ],
-   q(3222) => [
+   q(3224) => [
       q(Kanga),
       ],
-   q(3223) => [
+   q(3225) => [
       q(Kamo),
       ],
-   q(3224) => [
+   q(3226) => [
       q(Katla),
       ],
-   q(3225) => [
+   q(3227) => [
       q(Koenoem),
       ],
-   q(3226) => [
+   q(3228) => [
       q(Kaian),
       ],
-   q(3227) => [
+   q(3229) => [
       q(Kami (Tanzania)),
       ],
-   q(3228) => [
+   q(3230) => [
       q(Kete),
       ],
-   q(3229) => [
+   q(3231) => [
       q(Kabwari),
       ],
-   q(3230) => [
+   q(3232) => [
       q(Kachama-Ganjule),
       ],
-   q(3231) => [
+   q(3233) => [
       q(Korandje),
       ],
-   q(3232) => [
+   q(3234) => [
       q(Konongo),
       ],
-   q(3233) => [
+   q(3235) => [
       q(Worimi),
       ],
-   q(3234) => [
+   q(3236) => [
       q(Kutu),
       ],
-   q(3235) => [
+   q(3237) => [
       q(Yankunytjatjara),
       ],
-   q(3236) => [
+   q(3238) => [
       q(Makonde),
       ],
-   q(3237) => [
+   q(3239) => [
       q(Mamusi),
       ],
-   q(3238) => [
+   q(3240) => [
       q(Seba),
       ],
-   q(3239) => [
+   q(3241) => [
       q(Tem),
       ],
-   q(3240) => [
+   q(3242) => [
       q(Kumam),
       ],
-   q(3241) => [
+   q(3243) => [
       q(Karamojong),
       ],
-   q(3242) => [
+   q(3244) => [
       q(Numee),
       q(Kwenyi),
       ],
-   q(3243) => [
+   q(3245) => [
       q(Tsikimba),
       ],
-   q(3244) => [
+   q(3246) => [
       q(Kagoma),
       ],
-   q(3245) => [
+   q(3247) => [
       q(Kunda),
       ],
-   q(3246) => [
+   q(3248) => [
       q(Kaningdon-Nindem),
       ],
-   q(3247) => [
+   q(3249) => [
       q(Koch),
       ],
-   q(3248) => [
+   q(3250) => [
       q(Karaim),
       ],
-   q(3249) => [
+   q(3251) => [
       q(Kuy),
       ],
-   q(3250) => [
+   q(3252) => [
       q(Kadaru),
       ],
-   q(3251) => [
+   q(3253) => [
       q(Koneraw),
       ],
-   q(3252) => [
+   q(3254) => [
       q(Kam),
       ],
-   q(3253) => [
+   q(3255) => [
       q(Keder),
       q(Keijar),
       ],
-   q(3254) => [
+   q(3256) => [
       q(Kwaja),
       ],
-   q(3255) => [
+   q(3257) => [
       q(Kabuverdianu),
       ],
-   q(3256) => [
+   q(3258) => [
       q(Kele),
       ],
-   q(3257) => [
+   q(3259) => [
       q(Keiga),
       ],
-   q(3258) => [
+   q(3260) => [
       q(Kerewe),
       ],
-   q(3259) => [
+   q(3261) => [
       q(Eastern Keres),
       ],
-   q(3260) => [
+   q(3262) => [
       q(Kpessi),
       ],
-   q(3261) => [
+   q(3263) => [
       q(Tese),
       ],
-   q(3262) => [
+   q(3264) => [
       q(Keak),
       ],
-   q(3263) => [
+   q(3265) => [
       q(Kei),
       ],
-   q(3264) => [
+   q(3266) => [
       q(Kadar),
       ],
-   q(3265) => [
+   q(3267) => [
       q(Kekchi),
       ],
-   q(3266) => [
+   q(3268) => [
       q(Kela (Democratic Republic of Congo)),
       ],
-   q(3267) => [
+   q(3269) => [
       q(Kemak),
       ],
-   q(3268) => [
+   q(3270) => [
       q(Kenyang),
       ],
-   q(3269) => [
+   q(3271) => [
       q(Kakwa),
       ],
-   q(3270) => [
+   q(3272) => [
       q(Kaikadi),
       ],
-   q(3271) => [
+   q(3273) => [
       q(Kamar),
       ],
-   q(3272) => [
+   q(3274) => [
       q(Kera),
       ],
-   q(3273) => [
+   q(3275) => [
       q(Kugbo),
       ],
-   q(3274) => [
+   q(3276) => [
       q(Ket),
       ],
-   q(3275) => [
+   q(3277) => [
       q(Akebu),
       ],
-   q(3276) => [
+   q(3278) => [
       q(Kanikkaran),
       ],
-   q(3277) => [
+   q(3279) => [
       q(West Kewa),
       ],
-   q(3278) => [
+   q(3280) => [
       q(Kukna),
       ],
-   q(3279) => [
+   q(3281) => [
       q(Kupia),
       ],
-   q(3280) => [
+   q(3282) => [
       q(Kukele),
       ],
-   q(3281) => [
+   q(3283) => [
       q(Kodava),
       ],
-   q(3282) => [
+   q(3284) => [
       q(Northwestern Kolami),
       ],
-   q(3283) => [
+   q(3285) => [
       q(Konda-Dora),
       ],
-   q(3284) => [
+   q(3286) => [
       q(Korra Koraga),
       ],
-   q(3285) => [
+   q(3287) => [
       q(Kota (India)),
       ],
-   q(3286) => [
+   q(3288) => [
       q(Koya),
       ],
-   q(3287) => [
+   q(3289) => [
       q(Kudiya),
       ],
-   q(3288) => [
+   q(3290) => [
       q(Kurichiya),
       ],
-   q(3289) => [
+   q(3291) => [
       q(Kannada Kurumba),
       ],
-   q(3290) => [
+   q(3292) => [
       q(Kemiehua),
       ],
-   q(3291) => [
+   q(3293) => [
       q(Kinnauri),
       ],
-   q(3292) => [
+   q(3294) => [
       q(Kung),
       ],
-   q(3293) => [
+   q(3295) => [
       q(Khunsari),
       ],
-   q(3294) => [
+   q(3296) => [
       q(Kuk),
       ],
-   q(3295) => [
+   q(3297) => [
       q(Koro (Cote d'Ivoire)),
       ],
-   q(3296) => [
+   q(3298) => [
       q(Korwa),
       ],
-   q(3297) => [
+   q(3299) => [
       q(Korku),
       ],
-   q(3298) => [
+   q(3300) => [
       q(Kachchi),
       ],
-   q(3299) => [
+   q(3301) => [
       q(Bilaspuri),
       ],
-   q(3300) => [
+   q(3302) => [
       q(Kanjari),
       ],
-   q(3301) => [
+   q(3303) => [
       q(Katkari),
       ],
-   q(3302) => [
+   q(3304) => [
       q(Kurmukar),
       ],
-   q(3303) => [
+   q(3305) => [
       q(Kharam Naga),
       ],
-   q(3304) => [
+   q(3306) => [
       q(Kullu Pahari),
       ],
-   q(3305) => [
+   q(3307) => [
       q(Kumaoni),
       ],
-   q(3306) => [
+   q(3308) => [
       q(Koromfe),
       ],
-   q(3307) => [
+   q(3309) => [
       q(Koyaga),
       ],
-   q(3308) => [
+   q(3310) => [
       q(Kawe),
       ],
-   q(3309) => [
+   q(3311) => [
       q(Kasseng),
       ],
-   q(3310) => [
+   q(3312) => [
       q(Kataang),
       ],
-   q(3311) => [
+   q(3313) => [
       q(Komering),
       ],
-   q(3312) => [
+   q(3314) => [
       q(Kube),
       ],
-   q(3313) => [
+   q(3315) => [
       q(Kusunda),
       ],
-   q(3314) => [
+   q(3316) => [
       q(Selangor Sign Language),
       ],
-   q(3315) => [
+   q(3317) => [
       q(Gamale Kham),
       ],
-   q(3316) => [
+   q(3318) => [
       q(Kaiwa),
       ],
-   q(3317) => [
+   q(3319) => [
       q(Kunggari),
       ],
-   q(3318) => [
+   q(3320) => [
       q(Karipuna),
       ],
-   q(3319) => [
+   q(3321) => [
       q(Karingani),
       ],
-   q(3320) => [
+   q(3322) => [
       q(Krongo),
       ],
-   q(3321) => [
+   q(3323) => [
       q(Kaingang),
       ],
-   q(3322) => [
+   q(3324) => [
       q(Kamoro),
       ],
-   q(3323) => [
+   q(3325) => [
       q(Abun),
       ],
-   q(3324) => [
+   q(3326) => [
       q(Kumbainggar),
       ],
-   q(3325) => [
+   q(3327) => [
       q(Somyev),
       ],
-   q(3326) => [
+   q(3328) => [
       q(Kobol),
       ],
-   q(3327) => [
+   q(3329) => [
       q(Karas),
       ],
-   q(3328) => [
+   q(3330) => [
       q(Karon Dori),
       ],
-   q(3329) => [
+   q(3331) => [
       q(Kamaru),
       ],
-   q(3330) => [
+   q(3332) => [
       q(Kyerung),
       ],
-   q(3331) => [
+   q(3333) => [
       q(Lu),
       ],
-   q(3332) => [
+   q(3334) => [
       q(Tukang Besi North),
       ],
-   q(3333) => [
+   q(3335) => [
       q(Badi Kanum),
       ],
-   q(3334) => [
+   q(3336) => [
       q(Korowai),
       ],
-   q(3335) => [
+   q(3337) => [
       q(Khuen),
       ],
-   q(3336) => [
+   q(3338) => [
       q(Khams Tibetan),
       ],
-   q(3337) => [
+   q(3339) => [
       q(Kehu),
       ],
-   q(3338) => [
+   q(3340) => [
       q(Kuturmi),
       ],
-   q(3339) => [
+   q(3341) => [
       q(Halh Mongolian),
       ],
-   q(3340) => [
+   q(3342) => [
       q(Lusi),
       ],
-   q(3341) => [
+   q(3343) => [
       q(Khandesi),
       ],
-   q(3342) => [
+   q(3344) => [
       q(Kapori),
       q(Kapauri),
       ],
-   q(3343) => [
+   q(3345) => [
       q(Koyra Chiini Songhay),
       ],
-   q(3344) => [
+   q(3346) => [
       q(Kharia),
       ],
-   q(3345) => [
+   q(3347) => [
       q(Kasua),
       ],
-   q(3346) => [
+   q(3348) => [
       q(Khamti),
       ],
-   q(3347) => [
+   q(3349) => [
       q(Nkhumbi),
       ],
-   q(3348) => [
+   q(3350) => [
       q(Khvarshi),
       ],
-   q(3349) => [
+   q(3351) => [
       q(Khowar),
       ],
-   q(3350) => [
+   q(3352) => [
       q(Kanu),
       ],
-   q(3351) => [
+   q(3353) => [
       q(Kele (Democratic Republic of Congo)),
       ],
-   q(3352) => [
+   q(3354) => [
       q(Keapara),
       ],
-   q(3353) => [
+   q(3355) => [
       q(Kim),
       ],
-   q(3354) => [
+   q(3356) => [
       q(Koalib),
       ],
-   q(3355) => [
+   q(3357) => [
       q(Kickapoo),
       ],
-   q(3356) => [
+   q(3358) => [
       q(Koshin),
       ],
-   q(3357) => [
+   q(3359) => [
       q(Kibet),
       ],
-   q(3358) => [
+   q(3360) => [
       q(Eastern Parbate Kham),
       ],
-   q(3359) => [
+   q(3361) => [
       q(Kimaama),
       q(Kimaghima),
       ],
-   q(3360) => [
+   q(3362) => [
       q(Kilmeri),
       ],
-   q(3361) => [
+   q(3363) => [
       q(Kitsai),
       ],
-   q(3362) => [
+   q(3364) => [
       q(Kilivila),
       ],
-   q(3363) => [
+   q(3365) => [
       q(Kariya),
       ],
-   q(3364) => [
+   q(3366) => [
       q(Karagas),
       ],
-   q(3365) => [
+   q(3367) => [
       q(Kiowa),
       ],
-   q(3366) => [
+   q(3368) => [
       q(Sheshi Kham),
       ],
-   q(3367) => [
+   q(3369) => [
       q(Kosadle),
       q(Kosare),
       ],
-   q(3368) => [
+   q(3370) => [
       q(Kis),
       ],
-   q(3369) => [
+   q(3371) => [
       q(Agob),
       ],
-   q(3370) => [
+   q(3372) => [
       q(Kirmanjki (individual language)),
       ],
-   q(3371) => [
+   q(3373) => [
       q(Kimbu),
       ],
-   q(3372) => [
+   q(3374) => [
       q(Northeast Kiwai),
       ],
-   q(3373) => [
+   q(3375) => [
       q(Khiamniungan Naga),
       ],
-   q(3374) => [
+   q(3376) => [
       q(Kirikiri),
       ],
-   q(3375) => [
+   q(3377) => [
       q(Kisi),
       ],
-   q(3376) => [
+   q(3378) => [
       q(Mlap),
       ],
-   q(3377) => [
+   q(3379) => [
       q(Q'anjob'al),
       q(Kanjobal),
       ],
-   q(3378) => [
+   q(3380) => [
       q(Coastal Konjo),
       ],
-   q(3379) => [
+   q(3381) => [
       q(Southern Kiwai),
       ],
-   q(3380) => [
+   q(3382) => [
       q(Kisar),
       ],
-   q(3381) => [
+   q(3383) => [
       q(Khalaj),
       ],
-   q(3382) => [
+   q(3384) => [
       q(Khmu),
       ],
-   q(3383) => [
+   q(3385) => [
       q(Khakas),
       ],
-   q(3384) => [
+   q(3386) => [
       q(Zabana),
       ],
-   q(3385) => [
+   q(3387) => [
       q(Khinalugh),
       ],
-   q(3386) => [
+   q(3388) => [
       q(Highland Konjo),
       ],
-   q(3387) => [
+   q(3389) => [
       q(Western Parbate Kham),
       ],
-   q(3388) => [
+   q(3390) => [
       q(Khang),
       ],
-   q(3389) => [
+   q(3391) => [
       q(Kunjen),
       ],
-   q(3390) => [
+   q(3392) => [
       q(Harijan Kinnauri),
       ],
-   q(3391) => [
+   q(3393) => [
       q(Pwo Eastern Karen),
       ],
-   q(3392) => [
+   q(3394) => [
       q(Western Keres),
       ],
-   q(3393) => [
+   q(3395) => [
       q(Kurudu),
       ],
-   q(3394) => [
+   q(3396) => [
       q(East Kewa),
       ],
-   q(3395) => [
+   q(3397) => [
       q(Phrae Pwo Karen),
       ],
-   q(3396) => [
+   q(3398) => [
       q(Kashaya),
       ],
-   q(3397) => [
+   q(3399) => [
       q(Kaikavian Literary Language),
       ],
-   q(3398) => [
+   q(3400) => [
       q(Ramopa),
       ],
-   q(3399) => [
+   q(3401) => [
       q(Erave),
       ],
-   q(3400) => [
+   q(3402) => [
       q(Bumthangkha),
       ],
-   q(3401) => [
+   q(3403) => [
       q(Kakanda),
       ],
-   q(3402) => [
+   q(3404) => [
       q(Kwerisa),
       ],
-   q(3403) => [
+   q(3405) => [
       q(Odoodee),
       ],
-   q(3404) => [
+   q(3406) => [
       q(Kinuku),
       ],
-   q(3405) => [
+   q(3407) => [
       q(Kakabe),
       ],
-   q(3406) => [
+   q(3408) => [
       q(Kalaktang Monpa),
       ],
-   q(3407) => [
+   q(3409) => [
       q(Mabaka Valley Kalinga),
       ],
-   q(3408) => [
+   q(3410) => [
       q(Khun),
       ],
-   q(3409) => [
+   q(3411) => [
       q(Kagulu),
       ],
-   q(3410) => [
+   q(3412) => [
       q(Kako),
       ],
-   q(3411) => [
+   q(3413) => [
       q(Kokota),
       ],
-   q(3412) => [
+   q(3414) => [
       q(Kosarek Yale),
       ],
-   q(3413) => [
+   q(3415) => [
       q(Kiong),
       ],
-   q(3414) => [
+   q(3416) => [
       q(Kon Keu),
       ],
-   q(3415) => [
+   q(3417) => [
       q(Karko),
       ],
-   q(3416) => [
+   q(3418) => [
       q(Gugubera),
       ],
-   q(3417) => [
+   q(3419) => [
       q(Kaiku),
       ],
-   q(3418) => [
+   q(3420) => [
       q(Kir-Balar),
       ],
-   q(3419) => [
+   q(3421) => [
       q(Giiwo),
       ],
-   q(3420) => [
+   q(3422) => [
       q(Koi),
       ],
-   q(3421) => [
+   q(3423) => [
       q(Tumi),
       ],
-   q(3422) => [
+   q(3424) => [
       q(Kangean),
       ],
-   q(3423) => [
+   q(3425) => [
       q(Teke-Kukuya),
       ],
-   q(3424) => [
+   q(3426) => [
       q(Kohin),
       ],
-   q(3425) => [
+   q(3427) => [
       q(Guguyimidjir),
       ],
-   q(3426) => [
+   q(3428) => [
       q(Kaska),
       ],
-   q(3427) => [
+   q(3429) => [
       q(Klamath-Modoc),
       ],
-   q(3428) => [
+   q(3430) => [
       q(Kiliwa),
       ],
-   q(3429) => [
+   q(3431) => [
       q(Kolbila),
       ],
-   q(3430) => [
+   q(3432) => [
       q(Gamilaraay),
       ],
-   q(3431) => [
+   q(3433) => [
       q(Kulung (Nepal)),
       ],
-   q(3432) => [
+   q(3434) => [
       q(Kendeje),
       ],
-   q(3433) => [
+   q(3435) => [
       q(Tagakaulo),
       ],
-   q(3434) => [
+   q(3436) => [
       q(Weliki),
       ],
-   q(3435) => [
+   q(3437) => [
       q(Kalumpang),
       ],
-   q(3436) => [
+   q(3438) => [
       q(Turkic Khalaj),
       ],
-   q(3437) => [
+   q(3439) => [
       q(Kono (Nigeria)),
       ],
-   q(3438) => [
+   q(3440) => [
       q(Kagan Kalagan),
       ],
-   q(3439) => [
+   q(3441) => [
       q(Migum),
       ],
-   q(3440) => [
+   q(3442) => [
       q(Kalenjin),
       ],
-   q(3441) => [
+   q(3443) => [
       q(Kapya),
       ],
-   q(3442) => [
+   q(3444) => [
       q(Kamasa),
       ],
-   q(3443) => [
+   q(3445) => [
       q(Rumu),
       ],
-   q(3444) => [
+   q(3446) => [
       q(Khaling),
       ],
-   q(3445) => [
+   q(3447) => [
       q(Kalasha),
       ],
-   q(3446) => [
+   q(3448) => [
       q(Nukna),
       ],
-   q(3447) => [
+   q(3449) => [
       q(Klao),
       ],
-   q(3448) => [
+   q(3450) => [
       q(Maskelynes),
       ],
-   q(3449) => [
+   q(3451) => [
       q(Lindu),
       ],
-   q(3450) => [
+   q(3452) => [
       q(Koluwawa),
       ],
-   q(3451) => [
+   q(3453) => [
       q(Kalao),
       ],
-   q(3452) => [
+   q(3454) => [
       q(Kabola),
       ],
-   q(3453) => [
+   q(3455) => [
       q(Konni),
       ],
-   q(3454) => [
+   q(3456) => [
       q(Southern Dong),
       ],
-   q(3455) => [
+   q(3457) => [
       q(Majukayang Kalinga),
       ],
-   q(3456) => [
+   q(3458) => [
       q(Bakole),
       ],
-   q(3457) => [
+   q(3459) => [
       q(Kare (Papua New Guinea)),
       ],
-   q(3458) => [
+   q(3460) => [
       q(Kate),
       ],
-   q(3459) => [
+   q(3461) => [
       q(Kalam),
       ],
-   q(3460) => [
+   q(3462) => [
       q(Kami (Nigeria)),
       ],
-   q(3461) => [
+   q(3463) => [
       q(Kumarbhag Paharia),
       ],
-   q(3462) => [
+   q(3464) => [
       q(Limos Kalinga),
       ],
-   q(3463) => [
+   q(3465) => [
       q(Tanudan Kalinga),
       ],
-   q(3464) => [
+   q(3466) => [
       q(Kom (India)),
       ],
-   q(3465) => [
+   q(3467) => [
       q(Awtuw),
       ],
-   q(3466) => [
+   q(3468) => [
       q(Kwoma),
       ],
-   q(3467) => [
+   q(3469) => [
       q(Gimme),
       ],
-   q(3468) => [
+   q(3470) => [
       q(Kwama),
       ],
-   q(3469) => [
+   q(3471) => [
       q(Northern Kurdish),
       ],
-   q(3470) => [
+   q(3472) => [
       q(Kamasau),
       ],
-   q(3471) => [
+   q(3473) => [
       q(Kemtuik),
       ],
-   q(3472) => [
+   q(3474) => [
       q(Kanite),
       ],
-   q(3473) => [
+   q(3475) => [
       q(Karipuna Creole French),
       ],
-   q(3474) => [
+   q(3476) => [
       q(Komo (Democratic Republic of Congo)),
       ],
-   q(3475) => [
+   q(3477) => [
       q(Waboda),
       ],
-   q(3476) => [
+   q(3478) => [
       q(Koma),
       ],
-   q(3477) => [
+   q(3479) => [
       q(Khorasani Turkish),
       ],
-   q(3478) => [
+   q(3480) => [
       q(Dera (Nigeria)),
       ],
-   q(3479) => [
+   q(3481) => [
       q(Lubuagan Kalinga),
       ],
-   q(3480) => [
+   q(3482) => [
       q(Central Kanuri),
       ],
-   q(3481) => [
+   q(3483) => [
       q(Konda),
       ],
-   q(3482) => [
+   q(3484) => [
       q(Kankanaey),
       ],
-   q(3483) => [
+   q(3485) => [
       q(Mankanya),
       ],
-   q(3484) => [
+   q(3486) => [
       q(Koongo),
       ],
-   q(3485) => [
+   q(3487) => [
       q(Kanufi),
       ],
-   q(3486) => [
+   q(3488) => [
       q(Western Kanjobal),
       ],
-   q(3487) => [
+   q(3489) => [
       q(Kuranko),
       ],
-   q(3488) => [
+   q(3490) => [
       q(Keninjal),
       ],
-   q(3489) => [
+   q(3491) => [
       q(Kanamari),
       ],
-   q(3490) => [
+   q(3492) => [
       q(Konkani (individual language)),
       ],
-   q(3491) => [
+   q(3493) => [
       q(Kono (Sierra Leone)),
       ],
-   q(3492) => [
+   q(3494) => [
       q(Kwanja),
       ],
-   q(3493) => [
+   q(3495) => [
       q(Kintaq),
       ],
-   q(3494) => [
+   q(3496) => [
       q(Kaningra),
       ],
-   q(3495) => [
+   q(3497) => [
       q(Kensiu),
       ],
-   q(3496) => [
+   q(3498) => [
       q(Panoan Katukina),
       ],
-   q(3497) => [
+   q(3499) => [
       q(Kono (Guinea)),
       ],
-   q(3498) => [
+   q(3500) => [
       q(Tabo),
       ],
-   q(3499) => [
+   q(3501) => [
       q(Kung-Ekoka),
       ],
-   q(3500) => [
+   q(3502) => [
       q(Kendayan),
       q(Salako),
       ],
-   q(3501) => [
+   q(3503) => [
       q(Kanyok),
       ],
-   q(3502) => [
+   q(3504) => [
       q(Kalamse),
       ],
-   q(3503) => [
+   q(3505) => [
       q(Konomala),
       ],
-   q(3504) => [
+   q(3506) => [
       q(Kpati),
       ],
-   q(3505) => [
+   q(3507) => [
       q(Kodi),
       ],
-   q(3506) => [
+   q(3508) => [
       q(Kacipo-Balesi),
       ],
-   q(3507) => [
+   q(3509) => [
       q(Kubi),
       ],
-   q(3508) => [
+   q(3510) => [
       q(Cogui),
       q(Kogi),
       ],
-   q(3509) => [
+   q(3511) => [
       q(Koyo),
       ],
-   q(3510) => [
+   q(3512) => [
       q(Komi-Permyak),
       ],
-   q(3511) => [
+   q(3513) => [
       q(Kol (Papua New Guinea)),
       ],
-   q(3512) => [
+   q(3514) => [
       q(Konzo),
       ],
-   q(3513) => [
+   q(3515) => [
       q(Waube),
       ],
-   q(3514) => [
+   q(3516) => [
       q(Kota (Gabon)),
       ],
-   q(3515) => [
+   q(3517) => [
       q(Lagwan),
       ],
-   q(3516) => [
+   q(3518) => [
       q(Koke),
       ],
-   q(3517) => [
+   q(3519) => [
       q(Kudu-Camo),
       ],
-   q(3518) => [
+   q(3520) => [
       q(Kugama),
       ],
-   q(3519) => [
+   q(3521) => [
       q(Coxima),
       ],
-   q(3520) => [
+   q(3522) => [
       q(Koyukon),
       ],
-   q(3521) => [
+   q(3523) => [
       q(Korak),
       ],
-   q(3522) => [
+   q(3524) => [
       q(Kutto),
       ],
-   q(3523) => [
+   q(3525) => [
       q(Mullu Kurumba),
       ],
-   q(3524) => [
+   q(3526) => [
       q(Curripaco),
       ],
-   q(3525) => [
+   q(3527) => [
       q(Koba),
       ],
-   q(3526) => [
+   q(3528) => [
       q(Komba),
       ],
-   q(3527) => [
+   q(3529) => [
       q(Kapingamarangi),
       ],
-   q(3528) => [
+   q(3530) => [
       q(Kplang),
       ],
-   q(3529) => [
+   q(3531) => [
       q(Kofei),
       ],
-   q(3530) => [
+   q(3532) => [
       q(Karaja),
       ],
-   q(3531) => [
+   q(3533) => [
       q(Kpan),
       ],
-   q(3532) => [
+   q(3534) => [
       q(Kpala),
       ],
-   q(3533) => [
+   q(3535) => [
       q(Koho),
       ],
-   q(3534) => [
+   q(3536) => [
       q(Kepkiriwat),
       ],
-   q(3535) => [
+   q(3537) => [
       q(Ikposo),
       ],
-   q(3536) => [
+   q(3538) => [
       q(Korupun-Sela),
       ],
-   q(3537) => [
+   q(3539) => [
       q(Korafe-Yegha),
       ],
-   q(3538) => [
+   q(3540) => [
       q(Tehit),
       ],
-   q(3539) => [
+   q(3541) => [
       q(Karata),
       ],
-   q(3540) => [
+   q(3542) => [
       q(Kafoa),
       ],
-   q(3541) => [
+   q(3543) => [
       q(Komi-Zyrian),
       ],
-   q(3542) => [
+   q(3544) => [
       q(Kobon),
       ],
-   q(3543) => [
+   q(3545) => [
       q(Mountain Koiali),
       ],
-   q(3544) => [
+   q(3546) => [
       q(Koryak),
       ],
-   q(3545) => [
+   q(3547) => [
       q(Kupsabiny),
       ],
-   q(3546) => [
+   q(3548) => [
       q(Mum),
       ],
-   q(3547) => [
+   q(3549) => [
       q(Kovai),
       ],
-   q(3548) => [
+   q(3550) => [
       q(Doromu-Koki),
       ],
-   q(3549) => [
+   q(3551) => [
       q(Koy Sanjaq Surat),
       ],
-   q(3550) => [
+   q(3552) => [
       q(Kalagan),
       ],
-   q(3551) => [
+   q(3553) => [
       q(Kakabai),
       ],
-   q(3552) => [
+   q(3554) => [
       q(Khe),
       ],
-   q(3553) => [
+   q(3555) => [
       q(Kisankasa),
       ],
-   q(3554) => [
+   q(3556) => [
       q(Koitabu),
       ],
-   q(3555) => [
+   q(3557) => [
       q(Koromira),
       ],
-   q(3556) => [
+   q(3558) => [
       q(Kotafon Gbe),
       ],
-   q(3557) => [
+   q(3559) => [
       q(Kyenele),
       ],
-   q(3558) => [
+   q(3560) => [
       q(Khisa),
       ],
-   q(3559) => [
+   q(3561) => [
       q(Kaonde),
       ],
-   q(3560) => [
+   q(3562) => [
       q(Eastern Krahn),
       ],
-   q(3561) => [
+   q(3563) => [
       q(Kimre),
       ],
-   q(3562) => [
+   q(3564) => [
       q(Krenak),
       ],
-   q(3563) => [
+   q(3565) => [
       q(Kimaragang),
       ],
-   q(3564) => [
+   q(3566) => [
       q(Northern Kissi),
       ],
-   q(3565) => [
+   q(3567) => [
       q(Klias River Kadazan),
       ],
-   q(3566) => [
+   q(3568) => [
       q(Seroa),
       ],
-   q(3567) => [
+   q(3569) => [
       q(Okolod),
       ],
-   q(3568) => [
+   q(3570) => [
       q(Kandas),
       ],
-   q(3569) => [
+   q(3571) => [
       q(Mser),
       ],
-   q(3570) => [
+   q(3572) => [
       q(Koorete),
       ],
-   q(3571) => [
+   q(3573) => [
       q(Korana),
       ],
-   q(3572) => [
+   q(3574) => [
       q(Kumhali),
       ],
-   q(3573) => [
+   q(3575) => [
       q(Karkin),
       ],
-   q(3574) => [
+   q(3576) => [
       q(Kairui-Midiki),
       ],
-   q(3575) => [
+   q(3577) => [
       q(Panara),
       ],
-   q(3576) => [
+   q(3578) => [
       q(Koro (Vanuatu)),
       ],
-   q(3577) => [
+   q(3579) => [
       q(Kurama),
       ],
-   q(3578) => [
+   q(3580) => [
       q(Krio),
       ],
-   q(3579) => [
+   q(3581) => [
       q(Kinaray-A),
       ],
-   q(3580) => [
+   q(3582) => [
       q(Kerek),
       ],
-   q(3581) => [
+   q(3583) => [
       q(Krim),
       ],
-   q(3582) => [
+   q(3584) => [
       q(Sapo),
       ],
-   q(3583) => [
+   q(3585) => [
       q(Korop),
       ],
-   q(3584) => [
+   q(3586) => [
       q(Kru'ng 2),
       ],
-   q(3585) => [
+   q(3587) => [
       q(Gbaya (Sudan)),
       ],
-   q(3586) => [
+   q(3588) => [
       q(Tumari Kanuri),
       ],
-   q(3587) => [
+   q(3589) => [
       q(Kavet),
       ],
-   q(3588) => [
+   q(3590) => [
       q(Western Krahn),
       ],
-   q(3589) => [
+   q(3591) => [
       q(Karon),
       ],
-   q(3590) => [
+   q(3592) => [
       q(Kryts),
       ],
-   q(3591) => [
+   q(3593) => [
       q(Sota Kanum),
       ],
-   q(3592) => [
+   q(3594) => [
       q(Shuwa-Zamani),
       ],
-   q(3593) => [
+   q(3595) => [
       q(Shambala),
       ],
-   q(3594) => [
+   q(3596) => [
       q(Southern Kalinga),
       ],
-   q(3595) => [
+   q(3597) => [
       q(Kuanua),
       ],
-   q(3596) => [
+   q(3598) => [
       q(Kuni),
       ],
-   q(3597) => [
+   q(3599) => [
       q(Bafia),
       ],
-   q(3598) => [
+   q(3600) => [
       q(Kusaghe),
       ],
-   q(3599) => [
+   q(3601) => [
       q(Kolsch),
       ],
-   q(3600) => [
+   q(3602) => [
       q(Krisa),
       q(I'saka),
       ],
-   q(3601) => [
+   q(3603) => [
       q(Uare),
       ],
-   q(3602) => [
+   q(3604) => [
       q(Kansa),
       ],
-   q(3603) => [
+   q(3605) => [
       q(Kumalu),
       ],
-   q(3604) => [
+   q(3606) => [
       q(Kumba),
       ],
-   q(3605) => [
+   q(3607) => [
       q(Kasiguranin),
       ],
-   q(3606) => [
+   q(3608) => [
       q(Kofa),
       ],
-   q(3607) => [
+   q(3609) => [
       q(Kaba),
       ],
-   q(3608) => [
+   q(3610) => [
       q(Kwaami),
       ],
-   q(3609) => [
+   q(3611) => [
       q(Borong),
       ],
-   q(3610) => [
+   q(3612) => [
       q(Southern Kisi),
       ],
-   q(3611) => [
+   q(3613) => [
       q(Winye),
       ],
-   q(3612) => [
+   q(3614) => [
       q(Khamyang),
       ],
-   q(3613) => [
+   q(3615) => [
       q(Kusu),
       ],
-   q(3614) => [
+   q(3616) => [
       q(S'gaw Karen),
       ],
-   q(3615) => [
+   q(3617) => [
       q(Kedang),
       ],
-   q(3616) => [
+   q(3618) => [
       q(Kharia Thar),
       ],
-   q(3617) => [
+   q(3619) => [
       q(Kodaku),
       ],
-   q(3618) => [
+   q(3620) => [
       q(Katua),
       ],
-   q(3619) => [
+   q(3621) => [
       q(Kambaata),
       ],
-   q(3620) => [
+   q(3622) => [
       q(Kholok),
       ],
-   q(3621) => [
+   q(3623) => [
       q(Kokata),
       ],
-   q(3622) => [
+   q(3624) => [
       q(Nubri),
       ],
-   q(3623) => [
+   q(3625) => [
       q(Kwami),
       ],
-   q(3624) => [
+   q(3626) => [
       q(Kalkutung),
       ],
-   q(3625) => [
+   q(3627) => [
       q(Karanga),
       ],
-   q(3626) => [
+   q(3628) => [
       q(North Muyu),
       ],
-   q(3627) => [
+   q(3629) => [
       q(Plapo Krumen),
       ],
-   q(3628) => [
+   q(3630) => [
       q(Kaniet),
       ],
-   q(3629) => [
+   q(3631) => [
       q(Koroshi),
       ],
-   q(3630) => [
+   q(3632) => [
       q(Kurti),
       ],
-   q(3631) => [
+   q(3633) => [
       q(Karitiana),
       ],
-   q(3632) => [
+   q(3634) => [
       q(Kuot),
       ],
-   q(3633) => [
+   q(3635) => [
       q(Kaduo),
       ],
-   q(3634) => [
+   q(3636) => [
       q(Katabaga),
       ],
-   q(3635) => [
+   q(3637) => [
       q(Kota Marudu Tinagas),
       ],
-   q(3636) => [
+   q(3638) => [
       q(South Muyu),
       ],
-   q(3637) => [
+   q(3639) => [
       q(Ketum),
       ],
-   q(3638) => [
+   q(3640) => [
       q(Kituba (Democratic Republic of Congo)),
       ],
-   q(3639) => [
+   q(3641) => [
       q(Eastern Katu),
       ],
-   q(3640) => [
+   q(3642) => [
       q(Kato),
       ],
-   q(3641) => [
+   q(3643) => [
       q(Kaxarari),
       ],
-   q(3642) => [
+   q(3644) => [
       q(Kango (Bas-Uele District)),
       ],
-   q(3643) => [
+   q(3645) => [
       q(Ju/'hoan),
       q(Juhoan),
       ],
-   q(3644) => [
+   q(3646) => [
       q(Kutep),
       ],
-   q(3645) => [
+   q(3647) => [
       q(Kwinsu),
       ],
-   q(3646) => [
+   q(3648) => [
       q('Auhelawa),
       ],
-   q(3647) => [
+   q(3649) => [
       q(Kuman (Papua New Guinea)),
       ],
-   q(3648) => [
+   q(3650) => [
       q(Western Katu),
       ],
-   q(3649) => [
+   q(3651) => [
       q(Kupa),
       ],
-   q(3650) => [
+   q(3652) => [
       q(Kushi),
       ],
-   q(3651) => [
+   q(3653) => [
       q(Kuikuro-Kalapalo),
       ],
-   q(3652) => [
+   q(3654) => [
       q(Kuria),
       ],
-   q(3653) => [
+   q(3655) => [
       q(Kepo'),
       ],
-   q(3654) => [
+   q(3656) => [
       q(Kulere),
       ],
-   q(3655) => [
+   q(3657) => [
       q(Kunama),
       ],
-   q(3656) => [
+   q(3658) => [
       q(Kumukio),
       ],
-   q(3657) => [
+   q(3659) => [
       q(Kunimaipa),
       ],
-   q(3658) => [
+   q(3660) => [
       q(Kusaal),
       ],
-   q(3659) => [
+   q(3661) => [
       q(Upper Kuskokwim),
       ],
-   q(3660) => [
+   q(3662) => [
       q(Kur),
       ],
-   q(3661) => [
+   q(3663) => [
       q(Kpagua),
       ],
-   q(3662) => [
+   q(3664) => [
       q(Kukatja),
       ],
-   q(3663) => [
+   q(3665) => [
       q(Kuuku-Ya'u),
       ],
-   q(3664) => [
+   q(3666) => [
       q(Kunza),
       ],
-   q(3665) => [
+   q(3667) => [
       q(Bagvalal),
       ],
-   q(3666) => [
+   q(3668) => [
       q(Kubu),
       ],
-   q(3667) => [
+   q(3669) => [
       q(Kove),
       ],
-   q(3668) => [
+   q(3670) => [
       q(Kui (Indonesia)),
       ],
-   q(3669) => [
+   q(3671) => [
       q(Kalabakan),
       ],
-   q(3670) => [
+   q(3672) => [
       q(Kabalai),
       ],
-   q(3671) => [
+   q(3673) => [
       q(Kuni-Boazi),
       ],
-   q(3672) => [
+   q(3674) => [
       q(Komodo),
       ],
-   q(3673) => [
+   q(3675) => [
       q(Kwang),
       ],
-   q(3674) => [
+   q(3676) => [
       q(Psikye),
       ],
-   q(3675) => [
+   q(3677) => [
       q(Korean Sign Language),
       ],
-   q(3676) => [
+   q(3678) => [
       q(Kayaw),
       ],
-   q(3677) => [
+   q(3679) => [
       q(Kendem),
       ],
-   q(3678) => [
+   q(3680) => [
       q(Border Kuna),
       ],
-   q(3679) => [
+   q(3681) => [
       q(Dobel),
       ],
-   q(3680) => [
+   q(3682) => [
       q(Kompane),
       ],
-   q(3681) => [
+   q(3683) => [
       q(Geba Karen),
       ],
-   q(3682) => [
+   q(3684) => [
       q(Kerinci),
       ],
-   q(3683) => [
+   q(3685) => [
       q(Kunggara),
       ],
-   q(3684) => [
+   q(3686) => [
       q(Lahta Karen),
       q(Lahta),
       ],
-   q(3685) => [
+   q(3687) => [
       q(Yinbaw Karen),
       ],
-   q(3686) => [
+   q(3688) => [
       q(Kola),
       ],
-   q(3687) => [
+   q(3689) => [
       q(Wersing),
       ],
-   q(3688) => [
+   q(3690) => [
       q(Parkari Koli),
       ],
-   q(3689) => [
+   q(3691) => [
       q(Yintale Karen),
       q(Yintale),
       ],
-   q(3690) => [
+   q(3692) => [
       q(Tsakwambo),
       q(Tsaukambo),
       ],
-   q(3691) => [
+   q(3693) => [
       q(Daw),
       ],
-   q(3692) => [
+   q(3694) => [
       q(Kwa),
       ],
-   q(3693) => [
+   q(3695) => [
       q(Likwala),
       ],
-   q(3694) => [
+   q(3696) => [
       q(Kwaio),
       ],
-   q(3695) => [
+   q(3697) => [
       q(Kwerba),
       ],
-   q(3696) => [
+   q(3698) => [
       q(Kwara'ae),
       ],
-   q(3697) => [
+   q(3699) => [
       q(Sara Kaba Deme),
       ],
-   q(3698) => [
+   q(3700) => [
       q(Kowiai),
       ],
-   q(3699) => [
+   q(3701) => [
       q(Awa-Cuaiquer),
       ],
-   q(3700) => [
+   q(3702) => [
       q(Kwanga),
       ],
-   q(3701) => [
+   q(3703) => [
       q(Kwakiutl),
       ],
-   q(3702) => [
+   q(3704) => [
       q(Kofyar),
       ],
-   q(3703) => [
+   q(3705) => [
       q(Kwambi),
       ],
-   q(3704) => [
+   q(3706) => [
       q(Kwangali),
       ],
-   q(3705) => [
+   q(3707) => [
       q(Kwomtari),
       ],
-   q(3706) => [
+   q(3708) => [
       q(Kodia),
       ],
-   q(3707) => [
+   q(3709) => [
       q(Kwer),
       ],
-   q(3708) => [
+   q(3710) => [
       q(Kwese),
       ],
-   q(3709) => [
+   q(3711) => [
       q(Kwesten),
       ],
-   q(3710) => [
+   q(3712) => [
       q(Kwakum),
       ],
-   q(3711) => [
+   q(3713) => [
       q(Sara Kaba Naa),
       ],
-   q(3712) => [
+   q(3714) => [
       q(Kwinti),
       ],
-   q(3713) => [
+   q(3715) => [
       q(Khirwar),
       ],
-   q(3714) => [
+   q(3716) => [
       q(San Salvador Kongo),
       ],
-   q(3715) => [
+   q(3717) => [
       q(Kwadi),
       ],
-   q(3716) => [
+   q(3718) => [
       q(Kairiru),
       ],
-   q(3717) => [
+   q(3719) => [
       q(Krobu),
       ],
-   q(3718) => [
+   q(3720) => [
       q(Konso),
       q(Khonso),
       ],
-   q(3719) => [
+   q(3721) => [
       q(Brunei),
       ],
-   q(3720) => [
+   q(3722) => [
       q(Manumanaw Karen),
       q(Manumanaw),
       ],
-   q(3721) => [
+   q(3723) => [
       q(Karo (Ethiopia)),
       ],
-   q(3722) => [
+   q(3724) => [
       q(Keningau Murut),
       ],
-   q(3723) => [
+   q(3725) => [
       q(Kulfa),
       ],
-   q(3724) => [
+   q(3726) => [
       q(Zayein Karen),
       ],
-   q(3725) => [
+   q(3727) => [
       q(Nepali Kurux),
       ],
-   q(3726) => [
+   q(3728) => [
       q(Northern Khmer),
       ],
-   q(3727) => [
+   q(3729) => [
       q(Kanowit-Tanjong Melanau),
       ],
-   q(3728) => [
+   q(3730) => [
       q(Kanoe),
       ],
-   q(3729) => [
+   q(3731) => [
       q(Wadiyara Koli),
       ],
-   q(3730) => [
+   q(3732) => [
       q(Smarky Kanum),
       ],
-   q(3731) => [
+   q(3733) => [
       q(Koro (Papua New Guinea)),
       ],
-   q(3732) => [
+   q(3734) => [
       q(Kangjia),
       ],
-   q(3733) => [
+   q(3735) => [
       q(Koiwat),
       ],
-   q(3734) => [
+   q(3736) => [
       q(Kui (India)),
       ],
-   q(3735) => [
+   q(3737) => [
       q(Kuvi),
       ],
-   q(3736) => [
+   q(3738) => [
       q(Konai),
       ],
-   q(3737) => [
+   q(3739) => [
       q(Likuba),
       ],
-   q(3738) => [
+   q(3740) => [
       q(Kayong),
       ],
-   q(3739) => [
+   q(3741) => [
       q(Kerewo),
       ],
-   q(3740) => [
+   q(3742) => [
       q(Kwaya),
       ],
-   q(3741) => [
+   q(3743) => [
       q(Butbut Kalinga),
       ],
-   q(3742) => [
+   q(3744) => [
       q(Kyaka),
       ],
-   q(3743) => [
+   q(3745) => [
       q(Karey),
       ],
-   q(3744) => [
+   q(3746) => [
       q(Krache),
       ],
-   q(3745) => [
+   q(3747) => [
       q(Kouya),
       ],
-   q(3746) => [
+   q(3748) => [
       q(Keyagana),
       ],
-   q(3747) => [
+   q(3749) => [
       q(Karok),
       ],
-   q(3748) => [
+   q(3750) => [
       q(Kiput),
       ],
-   q(3749) => [
+   q(3751) => [
       q(Karao),
       ],
-   q(3750) => [
+   q(3752) => [
       q(Kamayo),
       ],
-   q(3751) => [
+   q(3753) => [
       q(Kalapuya),
       ],
-   q(3752) => [
+   q(3754) => [
       q(Kpatili),
       ],
-   q(3753) => [
+   q(3755) => [
       q(Northern Binukidnon),
       ],
-   q(3754) => [
+   q(3756) => [
       q(Kelon),
       ],
-   q(3755) => [
+   q(3757) => [
       q(Kang),
       ],
-   q(3756) => [
+   q(3758) => [
       q(Kenga),
       ],
-   q(3757) => [
+   q(3759) => [
       q(Kuruaya),
       ],
-   q(3758) => [
+   q(3760) => [
       q(Baram Kayan),
       ],
-   q(3759) => [
+   q(3761) => [
       q(Kayagar),
       ],
-   q(3760) => [
+   q(3762) => [
       q(Western Kayah),
       ],
-   q(3761) => [
+   q(3763) => [
       q(Kayort),
       ],
-   q(3762) => [
+   q(3764) => [
       q(Kudmali),
       ],
-   q(3763) => [
+   q(3765) => [
       q(Rapoisi),
       ],
-   q(3764) => [
+   q(3766) => [
       q(Kambaira),
       ],
-   q(3765) => [
+   q(3767) => [
       q(Kayabi),
       ],
-   q(3766) => [
+   q(3768) => [
       q(Western Karaboro),
       ],
-   q(3767) => [
+   q(3769) => [
       q(Kaibobo),
       ],
-   q(3768) => [
+   q(3770) => [
       q(Bondoukou Kulango),
       ],
-   q(3769) => [
+   q(3771) => [
       q(Kadai),
       ],
-   q(3770) => [
+   q(3772) => [
       q(Kosena),
       ],
-   q(3771) => [
+   q(3773) => [
       q(Da'a Kaili),
       ],
-   q(3772) => [
+   q(3774) => [
       q(Kikai),
       ],
-   q(3773) => [
+   q(3775) => [
       q(Kelabit),
       ],
-   q(3774) => [
+   q(3776) => [
       q(Coastal Kadazan),
       ],
-   q(3775) => [
+   q(3777) => [
       q(Kazukuru),
       ],
-   q(3776) => [
+   q(3778) => [
       q(Kayeli),
       ],
-   q(3777) => [
+   q(3779) => [
       q(Kais),
       ],
-   q(3778) => [
+   q(3780) => [
       q(Kokola),
       ],
-   q(3779) => [
+   q(3781) => [
       q(Kaningi),
       ],
-   q(3780) => [
+   q(3782) => [
       q(Kaidipang),
       ],
-   q(3781) => [
+   q(3783) => [
       q(Kaike),
       ],
-   q(3782) => [
+   q(3784) => [
       q(Karang),
       ],
-   q(3783) => [
+   q(3785) => [
       q(Sugut Dusun),
       ],
-   q(3784) => [
+   q(3786) => [
       q(Tambunan Dusun),
       ],
-   q(3785) => [
+   q(3787) => [
       q(Kayupulau),
       ],
-   q(3786) => [
+   q(3788) => [
       q(Komyandaret),
       ],
-   q(3787) => [
+   q(3789) => [
       q(Kariri-Xoco),
       ],
-   q(3788) => [
+   q(3790) => [
       q(Kamarian),
       ],
-   q(3789) => [
+   q(3791) => [
       q(Kango (Tshopo District)),
       ],
-   q(3790) => [
+   q(3792) => [
       q(Kalabra),
       ],
-   q(3791) => [
+   q(3793) => [
       q(Southern Subanen),
       ],
-   q(3792) => [
+   q(3794) => [
       q(Linear A),
       ],
-   q(3793) => [
+   q(3795) => [
       q(Lacandon),
       ],
-   q(3794) => [
+   q(3796) => [
       q(Pattani),
       ],
-   q(3795) => [
+   q(3797) => [
       q(Lafofa),
       ],
-   q(3796) => [
+   q(3798) => [
       q(Langi),
       ],
-   q(3797) => [
+   q(3799) => [
       q(Lambya),
       ],
-   q(3798) => [
+   q(3800) => [
       q(Lango (Uganda)),
       ],
-   q(3799) => [
+   q(3801) => [
       q(Laka (Nigeria)),
       ],
-   q(3800) => [
+   q(3802) => [
       q(Lalia),
       ],
-   q(3801) => [
+   q(3803) => [
       q(Laru),
       ],
-   q(3802) => [
+   q(3804) => [
       q(Laka (Chad)),
       ],
-   q(3803) => [
+   q(3805) => [
       q(Qabiao),
       ],
-   q(3804) => [
+   q(3806) => [
       q(Larteh),
       ],
-   q(3805) => [
+   q(3807) => [
       q(Lama (Togo)),
       ],
-   q(3806) => [
+   q(3808) => [
       q(Laba),
       ],
-   q(3807) => [
+   q(3809) => [
       q(Lauje),
       ],
-   q(3808) => [
+   q(3810) => [
       q(Tiwa),
       ],
-   q(3809) => [
+   q(3811) => [
       q(Lama Bai),
       ],
-   q(3810) => [
+   q(3812) => [
       q(Aribwatsa),
       ],
-   q(3811) => [
+   q(3813) => [
       q(Lui),
       ],
-   q(3812) => [
+   q(3814) => [
       q(Label),
       ],
-   q(3813) => [
+   q(3815) => [
       q(Lakkia),
       ],
-   q(3814) => [
+   q(3816) => [
       q(Lak),
       ],
-   q(3815) => [
+   q(3817) => [
       q(Tinani),
       ],
-   q(3816) => [
+   q(3818) => [
       q(Laopang),
       ],
-   q(3817) => [
+   q(3819) => [
       q(La'bi),
       ],
-   q(3818) => [
+   q(3820) => [
       q(Ladakhi),
       ],
-   q(3819) => [
+   q(3821) => [
       q(Central Bontok),
       ],
-   q(3820) => [
+   q(3822) => [
       q(Libon Bikol),
       ],
-   q(3821) => [
+   q(3823) => [
       q(Lodhi),
       ],
-   q(3822) => [
+   q(3824) => [
       q(Lamet),
       ],
-   q(3823) => [
+   q(3825) => [
       q(Laven),
       ],
-   q(3824) => [
+   q(3826) => [
       q(Wampar),
       ],
-   q(3825) => [
+   q(3827) => [
       q(Lohorung),
       ],
-   q(3826) => [
+   q(3828) => [
       q(Libyan Sign Language),
       ],
-   q(3827) => [
+   q(3829) => [
       q(Lachi),
       ],
-   q(3828) => [
+   q(3830) => [
       q(Labu),
       ],
-   q(3829) => [
+   q(3831) => [
       q(Lavatbura-Lamusong),
       ],
-   q(3830) => [
+   q(3832) => [
       q(Tolaki),
       ],
-   q(3831) => [
+   q(3833) => [
       q(Lawangan),
       ],
-   q(3832) => [
+   q(3834) => [
       q(Lamu-Lamu),
       ],
-   q(3833) => [
+   q(3835) => [
       q(Lardil),
       ],
-   q(3834) => [
+   q(3836) => [
       q(Legenyem),
       ],
-   q(3835) => [
+   q(3837) => [
       q(Lola),
       ],
-   q(3836) => [
+   q(3838) => [
       q(Loncong),
       ],
-   q(3837) => [
+   q(3839) => [
       q(Lubu),
       ],
-   q(3838) => [
+   q(3840) => [
       q(Luchazi),
       ],
-   q(3839) => [
+   q(3841) => [
       q(Lisela),
       ],
-   q(3840) => [
+   q(3842) => [
       q(Tungag),
       ],
-   q(3841) => [
+   q(3843) => [
       q(Western Lawa),
       ],
-   q(3842) => [
+   q(3844) => [
       q(Luhu),
       ],
-   q(3843) => [
+   q(3845) => [
       q(Lisabata-Nuniali),
       ],
-   q(3844) => [
+   q(3846) => [
       q(Kla-Dan),
       ],
-   q(3845) => [
+   q(3847) => [
       q(Duya),
       ],
-   q(3846) => [
+   q(3848) => [
       q(Luri),
       ],
-   q(3847) => [
+   q(3849) => [
       q(Lenyima),
       ],
-   q(3848) => [
+   q(3850) => [
       q(Lamja-Dengsa-Tola),
       ],
-   q(3849) => [
+   q(3851) => [
       q(Laari),
       ],
-   q(3850) => [
+   q(3852) => [
       q(Lemoro),
       ],
-   q(3851) => [
+   q(3853) => [
       q(Leelau),
       ],
-   q(3852) => [
+   q(3854) => [
       q(Kaan),
       ],
-   q(3853) => [
+   q(3855) => [
       q(Landoma),
       ],
-   q(3854) => [
+   q(3856) => [
       q(Laadan),
       ],
-   q(3855) => [
+   q(3857) => [
       q(Loo),
       ],
-   q(3856) => [
+   q(3858) => [
       q(Tso),
       ],
-   q(3857) => [
+   q(3859) => [
       q(Lufu),
       ],
-   q(3858) => [
+   q(3860) => [
       q(Lega-Shabunda),
       ],
-   q(3859) => [
+   q(3861) => [
       q(Lala-Bisa),
       ],
-   q(3860) => [
+   q(3862) => [
       q(Leco),
       ],
-   q(3861) => [
+   q(3863) => [
       q(Lendu),
       ],
-   q(3862) => [
+   q(3864) => [
       q(Lyele),
       ],
-   q(3863) => [
+   q(3865) => [
       q(Lelemi),
       ],
-   q(3864) => [
+   q(3866) => [
       q(Lenje),
       ],
-   q(3865) => [
+   q(3867) => [
       q(Lemio),
       ],
-   q(3866) => [
+   q(3868) => [
       q(Lengola),
       ],
-   q(3867) => [
+   q(3869) => [
       q(Leipon),
       ],
-   q(3868) => [
+   q(3870) => [
       q(Lele (Democratic Republic of Congo)),
       ],
-   q(3869) => [
+   q(3871) => [
       q(Nomaande),
       ],
-   q(3870) => [
+   q(3872) => [
       q(Lenca),
       ],
-   q(3871) => [
+   q(3873) => [
       q(Leti (Cameroon)),
       ],
-   q(3872) => [
+   q(3874) => [
       q(Lepcha),
       ],
-   q(3873) => [
+   q(3875) => [
       q(Lembena),
       ],
-   q(3874) => [
+   q(3876) => [
       q(Lenkau),
       ],
-   q(3875) => [
+   q(3877) => [
       q(Lese),
       ],
-   q(3876) => [
+   q(3878) => [
       q(Lesing-Gelimi),
       q(Amio-Gelimi),
       ],
-   q(3877) => [
+   q(3879) => [
       q(Kara (Papua New Guinea)),
       ],
-   q(3878) => [
+   q(3880) => [
       q(Lamma),
       ],
-   q(3879) => [
+   q(3881) => [
       q(Ledo Kaili),
       ],
-   q(3880) => [
+   q(3882) => [
       q(Luang),
       ],
-   q(3881) => [
+   q(3883) => [
       q(Lemolang),
       ],
-   q(3882) => [
+   q(3884) => [
       q(Lefa),
       ],
-   q(3883) => [
+   q(3885) => [
       q(Lingua Franca Nova),
       ],
-   q(3884) => [
+   q(3886) => [
       q(Lungga),
       ],
-   q(3885) => [
+   q(3887) => [
       q(Laghu),
       ],
-   q(3886) => [
+   q(3888) => [
       q(Lugbara),
       ],
-   q(3887) => [
+   q(3889) => [
       q(Laghuu),
       ],
-   q(3888) => [
+   q(3890) => [
       q(Lengilu),
       ],
-   q(3889) => [
+   q(3891) => [
       q(Lingarak),
       q(Neverver),
       ],
-   q(3890) => [
+   q(3892) => [
       q(Wala),
       ],
-   q(3891) => [
+   q(3893) => [
       q(Lega-Mwenga),
       ],
-   q(3892) => [
+   q(3894) => [
       q(Opuuo),
       ],
-   q(3893) => [
+   q(3895) => [
       q(Logba),
       ],
-   q(3894) => [
+   q(3896) => [
       q(Lengo),
       ],
-   q(3895) => [
+   q(3897) => [
       q(Pahi),
       ],
-   q(3896) => [
+   q(3898) => [
       q(Longgu),
       ],
-   q(3897) => [
+   q(3899) => [
       q(Ligenza),
       ],
-   q(3898) => [
+   q(3900) => [
       q(Laha (Viet Nam)),
       ],
-   q(3899) => [
+   q(3901) => [
       q(Laha (Indonesia)),
       ],
-   q(3900) => [
+   q(3902) => [
       q(Lahu Shi),
       ],
-   q(3901) => [
+   q(3903) => [
       q(Lahul Lohar),
       ],
-   q(3902) => [
+   q(3904) => [
       q(Lhomi),
       ],
-   q(3903) => [
+   q(3905) => [
       q(Lahanan),
       ],
-   q(3904) => [
+   q(3906) => [
       q(Lhokpu),
       ],
-   q(3905) => [
+   q(3907) => [
       q(Mlahso),
       ],
-   q(3906) => [
+   q(3908) => [
       q(Lo-Toga),
       ],
-   q(3907) => [
+   q(3909) => [
       q(Lahu),
       ],
-   q(3908) => [
+   q(3910) => [
       q(West-Central Limba),
       ],
-   q(3909) => [
+   q(3911) => [
       q(Likum),
       ],
-   q(3910) => [
+   q(3912) => [
       q(Hlai),
       ],
-   q(3911) => [
+   q(3913) => [
       q(Nyindrou),
       ],
-   q(3912) => [
+   q(3914) => [
       q(Likila),
       ],
-   q(3913) => [
+   q(3915) => [
       q(Limbu),
       ],
-   q(3914) => [
+   q(3916) => [
       q(Ligbi),
       ],
-   q(3915) => [
+   q(3917) => [
       q(Lihir),
       ],
-   q(3916) => [
+   q(3918) => [
       q(Ligurian),
       ],
-   q(3917) => [
+   q(3919) => [
       q(Lika),
       ],
-   q(3918) => [
+   q(3920) => [
       q(Lillooet),
       ],
-   q(3919) => [
+   q(3921) => [
       q(Liki),
       ],
-   q(3920) => [
+   q(3922) => [
       q(Sekpele),
       ],
-   q(3921) => [
+   q(3923) => [
       q(Libido),
       ],
-   q(3922) => [
+   q(3924) => [
       q(Liberian English),
       ],
-   q(3923) => [
+   q(3925) => [
       q(Lisu),
       ],
-   q(3924) => [
+   q(3926) => [
       q(Logorik),
       ],
-   q(3925) => [
+   q(3927) => [
       q(Liv),
       ],
-   q(3926) => [
+   q(3928) => [
       q(Col),
       ],
-   q(3927) => [
+   q(3929) => [
       q(Liabuku),
       ],
-   q(3928) => [
+   q(3930) => [
       q(Banda-Bambari),
       ],
-   q(3929) => [
+   q(3931) => [
       q(Libinza),
       ],
-   q(3930) => [
+   q(3932) => [
       q(Golpa),
       ],
-   q(3931) => [
+   q(3933) => [
       q(Rampi),
       ],
-   q(3932) => [
+   q(3934) => [
       q(Laiyolo),
       ],
-   q(3933) => [
+   q(3935) => [
       q(Li'o),
       ],
-   q(3934) => [
+   q(3936) => [
       q(Lampung Api),
       ],
-   q(3935) => [
+   q(3937) => [
       q(Yirandali),
       ],
-   q(3936) => [
+   q(3938) => [
       q(Yuru),
       ],
-   q(3937) => [
+   q(3939) => [
       q(Lakalei),
       ],
-   q(3938) => [
+   q(3940) => [
       q(Kabras),
       q(Lukabaras),
       ],
-   q(3939) => [
+   q(3941) => [
       q(Kucong),
       ],
-   q(3940) => [
+   q(3942) => [
       q(Lakonde),
       ],
-   q(3941) => [
+   q(3943) => [
       q(Kenyi),
       ],
-   q(3942) => [
+   q(3944) => [
       q(Lakha),
       ],
-   q(3943) => [
+   q(3945) => [
       q(Laki),
       ],
-   q(3944) => [
+   q(3946) => [
       q(Remun),
       ],
-   q(3945) => [
+   q(3947) => [
       q(Laeko-Libuat),
       ],
-   q(3946) => [
+   q(3948) => [
       q(Kalaamaya),
       ],
-   q(3947) => [
+   q(3949) => [
       q(Lakon),
       q(Vure),
       ],
-   q(3948) => [
+   q(3950) => [
       q(Khayo),
       q(Olukhayo),
       ],
-   q(3949) => [
+   q(3951) => [
       q(Pari),
       ],
-   q(3950) => [
+   q(3952) => [
       q(Kisa),
       q(Olushisa),
       ],
-   q(3951) => [
+   q(3953) => [
       q(Lakota),
       ],
-   q(3952) => [
+   q(3954) => [
       q(Kungkari),
       ],
-   q(3953) => [
+   q(3955) => [
       q(Lokoya),
       ],
-   q(3954) => [
+   q(3956) => [
       q(Lala-Roba),
       ],
-   q(3955) => [
+   q(3957) => [
       q(Lolo),
       ],
-   q(3956) => [
+   q(3958) => [
       q(Lele (Guinea)),
       ],
-   q(3957) => [
+   q(3959) => [
       q(Ladin),
       ],
-   q(3958) => [
+   q(3960) => [
       q(Lele (Papua New Guinea)),
       ],
-   q(3959) => [
+   q(3961) => [
       q(Hermit),
       ],
-   q(3960) => [
+   q(3962) => [
       q(Lole),
       ],
-   q(3961) => [
+   q(3963) => [
       q(Lamu),
       ],
-   q(3962) => [
+   q(3964) => [
       q(Teke-Laali),
       ],
-   q(3963) => [
+   q(3965) => [
       q(Ladji Ladji),
       ],
-   q(3964) => [
+   q(3966) => [
       q(Lelak),
       ],
-   q(3965) => [
+   q(3967) => [
       q(Lilau),
       ],
-   q(3966) => [
+   q(3968) => [
       q(Lasalimu),
       ],
-   q(3967) => [
+   q(3969) => [
       q(Lele (Chad)),
       ],
-   q(3968) => [
+   q(3970) => [
       q(Khlor),
       ],
-   q(3969) => [
+   q(3971) => [
       q(North Efate),
       ],
-   q(3970) => [
+   q(3972) => [
       q(Lolak),
       ],
-   q(3971) => [
+   q(3973) => [
       q(Lithuanian Sign Language),
       ],
-   q(3972) => [
+   q(3974) => [
       q(Lau),
       ],
-   q(3973) => [
+   q(3975) => [
       q(Lauan),
       ],
-   q(3974) => [
+   q(3976) => [
       q(East Limba),
       ],
-   q(3975) => [
+   q(3977) => [
       q(Merei),
       ],
-   q(3976) => [
+   q(3978) => [
       q(Limilngan),
       ],
-   q(3977) => [
+   q(3979) => [
       q(Lumun),
       ],
-   q(3978) => [
+   q(3980) => [
       q(Peve),
       ],
-   q(3979) => [
+   q(3981) => [
       q(South Lembata),
       ],
-   q(3980) => [
+   q(3982) => [
       q(Lamogai),
       ],
-   q(3981) => [
+   q(3983) => [
       q(Lambichhong),
       ],
-   q(3982) => [
+   q(3984) => [
       q(Lombi),
       ],
-   q(3983) => [
+   q(3985) => [
       q(West Lembata),
       ],
-   q(3984) => [
+   q(3986) => [
       q(Lamkang),
       ],
-   q(3985) => [
+   q(3987) => [
       q(Hano),
       ],
-   q(3986) => [
+   q(3988) => [
       q(Lambadi),
       ],
-   q(3987) => [
+   q(3989) => [
       q(Lombard),
       ],
-   q(3988) => [
+   q(3990) => [
       q(Limbum),
       ],
-   q(3989) => [
+   q(3991) => [
       q(Lamatuka),
       ],
-   q(3990) => [
+   q(3992) => [
       q(Lamalera),
       ],
-   q(3991) => [
+   q(3993) => [
       q(Lamenu),
       ],
-   q(3992) => [
+   q(3994) => [
       q(Lomaiviti),
       ],
-   q(3993) => [
+   q(3995) => [
       q(Lake Miwok),
       ],
-   q(3994) => [
+   q(3996) => [
       q(Laimbue),
       ],
-   q(3995) => [
+   q(3997) => [
       q(Lamboya),
       ],
-   q(3996) => [
+   q(3998) => [
       q(Lumbee),
       ],
-   q(3997) => [
+   q(3999) => [
       q(Langbashe),
       ],
-   q(3998) => [
+   q(4000) => [
       q(Mbalanhu),
       ],
-   q(3999) => [
+   q(4001) => [
       q(Lundayeh),
       q(Lun Bawang),
       ],
-   q(4000) => [
+   q(4002) => [
       q(Langobardic),
       ],
-   q(4001) => [
+   q(4003) => [
       q(Lanoh),
       ],
-   q(4002) => [
+   q(4004) => [
       q(Daantanai'),
       ],
-   q(4003) => [
+   q(4005) => [
       q(Leningitij),
       ],
-   q(4004) => [
+   q(4006) => [
       q(South Central Banda),
       ],
-   q(4005) => [
+   q(4007) => [
       q(Langam),
       ],
-   q(4006) => [
+   q(4008) => [
       q(Lorediakarkar),
       ],
-   q(4007) => [
+   q(4009) => [
       q(Lango (Sudan)),
       ],
-   q(4008) => [
+   q(4010) => [
       q(Lamnso'),
       ],
-   q(4009) => [
+   q(4011) => [
       q(Longuda),
       ],
-   q(4010) => [
+   q(4012) => [
       q(Lanima),
       ],
-   q(4011) => [
+   q(4013) => [
       q(Lonzo),
       ],
-   q(4012) => [
+   q(4014) => [
       q(Loloda),
       ],
-   q(4013) => [
+   q(4015) => [
       q(Lobi),
       ],
-   q(4014) => [
+   q(4016) => [
       q(Inonhan),
       ],
-   q(4015) => [
+   q(4017) => [
       q(Saluan),
       ],
-   q(4016) => [
+   q(4018) => [
       q(Logol),
       ],
-   q(4017) => [
+   q(4019) => [
       q(Logo),
       ],
-   q(4018) => [
+   q(4020) => [
       q(Narim),
       ],
-   q(4019) => [
+   q(4021) => [
       q(Loma (Cote d'Ivoire)),
       ],
-   q(4020) => [
+   q(4022) => [
       q(Lou),
       ],
-   q(4021) => [
+   q(4023) => [
       q(Loko),
       ],
-   q(4022) => [
+   q(4024) => [
       q(Loma (Liberia)),
       ],
-   q(4023) => [
+   q(4025) => [
       q(Malawi Lomwe),
       ],
-   q(4024) => [
+   q(4026) => [
       q(Lombo),
       ],
-   q(4025) => [
+   q(4027) => [
       q(Lopa),
       ],
-   q(4026) => [
+   q(4028) => [
       q(Lobala),
       ],
-   q(4027) => [
+   q(4029) => [
       q(Teen),
       ],
-   q(4028) => [
+   q(4030) => [
       q(Loniu),
       ],
-   q(4029) => [
+   q(4031) => [
       q(Otuho),
       ],
-   q(4030) => [
+   q(4032) => [
       q(Louisiana Creole French),
       ],
-   q(4031) => [
+   q(4033) => [
       q(Lopi),
       ],
-   q(4032) => [
+   q(4034) => [
       q(Tampias Lobu),
       ],
-   q(4033) => [
+   q(4035) => [
       q(Loun),
       ],
-   q(4034) => [
+   q(4036) => [
       q(Loke),
       ],
-   q(4035) => [
+   q(4037) => [
       q(Lelepa),
       ],
-   q(4036) => [
+   q(4038) => [
       q(Lepki),
       ],
-   q(4037) => [
+   q(4039) => [
       q(Long Phuri Naga),
       ],
-   q(4038) => [
+   q(4040) => [
       q(Lipo),
       ],
-   q(4039) => [
+   q(4041) => [
       q(Lopit),
       ],
-   q(4040) => [
+   q(4042) => [
       q(Rara Bakati'),
       ],
-   q(4041) => [
+   q(4043) => [
       q(Northern Luri),
       ],
-   q(4042) => [
+   q(4044) => [
       q(Laurentian),
       ],
-   q(4043) => [
+   q(4045) => [
       q(Laragia),
       ],
-   q(4044) => [
+   q(4046) => [
       q(Marachi),
       q(Olumarachi),
       ],
-   q(4045) => [
+   q(4047) => [
       q(Loarki),
       ],
-   q(4046) => [
+   q(4048) => [
       q(Lari),
       ],
-   q(4047) => [
+   q(4049) => [
       q(Marama),
       q(Olumarama),
       ],
-   q(4048) => [
+   q(4050) => [
       q(Lorang),
       ],
-   q(4049) => [
+   q(4051) => [
       q(Laro),
       ],
-   q(4050) => [
+   q(4052) => [
       q(Southern Yamphu),
       ],
-   q(4051) => [
+   q(4053) => [
       q(Larantuka Malay),
       ],
-   q(4052) => [
+   q(4054) => [
       q(Larevat),
       ],
-   q(4053) => [
+   q(4055) => [
       q(Lemerig),
       ],
-   q(4054) => [
+   q(4056) => [
       q(Lasgerdi),
       ],
-   q(4055) => [
+   q(4057) => [
       q(Lishana Deni),
       ],
-   q(4056) => [
+   q(4058) => [
       q(Lusengo),
       ],
-   q(4057) => [
+   q(4059) => [
       q(Lyons Sign Language),
       ],
-   q(4058) => [
+   q(4060) => [
       q(Lish),
       ],
-   q(4059) => [
+   q(4061) => [
       q(Lashi),
       ],
-   q(4060) => [
+   q(4062) => [
       q(Latvian Sign Language),
       ],
-   q(4061) => [
+   q(4063) => [
       q(Saamia),
       q(Olusamia),
       ],
-   q(4062) => [
+   q(4064) => [
       q(Laos Sign Language),
       ],
-   q(4063) => [
+   q(4065) => [
       q(Panamanian Sign Language),
       q(Lengua de Senas Panamenas),
       ],
-   q(4064) => [
+   q(4066) => [
       q(Aruop),
       ],
-   q(4065) => [
+   q(4067) => [
       q(Lasi),
       ],
-   q(4066) => [
+   q(4068) => [
       q(Trinidad and Tobago Sign Language),
       ],
-   q(4067) => [
+   q(4069) => [
       q(Mauritian Sign Language),
       ],
-   q(4068) => [
+   q(4070) => [
       q(Late Middle Chinese),
       ],
-   q(4069) => [
+   q(4071) => [
       q(Latgalian),
       ],
-   q(4070) => [
+   q(4072) => [
       q(Leti (Indonesia)),
       ],
-   q(4071) => [
+   q(4073) => [
       q(Latunde),
       ],
-   q(4072) => [
+   q(4074) => [
       q(Tsotso),
       q(Olutsotso),
       ],
-   q(4073) => [
+   q(4075) => [
       q(Tachoni),
       q(Lutachoni),
       ],
-   q(4074) => [
+   q(4076) => [
       q(Latu),
       ],
-   q(4075) => [
+   q(4077) => [
       q(Aringa),
       ],
-   q(4076) => [
+   q(4078) => [
       q(Ludian),
       ],
-   q(4077) => [
+   q(4079) => [
       q(Luvale),
       ],
-   q(4078) => [
+   q(4080) => [
       q(Laua),
       ],
-   q(4079) => [
+   q(4081) => [
       q(Luna),
       ],
-   q(4080) => [
+   q(4082) => [
       q(Lunanakha),
       ],
-   q(4081) => [
+   q(4083) => [
       q(Olu'bo),
       ],
-   q(4082) => [
+   q(4084) => [
       q(Luimbi),
       ],
-   q(4083) => [
+   q(4085) => [
       q(Lumbu),
       ],
-   q(4084) => [
+   q(4086) => [
       q(Lucumi),
       ],
-   q(4085) => [
+   q(4087) => [
       q(Laura),
       ],
-   q(4086) => [
+   q(4088) => [
       q(Lushootseed),
       ],
-   q(4087) => [
+   q(4089) => [
       q(Lumba-Yakkha),
       ],
-   q(4088) => [
+   q(4090) => [
       q(Luwati),
       ],
-   q(4089) => [
+   q(4091) => [
       q(Luo (Cameroon)),
       ],
-   q(4090) => [
+   q(4092) => [
       q(Luyia),
       q(Oluluyia),
       ],
-   q(4091) => [
+   q(4093) => [
       q(Southern Luri),
       ],
-   q(4092) => [
+   q(4094) => [
       q(Maku'a),
       ],
-   q(4093) => [
+   q(4095) => [
       q(Lavukaleve),
       ],
-   q(4094) => [
+   q(4096) => [
       q(Standard Latvian),
       ],
-   q(4095) => [
+   q(4097) => [
       q(Levuka),
       ],
-   q(4096) => [
+   q(4098) => [
       q(Lwalu),
       ],
-   q(4097) => [
+   q(4099) => [
       q(Lewo Eleng),
       ],
-   q(4098) => [
+   q(4100) => [
       q(Wanga),
       q(Oluwanga),
       ],
-   q(4099) => [
+   q(4101) => [
       q(White Lachi),
       ],
-   q(4100) => [
+   q(4102) => [
       q(Eastern Lawa),
       ],
-   q(4101) => [
+   q(4103) => [
       q(Laomian),
       ],
-   q(4102) => [
+   q(4104) => [
       q(Luwo),
       ],
-   q(4103) => [
+   q(4105) => [
       q(Lewotobi),
       ],
-   q(4104) => [
+   q(4106) => [
       q(Lawu),
       ],
-   q(4105) => [
+   q(4107) => [
       q(Lewo),
       ],
-   q(4106) => [
+   q(4108) => [
       q(Layakha),
       ],
-   q(4107) => [
+   q(4109) => [
       q(Lyngngam),
       ],
-   q(4108) => [
+   q(4110) => [
       q(Luyana),
       ],
-   q(4109) => [
+   q(4111) => [
       q(Literary Chinese),
       ],
-   q(4110) => [
+   q(4112) => [
       q(Litzlitz),
       ],
-   q(4111) => [
+   q(4113) => [
       q(Leinong Naga),
       ],
-   q(4112) => [
+   q(4114) => [
       q(Laz),
       ],
-   q(4113) => [
+   q(4115) => [
       q(San Jeronimo Tecoatl Mazatec),
       ],
-   q(4114) => [
+   q(4116) => [
       q(Yutanduchi Mixtec),
       ],
-   q(4115) => [
+   q(4117) => [
       q(Bo-Rukul),
       ],
-   q(4116) => [
+   q(4118) => [
       q(Mafa),
       ],
-   q(4117) => [
+   q(4119) => [
       q(Jalapa De Diaz Mazatec),
       ],
-   q(4118) => [
+   q(4120) => [
       q(Mam),
       ],
-   q(4119) => [
+   q(4121) => [
       q(Chiquihuitlan Mazatec),
       ],
-   q(4120) => [
+   q(4122) => [
       q(San Francisco Matlatzinca),
       ],
-   q(4121) => [
+   q(4123) => [
       q(Huautla Mazatec),
       ],
-   q(4122) => [
+   q(4124) => [
       q(Satere-Mawe),
       ],
-   q(4123) => [
+   q(4125) => [
       q(Mampruli),
       ],
-   q(4124) => [
+   q(4126) => [
       q(North Moluccan Malay),
       ],
-   q(4125) => [
+   q(4127) => [
       q(Central Mazahua),
       ],
-   q(4126) => [
+   q(4128) => [
       q(Higaonon),
       ],
-   q(4127) => [
+   q(4129) => [
       q(Western Bukidnon Manobo),
       ],
-   q(4128) => [
+   q(4130) => [
       q(Macushi),
       ],
-   q(4129) => [
+   q(4131) => [
       q(Dibabawon Manobo),
       ],
-   q(4130) => [
+   q(4132) => [
       q(Molale),
       ],
-   q(4131) => [
+   q(4133) => [
       q(Baba Malay),
       ],
-   q(4132) => [
+   q(4134) => [
       q(Mangseng),
       ],
-   q(4133) => [
+   q(4135) => [
       q(Ilianen Manobo),
       ],
-   q(4134) => [
+   q(4136) => [
       q(Nadeb),
       ],
-   q(4135) => [
+   q(4137) => [
       q(Malol),
       ],
-   q(4136) => [
+   q(4138) => [
       q(Maxakali),
       ],
-   q(4137) => [
+   q(4139) => [
       q(Ombamba),
       ],
-   q(4138) => [
+   q(4140) => [
       q(Macaguan),
       ],
-   q(4139) => [
+   q(4141) => [
       q(Mbo (Cameroon)),
       ],
-   q(4140) => [
+   q(4142) => [
       q(Malayo),
       ],
-   q(4141) => [
+   q(4143) => [
       q(Maisin),
       ],
-   q(4142) => [
+   q(4144) => [
       q(Nukak Maku),
       ],
-   q(4143) => [
+   q(4145) => [
       q(Sarangani Manobo),
       ],
-   q(4144) => [
+   q(4146) => [
       q(Matigsalug Manobo),
       ],
-   q(4145) => [
+   q(4147) => [
       q(Mbula-Bwazza),
       ],
-   q(4146) => [
+   q(4148) => [
       q(Mbulungish),
       ],
-   q(4147) => [
+   q(4149) => [
       q(Maring),
       ],
-   q(4148) => [
+   q(4150) => [
       q(Mari (East Sepik Province)),
       ],
-   q(4149) => [
+   q(4151) => [
       q(Memoni),
       ],
-   q(4150) => [
+   q(4152) => [
       q(Amoltepec Mixtec),
       ],
-   q(4151) => [
+   q(4153) => [
       q(Maca),
       ],
-   q(4152) => [
+   q(4154) => [
       q(Machiguenga),
       ],
-   q(4153) => [
+   q(4155) => [
       q(Bitur),
       ],
-   q(4154) => [
+   q(4156) => [
       q(Sharanahua),
       ],
-   q(4155) => [
+   q(4157) => [
       q(Itundujia Mixtec),
       ],
-   q(4156) => [
+   q(4158) => [
       q(Matses),
       ],
-   q(4157) => [
+   q(4159) => [
       q(Mapoyo),
       ],
-   q(4158) => [
+   q(4160) => [
       q(Maquiritari),
       ],
-   q(4159) => [
+   q(4161) => [
       q(Mese),
       ],
-   q(4160) => [
+   q(4162) => [
       q(Mvanip),
       ],
-   q(4161) => [
+   q(4163) => [
       q(Mbunda),
       ],
-   q(4162) => [
+   q(4164) => [
       q(Macaguaje),
       ],
-   q(4163) => [
+   q(4165) => [
       q(Malaccan Creole Portuguese),
       ],
-   q(4164) => [
+   q(4166) => [
       q(Masana),
       ],
-   q(4165) => [
+   q(4167) => [
       q(Coatlan Mixe),
       ],
-   q(4166) => [
+   q(4168) => [
       q(Makaa),
       ],
-   q(4167) => [
+   q(4169) => [
       q(Ese),
       ],
-   q(4168) => [
+   q(4170) => [
       q(Menya),
       ],
-   q(4169) => [
+   q(4171) => [
       q(Mambai),
       ],
-   q(4170) => [
+   q(4172) => [
       q(Mengisa),
       ],
-   q(4171) => [
+   q(4173) => [
       q(Cameroon Mambila),
       ],
-   q(4172) => [
+   q(4174) => [
       q(Minanibai),
       ],
-   q(4173) => [
+   q(4175) => [
       q(Mawa (Chad)),
       ],
-   q(4174) => [
+   q(4176) => [
       q(Mpiemo),
       ],
-   q(4175) => [
+   q(4177) => [
       q(South Watut),
       ],
-   q(4176) => [
+   q(4178) => [
       q(Mawan),
       ],
-   q(4177) => [
+   q(4179) => [
       q(Mada (Nigeria)),
       ],
-   q(4178) => [
+   q(4180) => [
       q(Morigi),
       ],
-   q(4179) => [
+   q(4181) => [
       q(Male (Papua New Guinea)),
       ],
-   q(4180) => [
+   q(4182) => [
       q(Mbum),
       ],
-   q(4181) => [
+   q(4183) => [
       q(Maba (Chad)),
       ],
-   q(4182) => [
+   q(4184) => [
       q(Massalat),
       ],
-   q(4183) => [
+   q(4185) => [
       q(Maguindanaon),
       ],
-   q(4184) => [
+   q(4186) => [
       q(Mamvu),
       ],
-   q(4185) => [
+   q(4187) => [
       q(Mangbetu),
       ],
-   q(4186) => [
+   q(4188) => [
       q(Mangbutu),
       ],
-   q(4187) => [
+   q(4189) => [
       q(Maltese Sign Language),
       ],
-   q(4188) => [
+   q(4190) => [
       q(Mayogo),
       ],
-   q(4189) => [
+   q(4191) => [
       q(Mbati),
       ],
-   q(4190) => [
+   q(4192) => [
       q(Mbala),
       ],
-   q(4191) => [
+   q(4193) => [
       q(Mbole),
       ],
-   q(4192) => [
+   q(4194) => [
       q(Maria (Papua New Guinea)),
       ],
-   q(4193) => [
+   q(4195) => [
       q(Mbere),
       ],
-   q(4194) => [
+   q(4196) => [
       q(Mboko),
       ],
-   q(4195) => [
+   q(4197) => [
       q(Santa Lucia Monteverde Mixtec),
       ],
-   q(4196) => [
+   q(4198) => [
       q(Mbosi),
       ],
-   q(4197) => [
+   q(4199) => [
       q(Dizin),
       ],
-   q(4198) => [
+   q(4200) => [
       q(Male (Ethiopia)),
       ],
-   q(4199) => [
+   q(4201) => [
       q(Surui Do Para),
       ],
-   q(4200) => [
+   q(4202) => [
       q(Menka),
       ],
-   q(4201) => [
+   q(4203) => [
       q(Ikobi),
       ],
-   q(4202) => [
+   q(4204) => [
       q(Mara),
       ],
-   q(4203) => [
+   q(4205) => [
       q(Melpa),
       ],
-   q(4204) => [
+   q(4206) => [
       q(Mengen),
       ],
-   q(4205) => [
+   q(4207) => [
       q(Megam),
       ],
-   q(4206) => [
+   q(4208) => [
       q(Southwestern Tlaxiaco Mixtec),
       ],
-   q(4207) => [
+   q(4209) => [
       q(Midob),
       ],
-   q(4208) => [
+   q(4210) => [
       q(Meyah),
       ],
-   q(4209) => [
+   q(4211) => [
       q(Mekeo),
       ],
-   q(4210) => [
+   q(4212) => [
       q(Central Melanau),
       ],
-   q(4211) => [
+   q(4213) => [
       q(Mangala),
       ],
-   q(4212) => [
+   q(4214) => [
       q(Kedah Malay),
       ],
-   q(4213) => [
+   q(4215) => [
       q(Miriwung),
       ],
-   q(4214) => [
+   q(4216) => [
       q(Merey),
       ],
-   q(4215) => [
+   q(4217) => [
       q(Meru),
       ],
-   q(4216) => [
+   q(4218) => [
       q(Masmaje),
       ],
-   q(4217) => [
+   q(4219) => [
       q(Mato),
       ],
-   q(4218) => [
+   q(4220) => [
       q(Motu),
       ],
-   q(4219) => [
+   q(4221) => [
       q(Mano),
       ],
-   q(4220) => [
+   q(4222) => [
       q(Maaka),
       ],
-   q(4221) => [
+   q(4223) => [
       q(Hassaniyya),
       ],
-   q(4222) => [
+   q(4224) => [
       q(Menominee),
       ],
-   q(4223) => [
+   q(4225) => [
       q(Pattani Malay),
       ],
-   q(4224) => [
+   q(4226) => [
       q(Bangka),
       ],
-   q(4225) => [
+   q(4227) => [
       q(Mba),
       ],
-   q(4226) => [
+   q(4228) => [
       q(Mendankwe-Nkwen),
       ],
-   q(4227) => [
+   q(4229) => [
       q(Morisyen),
       ],
-   q(4228) => [
+   q(4230) => [
       q(Naki),
       ],
-   q(4229) => [
+   q(4231) => [
       q(Mogofin),
       ],
-   q(4230) => [
+   q(4232) => [
       q(Matal),
       ],
-   q(4231) => [
+   q(4233) => [
       q(Wandala),
       ],
-   q(4232) => [
+   q(4234) => [
       q(Mefele),
       ],
-   q(4233) => [
+   q(4235) => [
       q(North Mofu),
       ],
-   q(4234) => [
+   q(4236) => [
       q(Putai),
       ],
-   q(4235) => [
+   q(4237) => [
       q(Marghi South),
       ],
-   q(4236) => [
+   q(4238) => [
       q(Cross River Mbembe),
       ],
-   q(4237) => [
+   q(4239) => [
       q(Mbe),
       ],
-   q(4238) => [
+   q(4240) => [
       q(Makassar Malay),
       ],
-   q(4239) => [
+   q(4241) => [
       q(Moba),
       ],
-   q(4240) => [
+   q(4242) => [
       q(Marithiel),
       ],
-   q(4241) => [
+   q(4243) => [
       q(Mexican Sign Language),
       ],
-   q(4242) => [
+   q(4244) => [
       q(Mokerang),
       ],
-   q(4243) => [
+   q(4245) => [
       q(Mbwela),
       ],
-   q(4244) => [
+   q(4246) => [
       q(Mandjak),
       ],
-   q(4245) => [
+   q(4247) => [
       q(Mulaha),
       ],
-   q(4246) => [
+   q(4248) => [
       q(Melo),
       ],
-   q(4247) => [
+   q(4249) => [
       q(Mayo),
       ],
-   q(4248) => [
+   q(4250) => [
       q(Mabaan),
       ],
-   q(4249) => [
+   q(4251) => [
       q(Mararit),
       ],
-   q(4250) => [
+   q(4252) => [
       q(Morokodo),
       ],
-   q(4251) => [
+   q(4253) => [
       q(Moru),
       ],
-   q(4252) => [
+   q(4254) => [
       q(Mango),
       ],
-   q(4253) => [
+   q(4255) => [
       q(Maklew),
       ],
-   q(4254) => [
+   q(4256) => [
       q(Mpumpong),
       ],
-   q(4255) => [
+   q(4257) => [
       q(Makhuwa-Meetto),
       ],
-   q(4256) => [
+   q(4258) => [
       q(Lijili),
       ],
-   q(4257) => [
+   q(4259) => [
       q(Abureni),
       ],
-   q(4258) => [
+   q(4260) => [
       q(Mawes),
       ],
-   q(4259) => [
+   q(4261) => [
       q(Maleu-Kilenge),
       ],
-   q(4260) => [
+   q(4262) => [
       q(Mambae),
       ],
-   q(4261) => [
+   q(4263) => [
       q(Mbangi),
       ],
-   q(4262) => [
+   q(4264) => [
       q(Meta'),
       ],
-   q(4263) => [
+   q(4265) => [
       q(Eastern Magar),
       ],
-   q(4264) => [
+   q(4266) => [
       q(Malila),
       ],
-   q(4265) => [
+   q(4267) => [
       q(Mambwe-Lungu),
       ],
-   q(4266) => [
+   q(4268) => [
       q(Manda (Tanzania)),
       ],
-   q(4267) => [
+   q(4269) => [
       q(Mongol),
       ],
-   q(4268) => [
+   q(4270) => [
       q(Mailu),
       ],
-   q(4269) => [
+   q(4271) => [
       q(Matengo),
       ],
-   q(4270) => [
+   q(4272) => [
       q(Matumbi),
       ],
-   q(4271) => [
+   q(4273) => [
       q(Mbunga),
       ],
-   q(4272) => [
+   q(4274) => [
       q(Mbugwe),
       ],
-   q(4273) => [
+   q(4275) => [
       q(Manda (India)),
       ],
-   q(4274) => [
+   q(4276) => [
       q(Mahongwe),
       ],
-   q(4275) => [
+   q(4277) => [
       q(Mocho),
       ],
-   q(4276) => [
+   q(4278) => [
       q(Mbugu),
       ],
-   q(4277) => [
+   q(4279) => [
       q(Besisi),
       q(Mah Meri),
       ],
-   q(4278) => [
+   q(4280) => [
       q(Mamaa),
       ],
-   q(4279) => [
+   q(4281) => [
       q(Margu),
       ],
-   q(4280) => [
+   q(4282) => [
       q(Ma'di),
       ],
-   q(4281) => [
+   q(4283) => [
       q(Mogholi),
       ],
-   q(4282) => [
+   q(4284) => [
       q(Mungaka),
       ],
-   q(4283) => [
+   q(4285) => [
       q(Mauwake),
       ],
-   q(4284) => [
+   q(4286) => [
       q(Makhuwa-Moniga),
       ],
-   q(4285) => [
+   q(4287) => [
       q(Mocheno),
       ],
-   q(4286) => [
+   q(4288) => [
       q(Mashi (Zambia)),
       ],
-   q(4287) => [
+   q(4289) => [
       q(Balinese Malay),
       ],
-   q(4288) => [
+   q(4290) => [
       q(Mandan),
       ],
-   q(4289) => [
+   q(4291) => [
       q(Eastern Mari),
       ],
-   q(4290) => [
+   q(4292) => [
       q(Buru (Indonesia)),
       ],
-   q(4291) => [
+   q(4293) => [
       q(Mandahuaca),
       ],
-   q(4292) => [
+   q(4294) => [
       q(Digaro-Mishmi),
       q(Darang Deng),
       ],
-   q(4293) => [
+   q(4295) => [
       q(Mbukushu),
       ],
-   q(4294) => [
+   q(4296) => [
       q(Maru),
       q(Lhaovo),
       ],
-   q(4295) => [
+   q(4297) => [
       q(Ma'anyan),
       ],
-   q(4296) => [
+   q(4298) => [
       q(Mor (Mor Islands)),
       ],
-   q(4297) => [
+   q(4299) => [
       q(Miami),
       ],
-   q(4298) => [
+   q(4300) => [
       q(Atatlahuca Mixtec),
       ],
-   q(4299) => [
+   q(4301) => [
       q(Mandaic),
       ],
-   q(4300) => [
+   q(4302) => [
       q(Ocotepec Mixtec),
       ],
-   q(4301) => [
+   q(4303) => [
       q(Mofu-Gudur),
       ],
-   q(4302) => [
+   q(4304) => [
       q(San Miguel El Grande Mixtec),
       ],
-   q(4303) => [
+   q(4305) => [
       q(Chayuco Mixtec),
       ],
-   q(4304) => [
+   q(4306) => [
       q(Chigmecatitlan Mixtec),
       ],
-   q(4305) => [
+   q(4307) => [
       q(Abar),
       q(Mungbam),
       ],
-   q(4306) => [
+   q(4308) => [
       q(Mikasuki),
       ],
-   q(4307) => [
+   q(4309) => [
       q(Penoles Mixtec),
       ],
-   q(4308) => [
+   q(4310) => [
       q(Alacatlatzala Mixtec),
       ],
-   q(4309) => [
+   q(4311) => [
       q(Pinotepa Nacional Mixtec),
       ],
-   q(4310) => [
+   q(4312) => [
       q(Apasco-Apoala Mixtec),
       ],
-   q(4311) => [
+   q(4313) => [
       q(Miskito),
       ],
-   q(4312) => [
+   q(4314) => [
       q(Isthmus Mixe),
       ],
-   q(4313) => [
+   q(4315) => [
       q(Southern Puebla Mixtec),
       ],
-   q(4314) => [
+   q(4316) => [
       q(Cacaloxtepec Mixtec),
       ],
-   q(4315) => [
+   q(4317) => [
       q(Akoye),
       ],
-   q(4316) => [
+   q(4318) => [
       q(Mixtepec Mixtec),
       ],
-   q(4317) => [
+   q(4319) => [
       q(Ayutla Mixtec),
       ],
-   q(4318) => [
+   q(4320) => [
       q(Coatzospan Mixtec),
       ],
-   q(4319) => [
+   q(4321) => [
       q(San Juan Colorado Mixtec),
       ],
-   q(4320) => [
+   q(4322) => [
       q(Northwest Maidu),
       ],
-   q(4321) => [
+   q(4323) => [
       q(Muskum),
       ],
-   q(4322) => [
+   q(4324) => [
       q(Tu),
       ],
-   q(4323) => [
+   q(4325) => [
       q(Mwera (Nyasa)),
       ],
-   q(4324) => [
+   q(4326) => [
       q(Kim Mun),
       ],
-   q(4325) => [
+   q(4327) => [
       q(Mawak),
       ],
-   q(4326) => [
+   q(4328) => [
       q(Matukar),
       ],
-   q(4327) => [
+   q(4329) => [
       q(Mandeali),
       ],
-   q(4328) => [
+   q(4330) => [
       q(Medebur),
       ],
-   q(4329) => [
+   q(4331) => [
       q(Ma (Papua New Guinea)),
       ],
-   q(4330) => [
+   q(4332) => [
       q(Malankuravan),
       ],
-   q(4331) => [
+   q(4333) => [
       q(Malapandaram),
       ],
-   q(4332) => [
+   q(4334) => [
       q(Malaryan),
       ],
-   q(4333) => [
+   q(4335) => [
       q(Malavedan),
       ],
-   q(4334) => [
+   q(4336) => [
       q(Miship),
       ],
-   q(4335) => [
+   q(4337) => [
       q(Sauria Paharia),
       ],
-   q(4336) => [
+   q(4338) => [
       q(Manna-Dora),
       ],
-   q(4337) => [
+   q(4339) => [
       q(Mannan),
       ],
-   q(4338) => [
+   q(4340) => [
       q(Karbi),
       ],
-   q(4339) => [
+   q(4341) => [
       q(Mahali),
       ],
-   q(4340) => [
+   q(4342) => [
       q(Mahican),
       ],
-   q(4341) => [
+   q(4343) => [
       q(Majhi),
       ],
-   q(4342) => [
+   q(4344) => [
       q(Mbre),
       ],
-   q(4343) => [
+   q(4345) => [
       q(Mal Paharia),
       ],
-   q(4344) => [
+   q(4346) => [
       q(Siliput),
       ],
-   q(4345) => [
+   q(4347) => [
       q(Mawchi),
       ],
-   q(4346) => [
+   q(4348) => [
       q(Miya),
       ],
-   q(4347) => [
+   q(4349) => [
       q(Mak (China)),
       ],
-   q(4348) => [
+   q(4350) => [
       q(Dhatki),
       ],
-   q(4349) => [
+   q(4351) => [
       q(Mokilese),
       ],
-   q(4350) => [
+   q(4352) => [
       q(Byep),
       ],
-   q(4351) => [
+   q(4353) => [
       q(Mokole),
       ],
-   q(4352) => [
+   q(4354) => [
       q(Moklen),
       ],
-   q(4353) => [
+   q(4355) => [
       q(Kupang Malay),
       ],
-   q(4354) => [
+   q(4356) => [
       q(Mingang Doso),
       ],
-   q(4355) => [
+   q(4357) => [
       q(Moikodi),
       ],
-   q(4356) => [
+   q(4358) => [
       q(Bay Miwok),
       ],
-   q(4357) => [
+   q(4359) => [
       q(Malas),
       ],
-   q(4358) => [
+   q(4360) => [
       q(Silacayoapan Mixtec),
       ],
-   q(4359) => [
+   q(4361) => [
       q(Vamale),
       ],
-   q(4360) => [
+   q(4362) => [
       q(Konyanka Maninka),
       ],
-   q(4361) => [
+   q(4363) => [
       q(Mafea),
       ],
-   q(4362) => [
+   q(4364) => [
       q(Kituba (Congo)),
       ],
-   q(4363) => [
+   q(4365) => [
       q(Kinamiging Manobo),
       ],
-   q(4364) => [
+   q(4366) => [
       q(East Makian),
       ],
-   q(4365) => [
+   q(4367) => [
       q(Makasae),
       ],
-   q(4366) => [
+   q(4368) => [
       q(Malo),
       ],
-   q(4367) => [
+   q(4369) => [
       q(Mbule),
       ],
-   q(4368) => [
+   q(4370) => [
       q(Cao Lan),
       ],
-   q(4369) => [
+   q(4371) => [
       q(Manambu),
       ],
-   q(4370) => [
+   q(4372) => [
       q(Mal),
       ],
-   q(4371) => [
+   q(4373) => [
       q(Mape),
       ],
-   q(4372) => [
+   q(4374) => [
       q(Malimpung),
       ],
-   q(4373) => [
+   q(4375) => [
       q(Miltu),
       ],
-   q(4374) => [
+   q(4376) => [
       q(Ilwana),
       q(Kiwilwana),
       ],
-   q(4375) => [
+   q(4377) => [
       q(Malua Bay),
       ],
-   q(4376) => [
+   q(4378) => [
       q(Mulam),
       ],
-   q(4377) => [
+   q(4379) => [
       q(Malango),
       ],
-   q(4378) => [
+   q(4380) => [
       q(Mlomp),
       ],
-   q(4379) => [
+   q(4381) => [
       q(Bargam),
       ],
-   q(4380) => [
+   q(4382) => [
       q(Western Maninkakan),
       ],
-   q(4381) => [
+   q(4383) => [
       q(Vame),
       ],
-   q(4382) => [
+   q(4384) => [
       q(Masalit),
       ],
-   q(4383) => [
+   q(4385) => [
       q(To'abaita),
       ],
-   q(4384) => [
+   q(4386) => [
       q(Motlav),
       q(Mwotlap),
       ],
-   q(4385) => [
+   q(4387) => [
       q(Moloko),
       ],
-   q(4386) => [
+   q(4388) => [
       q(Malfaxal),
       q(Naha'ai),
       ],
-   q(4387) => [
+   q(4389) => [
       q(Malaynon),
       ],
-   q(4388) => [
+   q(4390) => [
       q(Mama),
       ],
-   q(4389) => [
+   q(4391) => [
       q(Momina),
       ],
-   q(4390) => [
+   q(4392) => [
       q(Michoacan Mazahua),
       ],
-   q(4391) => [
+   q(4393) => [
       q(Maonan),
       ],
-   q(4392) => [
+   q(4394) => [
       q(Mae),
       ],
-   q(4393) => [
+   q(4395) => [
       q(Mundat),
       ],
-   q(4394) => [
+   q(4396) => [
       q(North Ambrym),
       ],
-   q(4395) => [
+   q(4397) => [
       q(Mehinaku),
       ],
-   q(4396) => [
+   q(4398) => [
       q(Musar),
       ],
-   q(4397) => [
+   q(4399) => [
       q(Majhwar),
       ],
-   q(4398) => [
+   q(4400) => [
       q(Mukha-Dora),
       ],
-   q(4399) => [
+   q(4401) => [
       q(Man Met),
       ],
-   q(4400) => [
+   q(4402) => [
       q(Maii),
       ],
-   q(4401) => [
+   q(4403) => [
       q(Mamanwa),
       ],
-   q(4402) => [
+   q(4404) => [
       q(Mangga Buang),
       ],
-   q(4403) => [
+   q(4405) => [
       q(Siawi),
       ],
-   q(4404) => [
+   q(4406) => [
       q(Musak),
       ],
-   q(4405) => [
+   q(4407) => [
       q(Western Xiangxi Miao),
       ],
-   q(4406) => [
+   q(4408) => [
       q(Malalamai),
       ],
-   q(4407) => [
+   q(4409) => [
       q(Mmaala),
       ],
-   q(4408) => [
+   q(4410) => [
       q(Miriti),
       ],
-   q(4409) => [
+   q(4411) => [
       q(Emae),
       ],
-   q(4410) => [
+   q(4412) => [
       q(Madak),
       ],
-   q(4411) => [
+   q(4413) => [
       q(Migaama),
       ],
-   q(4412) => [
+   q(4414) => [
       q(Mabaale),
       ],
-   q(4413) => [
+   q(4415) => [
       q(Mbula),
       ],
-   q(4414) => [
+   q(4416) => [
       q(Muna),
       ],
-   q(4415) => [
+   q(4417) => [
       q(Monde),
       ],
-   q(4416) => [
+   q(4418) => [
       q(Naba),
       ],
-   q(4417) => [
+   q(4419) => [
       q(Mundani),
       ],
-   q(4418) => [
+   q(4420) => [
       q(Eastern Mnong),
       ],
-   q(4419) => [
+   q(4421) => [
       q(Mono (Democratic Republic of Congo)),
       ],
-   q(4420) => [
+   q(4422) => [
       q(Munji),
       ],
-   q(4421) => [
+   q(4423) => [
       q(Mandinka),
       ],
-   q(4422) => [
+   q(4424) => [
       q(Tiale),
       ],
-   q(4423) => [
+   q(4425) => [
       q(Mapena),
       ],
-   q(4424) => [
+   q(4426) => [
       q(Southern Mnong),
       ],
-   q(4425) => [
+   q(4427) => [
       q(Min Bei Chinese),
       ],
-   q(4426) => [
+   q(4428) => [
       q(Minriq),
       ],
-   q(4427) => [
+   q(4429) => [
       q(Mono (USA)),
       ],
-   q(4428) => [
+   q(4430) => [
       q(Mansi),
       ],
-   q(4429) => [
+   q(4431) => [
       q(Mer),
       ],
-   q(4430) => [
+   q(4432) => [
       q(Rennell-Bellona),
       ],
-   q(4431) => [
+   q(4433) => [
       q(Mon),
       ],
-   q(4432) => [
+   q(4434) => [
       q(Manikion),
       ],
-   q(4433) => [
+   q(4435) => [
       q(Manyawa),
       ],
-   q(4434) => [
+   q(4436) => [
       q(Moni),
       ],
-   q(4435) => [
+   q(4437) => [
       q(Mwan),
       ],
-   q(4436) => [
+   q(4438) => [
       q(Mocovi),
       ],
-   q(4437) => [
+   q(4439) => [
       q(Mobilian),
       ],
-   q(4438) => [
+   q(4440) => [
       q(Montagnais),
       ],
-   q(4439) => [
+   q(4441) => [
       q(Mongondow),
       ],
-   q(4440) => [
+   q(4442) => [
       q(Mboi),
       ],
-   q(4441) => [
+   q(4443) => [
       q(Monzombo),
       ],
-   q(4442) => [
+   q(4444) => [
       q(Morori),
       ],
-   q(4443) => [
+   q(4445) => [
       q(Mangue),
       ],
-   q(4444) => [
+   q(4446) => [
       q(Monom),
       ],
-   q(4445) => [
+   q(4447) => [
       q(Mopan Maya),
       ],
-   q(4446) => [
+   q(4448) => [
       q(Mor (Bomberai Peninsula)),
       ],
-   q(4447) => [
+   q(4449) => [
       q(Moro),
       ],
-   q(4448) => [
+   q(4450) => [
       q(Mogum),
       ],
-   q(4449) => [
+   q(4451) => [
       q(Mohave),
       ],
-   q(4450) => [
+   q(4452) => [
       q(Moi (Congo)),
       ],
-   q(4451) => [
+   q(4453) => [
       q(Molima),
       ],
-   q(4452) => [
+   q(4454) => [
       q(Shekkacho),
       ],
-   q(4453) => [
+   q(4455) => [
       q(Mukulu),
       q(Gergiko),
       ],
-   q(4454) => [
+   q(4456) => [
       q(Mpoto),
       ],
-   q(4455) => [
+   q(4457) => [
       q(Mullukmulluk),
       ],
-   q(4456) => [
+   q(4458) => [
       q(Mangarayi),
       ],
-   q(4457) => [
+   q(4459) => [
       q(Machinere),
       ],
-   q(4458) => [
+   q(4460) => [
       q(Majang),
       ],
-   q(4459) => [
+   q(4461) => [
       q(Marba),
       ],
-   q(4460) => [
+   q(4462) => [
       q(Maung),
       ],
-   q(4461) => [
+   q(4463) => [
       q(Mpade),
       ],
-   q(4462) => [
+   q(4464) => [
       q(Martu Wangka),
       ],
-   q(4463) => [
+   q(4465) => [
       q(Mbara (Chad)),
       ],
-   q(4464) => [
+   q(4466) => [
       q(Middle Watut),
       ],
-   q(4465) => [
+   q(4467) => [
       q(Yosondua Mixtec),
       ],
-   q(4466) => [
+   q(4468) => [
       q(Mindiri),
       ],
-   q(4467) => [
+   q(4469) => [
       q(Miu),
       ],
-   q(4468) => [
+   q(4470) => [
       q(Migabac),
       ],
-   q(4469) => [
+   q(4471) => [
       q(Matis),
       ],
-   q(4470) => [
+   q(4472) => [
       q(Vangunu),
       ],
-   q(4471) => [
+   q(4473) => [
       q(Dadibi),
       ],
-   q(4472) => [
+   q(4474) => [
       q(Mian),
       ],
-   q(4473) => [
+   q(4475) => [
       q(Makurap),
       ],
-   q(4474) => [
+   q(4476) => [
       q(Mungkip),
       ],
-   q(4475) => [
+   q(4477) => [
       q(Mapidian),
       ],
-   q(4476) => [
+   q(4478) => [
       q(Misima-Panaeati),
       ],
-   q(4477) => [
+   q(4479) => [
       q(Mapia),
       ],
-   q(4478) => [
+   q(4480) => [
       q(Mpi),
       ],
-   q(4479) => [
+   q(4481) => [
       q(Maba (Indonesia)),
       ],
-   q(4480) => [
+   q(4482) => [
       q(Mbuko),
       ],
-   q(4481) => [
+   q(4483) => [
       q(Mangole),
       ],
-   q(4482) => [
+   q(4484) => [
       q(Matepi),
       ],
-   q(4483) => [
+   q(4485) => [
       q(Momuna),
       ],
-   q(4484) => [
+   q(4486) => [
       q(Kota Bangun Kutai Malay),
       ],
-   q(4485) => [
+   q(4487) => [
       q(Tlazoyaltepec Mixtec),
       ],
-   q(4486) => [
+   q(4488) => [
       q(Mariri),
       ],
-   q(4487) => [
+   q(4489) => [
       q(Mamasa),
       ],
-   q(4488) => [
+   q(4490) => [
       q(Rajah Kabunsuwan Manobo),
       ],
-   q(4489) => [
+   q(4491) => [
       q(Mbelime),
       ],
-   q(4490) => [
+   q(4492) => [
       q(South Marquesan),
       ],
-   q(4491) => [
+   q(4493) => [
       q(Moronene),
       ],
-   q(4492) => [
+   q(4494) => [
       q(Modole),
       ],
-   q(4493) => [
+   q(4495) => [
       q(Manipa),
       ],
-   q(4494) => [
+   q(4496) => [
       q(Minokok),
       ],
-   q(4495) => [
+   q(4497) => [
       q(Mander),
       ],
-   q(4496) => [
+   q(4498) => [
       q(West Makian),
       ],
-   q(4497) => [
+   q(4499) => [
       q(Mok),
       ],
-   q(4498) => [
+   q(4500) => [
       q(Mandari),
       ],
-   q(4499) => [
+   q(4501) => [
       q(Mosimo),
       ],
-   q(4500) => [
+   q(4502) => [
       q(Murupi),
       ],
-   q(4501) => [
+   q(4503) => [
       q(Mamuju),
       ],
-   q(4502) => [
+   q(4504) => [
       q(Manggarai),
       ],
-   q(4503) => [
+   q(4505) => [
       q(Pano),
       ],
-   q(4504) => [
+   q(4506) => [
       q(Mlabri),
       ],
-   q(4505) => [
+   q(4507) => [
       q(Marino),
       ],
-   q(4506) => [
+   q(4508) => [
       q(Maricopa),
       ],
-   q(4507) => [
+   q(4509) => [
       q(Western Magar),
       ],
-   q(4508) => [
+   q(4510) => [
       q(Martha's Vineyard Sign Language),
       ],
-   q(4509) => [
+   q(4511) => [
       q(Elseng),
       ],
-   q(4510) => [
+   q(4512) => [
       q(Mising),
       ],
-   q(4511) => [
+   q(4513) => [
       q(Mara Chin),
       ],
-   q(4512) => [
+   q(4514) => [
       q(Western Mari),
       ],
-   q(4513) => [
+   q(4515) => [
       q(Hmwaveke),
       ],
-   q(4514) => [
+   q(4516) => [
       q(Mortlockese),
       ],
-   q(4515) => [
+   q(4517) => [
       q(Merlav),
       q(Mwerlap),
       ],
-   q(4516) => [
+   q(4518) => [
       q(Cheke Holo),
       ],
-   q(4517) => [
+   q(4519) => [
       q(Mru),
       ],
-   q(4518) => [
+   q(4520) => [
       q(Morouas),
       ],
-   q(4519) => [
+   q(4521) => [
       q(North Marquesan),
       ],
-   q(4520) => [
+   q(4522) => [
       q(Maria (India)),
       ],
-   q(4521) => [
+   q(4523) => [
       q(Maragus),
       ],
-   q(4522) => [
+   q(4524) => [
       q(Marghi Central),
       ],
-   q(4523) => [
+   q(4525) => [
       q(Mono (Cameroon)),
       ],
-   q(4524) => [
+   q(4526) => [
       q(Mangareva),
       ],
-   q(4525) => [
+   q(4527) => [
       q(Maranao),
       ],
-   q(4526) => [
+   q(4528) => [
       q(Maremgi),
       q(Dineor),
       ],
-   q(4527) => [
+   q(4529) => [
       q(Mandaya),
       ],
-   q(4528) => [
+   q(4530) => [
       q(Marind),
       ],
-   q(4529) => [
+   q(4531) => [
       q(Masbatenyo),
       ],
-   q(4530) => [
+   q(4532) => [
       q(Sankaran Maninka),
       ],
-   q(4531) => [
+   q(4533) => [
       q(Yucatec Maya Sign Language),
       ],
-   q(4532) => [
+   q(4534) => [
       q(Musey),
       ],
-   q(4533) => [
+   q(4535) => [
       q(Mekwei),
       ],
-   q(4534) => [
+   q(4536) => [
       q(Moraid),
       ],
-   q(4535) => [
+   q(4537) => [
       q(Masikoro Malagasy),
       ],
-   q(4536) => [
+   q(4538) => [
       q(Sabah Malay),
       ],
-   q(4537) => [
+   q(4539) => [
       q(Ma (Democratic Republic of Congo)),
       ],
-   q(4538) => [
+   q(4540) => [
       q(Mansaka),
       ],
-   q(4539) => [
+   q(4541) => [
       q(Molof),
       q(Poule),
       ],
-   q(4540) => [
+   q(4542) => [
       q(Agusan Manobo),
       ],
-   q(4541) => [
+   q(4543) => [
       q(Vures),
       ],
-   q(4542) => [
+   q(4544) => [
       q(Mombum),
       ],
-   q(4543) => [
+   q(4545) => [
       q(Maritsaua),
       ],
-   q(4544) => [
+   q(4546) => [
       q(Caac),
       ],
-   q(4545) => [
+   q(4547) => [
       q(Mongolian Sign Language),
       ],
-   q(4546) => [
+   q(4548) => [
       q(West Masela),
       ],
-   q(4547) => [
+   q(4549) => [
       q(Musom),
       ],
-   q(4548) => [
+   q(4550) => [
       q(Maslam),
       ],
-   q(4549) => [
+   q(4551) => [
       q(Mansoanka),
       ],
-   q(4550) => [
+   q(4552) => [
       q(Moresada),
       ],
-   q(4551) => [
+   q(4553) => [
       q(Aruamu),
       ],
-   q(4552) => [
+   q(4554) => [
       q(Momare),
       ],
-   q(4553) => [
+   q(4555) => [
       q(Cotabato Manobo),
       ],
-   q(4554) => [
+   q(4556) => [
       q(Anyin Morofo),
       ],
-   q(4555) => [
+   q(4557) => [
       q(Munit),
       ],
-   q(4556) => [
+   q(4558) => [
       q(Mualang),
       ],
-   q(4557) => [
+   q(4559) => [
       q(Mono (Solomon Islands)),
       ],
-   q(4558) => [
+   q(4560) => [
       q(Murik (Papua New Guinea)),
       ],
-   q(4559) => [
+   q(4561) => [
       q(Una),
       ],
-   q(4560) => [
+   q(4562) => [
       q(Munggui),
       ],
-   q(4561) => [
+   q(4563) => [
       q(Maiwa (Papua New Guinea)),
       ],
-   q(4562) => [
+   q(4564) => [
       q(Moskona),
       ],
-   q(4563) => [
+   q(4565) => [
       q(Mbe'),
       ],
-   q(4564) => [
+   q(4566) => [
       q(Montol),
       ],
-   q(4565) => [
+   q(4567) => [
       q(Mator),
       ],
-   q(4566) => [
+   q(4568) => [
       q(Matagalpa),
       ],
-   q(4567) => [
+   q(4569) => [
       q(Totontepec Mixe),
       ],
-   q(4568) => [
+   q(4570) => [
       q(Wichi Lhamtes Nocten),
       ],
-   q(4569) => [
+   q(4571) => [
       q(Muong),
       ],
-   q(4570) => [
+   q(4572) => [
       q(Mewari),
       ],
-   q(4571) => [
+   q(4573) => [
       q(Yora),
       ],
-   q(4572) => [
+   q(4574) => [
       q(Mota),
       ],
-   q(4573) => [
+   q(4575) => [
       q(Tututepec Mixtec),
       ],
-   q(4574) => [
+   q(4576) => [
       q(Asaro'o),
       ],
-   q(4575) => [
+   q(4577) => [
       q(Southern Binukidnon),
       ],
-   q(4576) => [
+   q(4578) => [
       q(Tidaa Mixtec),
       ],
-   q(4577) => [
+   q(4579) => [
       q(Nabi),
       ],
-   q(4578) => [
+   q(4580) => [
       q(Mundang),
       ],
-   q(4579) => [
+   q(4581) => [
       q(Mubi),
       ],
-   q(4580) => [
+   q(4582) => [
       q(Ajumbu),
       ],
-   q(4581) => [
+   q(4583) => [
       q(Mednyj Aleut),
       ],
-   q(4582) => [
+   q(4584) => [
       q(Media Lengua),
       ],
-   q(4583) => [
+   q(4585) => [
       q(Musgu),
       ],
-   q(4584) => [
+   q(4586) => [
       q(Mundu),
       ],
-   q(4585) => [
+   q(4587) => [
       q(Musi),
       ],
-   q(4586) => [
+   q(4588) => [
       q(Mabire),
       ],
-   q(4587) => [
+   q(4589) => [
       q(Mugom),
       ],
-   q(4588) => [
+   q(4590) => [
       q(Maiwala),
       ],
-   q(4589) => [
+   q(4591) => [
       q(Nyong),
       ],
-   q(4590) => [
+   q(4592) => [
       q(Malvi),
       ],
-   q(4591) => [
+   q(4593) => [
       q(Eastern Xiangxi Miao),
       ],
-   q(4592) => [
+   q(4594) => [
       q(Murle),
       ],
-   q(4593) => [
+   q(4595) => [
       q(Western Muria),
       ],
-   q(4594) => [
+   q(4596) => [
       q(Yaaku),
       ],
-   q(4595) => [
+   q(4597) => [
       q(Muthuvan),
       ],
-   q(4596) => [
+   q(4598) => [
       q(Bo-Ung),
       ],
-   q(4597) => [
+   q(4599) => [
       q(Muyang),
       ],
-   q(4598) => [
+   q(4600) => [
       q(Mursi),
       ],
-   q(4599) => [
+   q(4601) => [
       q(Manam),
       ],
-   q(4600) => [
+   q(4602) => [
       q(Mattole),
       ],
-   q(4601) => [
+   q(4603) => [
       q(Mamboru),
       ],
-   q(4602) => [
+   q(4604) => [
       q(Marwari (Pakistan)),
       ],
-   q(4603) => [
+   q(4605) => [
       q(Peripheral Mongolian),
       ],
-   q(4604) => [
+   q(4606) => [
       q(Yucuane Mixtec),
       ],
-   q(4605) => [
+   q(4607) => [
       q(Mulgi),
       ],
-   q(4606) => [
+   q(4608) => [
       q(Miyako),
       ],
-   q(4607) => [
+   q(4609) => [
       q(Mekmek),
       ],
-   q(4608) => [
+   q(4610) => [
       q(Mbara (Australia)),
       ],
-   q(4609) => [
+   q(4611) => [
       q(Muya),
       ],
-   q(4610) => [
+   q(4612) => [
       q(Minaveha),
       ],
-   q(4611) => [
+   q(4613) => [
       q(Marovo),
       ],
-   q(4612) => [
+   q(4614) => [
       q(Duri),
       ],
-   q(4613) => [
+   q(4615) => [
       q(Moere),
       ],
-   q(4614) => [
+   q(4616) => [
       q(Marau),
       ],
-   q(4615) => [
+   q(4617) => [
       q(Massep),
       ],
-   q(4616) => [
+   q(4618) => [
       q(Mpotovoro),
       ],
-   q(4617) => [
+   q(4619) => [
       q(Marfa),
       ],
-   q(4618) => [
+   q(4620) => [
       q(Tagal Murut),
       ],
-   q(4619) => [
+   q(4621) => [
       q(Machinga),
       ],
-   q(4620) => [
+   q(4622) => [
       q(Meoswar),
       ],
-   q(4621) => [
+   q(4623) => [
       q(Indus Kohistani),
       ],
-   q(4622) => [
+   q(4624) => [
       q(Mesqan),
       ],
-   q(4623) => [
+   q(4625) => [
       q(Mwatebu),
       ],
-   q(4624) => [
+   q(4626) => [
       q(Juwal),
       ],
-   q(4625) => [
+   q(4627) => [
       q(Are),
       ],
-   q(4626) => [
+   q(4628) => [
       q(Mwera (Chimwera)),
       ],
-   q(4627) => [
+   q(4629) => [
       q(Murrinh-Patha),
       ],
-   q(4628) => [
+   q(4630) => [
       q(Aiklep),
       ],
-   q(4629) => [
+   q(4631) => [
       q(Mouk-Aria),
       ],
-   q(4630) => [
+   q(4632) => [
       q(Labo),
       q(Ninde),
       ],
-   q(4631) => [
+   q(4633) => [
       q(Kita Maninkakan),
       ],
-   q(4632) => [
+   q(4634) => [
       q(Sar),
       ],
-   q(4633) => [
+   q(4635) => [
       q(Nyamwanga),
       ],
-   q(4634) => [
+   q(4636) => [
       q(Central Maewo),
       ],
-   q(4635) => [
+   q(4637) => [
       q(Kala Lagaw Ya),
       ],
-   q(4636) => [
+   q(4638) => [
       q(Mun Chin),
       ],
-   q(4637) => [
+   q(4639) => [
       q(Mwimbi-Muthambi),
       ],
-   q(4638) => [
+   q(4640) => [
       q(Moken),
       ],
-   q(4639) => [
+   q(4641) => [
       q(Mittu),
       ],
-   q(4640) => [
+   q(4642) => [
       q(Mentawai),
       ],
-   q(4641) => [
+   q(4643) => [
       q(Hmong Daw),
       ],
-   q(4642) => [
+   q(4644) => [
       q(Mediak),
       ],
-   q(4643) => [
+   q(4645) => [
       q(Mosiro),
       ],
-   q(4644) => [
+   q(4646) => [
       q(Moingi),
       ],
-   q(4645) => [
+   q(4647) => [
       q(Northwest Oaxaca Mixtec),
       ],
-   q(4646) => [
+   q(4648) => [
       q(Tezoatlan Mixtec),
       ],
-   q(4647) => [
+   q(4649) => [
       q(Manyika),
       ],
-   q(4648) => [
+   q(4650) => [
       q(Modang),
       ],
-   q(4649) => [
+   q(4651) => [
       q(Mele-Fila),
       ],
-   q(4650) => [
+   q(4652) => [
       q(Malgbe),
       ],
-   q(4651) => [
+   q(4653) => [
       q(Mbangala),
       ],
-   q(4652) => [
+   q(4654) => [
       q(Mvuba),
       ],
-   q(4653) => [
+   q(4655) => [
       q(Mozarabic),
       ],
-   q(4654) => [
+   q(4656) => [
       q(Miju-Mishmi),
       q(Geman Deng),
       ],
-   q(4655) => [
+   q(4657) => [
       q(Monumbo),
       ],
-   q(4656) => [
+   q(4658) => [
       q(Maxi Gbe),
       ],
-   q(4657) => [
+   q(4659) => [
       q(Meramera),
       ],
-   q(4658) => [
+   q(4660) => [
       q(Moi (Indonesia)),
       ],
-   q(4659) => [
+   q(4661) => [
       q(Mbowe),
       ],
-   q(4660) => [
+   q(4662) => [
       q(Tlahuitoltepec Mixe),
       ],
-   q(4661) => [
+   q(4663) => [
       q(Juquila Mixe),
       ],
-   q(4662) => [
+   q(4664) => [
       q(Murik (Malaysia)),
       ],
-   q(4663) => [
+   q(4665) => [
       q(Huitepec Mixtec),
       ],
-   q(4664) => [
+   q(4666) => [
       q(Jamiltepec Mixtec),
       ],
-   q(4665) => [
+   q(4667) => [
       q(Mada (Cameroon)),
       ],
-   q(4666) => [
+   q(4668) => [
       q(Metlatonoc Mixtec),
       ],
-   q(4667) => [
+   q(4669) => [
       q(Namo),
       ],
-   q(4668) => [
+   q(4670) => [
       q(Mahou),
       q(Mawukakan),
       ],
-   q(4669) => [
+   q(4671) => [
       q(Southeastern Nochixtlan Mixtec),
       ],
-   q(4670) => [
+   q(4672) => [
       q(Central Masela),
       ],
-   q(4671) => [
+   q(4673) => [
       q(Mbay),
       ],
-   q(4672) => [
+   q(4674) => [
       q(Mayeka),
       ],
-   q(4673) => [
+   q(4675) => [
       q(Maramba),
       ],
-   q(4674) => [
+   q(4676) => [
       q(Myene),
       ],
-   q(4675) => [
+   q(4677) => [
       q(Bambassi),
       ],
-   q(4676) => [
+   q(4678) => [
       q(Manta),
       ],
-   q(4677) => [
+   q(4679) => [
       q(Makah),
       ],
-   q(4678) => [
+   q(4680) => [
       q(Mina (India)),
       ],
-   q(4679) => [
+   q(4681) => [
       q(Mangayat),
       ],
-   q(4680) => [
+   q(4682) => [
       q(Mamara Senoufo),
       ],
-   q(4681) => [
+   q(4683) => [
       q(Moma),
       ],
-   q(4682) => [
+   q(4684) => [
       q(Me'en),
       ],
-   q(4683) => [
+   q(4685) => [
       q(Anfillo),
       ],
-   q(4684) => [
+   q(4686) => [
       q(Piraha),
       ],
-   q(4685) => [
+   q(4687) => [
       q(Muniche),
       ],
-   q(4686) => [
+   q(4688) => [
       q(Mesmes),
       ],
-   q(4687) => [
+   q(4689) => [
       q(Munduruku),
       ],
-   q(4688) => [
+   q(4690) => [
       q(Muyuw),
       ],
-   q(4689) => [
+   q(4691) => [
       q(Masaaba),
       ],
-   q(4690) => [
+   q(4692) => [
       q(Macuna),
       ],
-   q(4691) => [
+   q(4693) => [
       q(Classical Mandaic),
       ],
-   q(4692) => [
+   q(4694) => [
       q(Santa Maria Zacatepec Mixtec),
       ],
-   q(4693) => [
+   q(4695) => [
       q(Tumzabt),
       ],
-   q(4694) => [
+   q(4696) => [
       q(Madagascar Sign Language),
       ],
-   q(4695) => [
+   q(4697) => [
       q(Malimba),
       ],
-   q(4696) => [
+   q(4698) => [
       q(Morawa),
       ],
-   q(4697) => [
+   q(4699) => [
       q(Monastic Sign Language),
       ],
-   q(4698) => [
+   q(4700) => [
       q(Wichi Lhamtes Guisnay),
       ],
-   q(4699) => [
+   q(4701) => [
       q(Ixcatlan Mazatec),
       ],
-   q(4700) => [
+   q(4702) => [
       q(Manya),
       ],
-   q(4701) => [
+   q(4703) => [
       q(Nigeria Mambila),
       ],
-   q(4702) => [
+   q(4704) => [
       q(Mazatlan Mixe),
       ],
-   q(4703) => [
+   q(4705) => [
       q(Mumuye),
       ],
-   q(4704) => [
+   q(4706) => [
       q(Mazanderani),
       ],
-   q(4705) => [
+   q(4707) => [
       q(Matipuhy),
       ],
-   q(4706) => [
+   q(4708) => [
       q(Movima),
       ],
-   q(4707) => [
+   q(4709) => [
       q(Mori Atas),
       ],
-   q(4708) => [
+   q(4710) => [
       q(Marubo),
       ],
-   q(4709) => [
+   q(4711) => [
       q(Macanese),
       ],
-   q(4710) => [
+   q(4712) => [
       q(Mintil),
       ],
-   q(4711) => [
+   q(4713) => [
       q(Inapang),
       ],
-   q(4712) => [
+   q(4714) => [
       q(Manza),
       ],
-   q(4713) => [
+   q(4715) => [
       q(Deg),
       ],
-   q(4714) => [
+   q(4716) => [
       q(Mawayana),
       ],
-   q(4715) => [
+   q(4717) => [
       q(Mozambican Sign Language),
       ],
-   q(4716) => [
+   q(4718) => [
       q(Maiadomu),
       ],
-   q(4717) => [
+   q(4719) => [
       q(Namla),
       ],
-   q(4718) => [
+   q(4720) => [
       q(Southern Nambikuara),
       ],
-   q(4719) => [
+   q(4721) => [
       q(Narak),
       ],
-   q(4720) => [
+   q(4722) => [
       q(Nijadali),
       ],
-   q(4721) => [
+   q(4723) => [
       q(Naka'ela),
       ],
-   q(4722) => [
+   q(4724) => [
       q(Nabak),
       ],
-   q(4723) => [
+   q(4725) => [
       q(Naga Pidgin),
       ],
-   q(4724) => [
+   q(4726) => [
       q(Nalu),
       ],
-   q(4725) => [
+   q(4727) => [
       q(Nakanai),
       ],
-   q(4726) => [
+   q(4728) => [
       q(Nalik),
       ],
-   q(4727) => [
+   q(4729) => [
       q(Ngan'gityemerri),
       ],
-   q(4728) => [
+   q(4730) => [
       q(Min Nan Chinese),
       ],
-   q(4729) => [
+   q(4731) => [
       q(Naaba),
       ],
-   q(4730) => [
+   q(4732) => [
       q(Khoekhoe),
       q(Nama (Namibia)),
       ],
-   q(4731) => [
+   q(4733) => [
       q(Iguta),
       ],
-   q(4732) => [
+   q(4734) => [
       q(Naasioi),
       ],
-   q(4733) => [
+   q(4735) => [
       q(Cahungwarya),
       q(Hungworo),
       ],
-   q(4734) => [
+   q(4736) => [
       q(Nawuri),
       ],
-   q(4735) => [
+   q(4737) => [
       q(Nakwi),
       ],
-   q(4736) => [
+   q(4738) => [
       q(Narrinyeri),
       ],
-   q(4737) => [
+   q(4739) => [
       q(Coatepec Nahuatl),
       ],
-   q(4738) => [
+   q(4740) => [
       q(Nyemba),
       ],
-   q(4739) => [
+   q(4741) => [
       q(Ndoe),
       ],
-   q(4740) => [
+   q(4742) => [
       q(Chang Naga),
       ],
-   q(4741) => [
+   q(4743) => [
       q(Ngbinda),
       ],
-   q(4742) => [
+   q(4744) => [
       q(Konyak Naga),
       ],
-   q(4743) => [
+   q(4745) => [
       q(Nagarchal),
       ],
-   q(4744) => [
+   q(4746) => [
       q(Ngamo),
       ],
-   q(4745) => [
+   q(4747) => [
       q(Mao Naga),
       ],
-   q(4746) => [
+   q(4748) => [
       q(Ngarinman),
       ],
-   q(4747) => [
+   q(4749) => [
       q(Nake),
       ],
-   q(4748) => [
+   q(4750) => [
       q(Ngbaka Ma'bo),
       ],
-   q(4749) => [
+   q(4751) => [
       q(Kuri),
       ],
-   q(4750) => [
+   q(4752) => [
       q(Nkukoli),
       ],
-   q(4751) => [
+   q(4753) => [
       q(Nnam),
       ],
-   q(4752) => [
+   q(4754) => [
       q(Nggem),
       ],
-   q(4753) => [
+   q(4755) => [
       q(Numana-Nunku-Gbantu-Numbu),
       ],
-   q(4754) => [
+   q(4756) => [
       q(Namibian Sign Language),
       ],
-   q(4755) => [
+   q(4757) => [
       q(Na),
       ],
-   q(4756) => [
+   q(4758) => [
       q(Rongmei Naga),
       ],
-   q(4757) => [
+   q(4759) => [
       q(Ngamambo),
       ],
-   q(4758) => [
+   q(4760) => [
       q(Southern Ngbandi),
       ],
-   q(4759) => [
+   q(4761) => [
       q(Ningera),
       ],
-   q(4760) => [
+   q(4762) => [
       q(Iyo),
       ],
-   q(4761) => [
+   q(4763) => [
       q(Central Nicobarese),
       ],
-   q(4762) => [
+   q(4764) => [
       q(Ponam),
       ],
-   q(4763) => [
+   q(4765) => [
       q(Nachering),
       ],
-   q(4764) => [
+   q(4766) => [
       q(Yale),
       ],
-   q(4765) => [
+   q(4767) => [
       q(Notsi),
       ],
-   q(4766) => [
+   q(4768) => [
       q(Nisga'a),
       ],
-   q(4767) => [
+   q(4769) => [
       q(Central Huasteca Nahuatl),
       ],
-   q(4768) => [
+   q(4770) => [
       q(Classical Nahuatl),
       ],
-   q(4769) => [
+   q(4771) => [
       q(Northern Puebla Nahuatl),
       ],
-   q(4770) => [
+   q(4772) => [
       q(Nakara),
       ],
-   q(4771) => [
+   q(4773) => [
       q(Michoacan Nahuatl),
       ],
-   q(4772) => [
+   q(4774) => [
       q(Nambo),
       ],
-   q(4773) => [
+   q(4775) => [
       q(Nauna),
       ],
-   q(4774) => [
+   q(4776) => [
       q(Sibe),
       ],
-   q(4775) => [
+   q(4777) => [
       q(Ndaktup),
       ],
-   q(4776) => [
+   q(4778) => [
       q(Ncane),
       ],
-   q(4777) => [
+   q(4779) => [
       q(Nicaraguan Sign Language),
       ],
-   q(4778) => [
+   q(4780) => [
       q(Chothe Naga),
       ],
-   q(4779) => [
+   q(4781) => [
       q(Chumburung),
       ],
-   q(4780) => [
+   q(4782) => [
       q(Central Puebla Nahuatl),
       ],
-   q(4781) => [
+   q(4783) => [
       q(Natchez),
       ],
-   q(4782) => [
+   q(4784) => [
       q(Ndasa),
       ],
-   q(4783) => [
+   q(4785) => [
       q(Kenswei Nsei),
       ],
-   q(4784) => [
+   q(4786) => [
       q(Ndau),
       ],
-   q(4785) => [
+   q(4787) => [
       q(Nde-Nsele-Nta),
       ],
-   q(4786) => [
+   q(4788) => [
       q(Nadruvian),
       ],
-   q(4787) => [
+   q(4789) => [
       q(Ndengereko),
       ],
-   q(4788) => [
+   q(4790) => [
       q(Ndali),
       ],
-   q(4789) => [
+   q(4791) => [
       q(Samba Leko),
       ],
-   q(4790) => [
+   q(4792) => [
       q(Ndamba),
       ],
-   q(4791) => [
+   q(4793) => [
       q(Ndaka),
       ],
-   q(4792) => [
+   q(4794) => [
       q(Ndolo),
       ],
-   q(4793) => [
+   q(4795) => [
       q(Ndam),
       ],
-   q(4794) => [
+   q(4796) => [
       q(Ngundi),
       ],
-   q(4795) => [
+   q(4797) => [
       q(Ndo),
       ],
-   q(4796) => [
+   q(4798) => [
       q(Ndombe),
       ],
-   q(4797) => [
+   q(4799) => [
       q(Ndoola),
       ],
-   q(4798) => [
+   q(4800) => [
       q(Ndunga),
       ],
-   q(4799) => [
+   q(4801) => [
       q(Dugun),
       ],
-   q(4800) => [
+   q(4802) => [
       q(Ndut),
       ],
-   q(4801) => [
+   q(4803) => [
       q(Ndobo),
       ],
-   q(4802) => [
+   q(4804) => [
       q(Nduga),
       ],
-   q(4803) => [
+   q(4805) => [
       q(Lutos),
       ],
-   q(4804) => [
+   q(4806) => [
       q(Ndogo),
       ],
-   q(4805) => [
+   q(4807) => [
       q(Eastern Ngad'a),
       ],
-   q(4806) => [
+   q(4808) => [
       q(Toura (Cote d'Ivoire)),
       ],
-   q(4807) => [
+   q(4809) => [
       q(Nedebang),
       ],
-   q(4808) => [
+   q(4810) => [
       q(Nde-Gbite),
       ],
-   q(4809) => [
+   q(4811) => [
       q(Nelemwa-Nixumwak),
       ],
-   q(4810) => [
+   q(4812) => [
       q(Nefamese),
       ],
-   q(4811) => [
+   q(4813) => [
       q(Negidal),
       ],
-   q(4812) => [
+   q(4814) => [
       q(Nyenkha),
       ],
-   q(4813) => [
+   q(4815) => [
       q(Neo-Hittite),
       ],
-   q(4814) => [
+   q(4816) => [
       q(Neko),
       ],
-   q(4815) => [
+   q(4817) => [
       q(Neku),
       ],
-   q(4816) => [
+   q(4818) => [
       q(Nemi),
       ],
-   q(4817) => [
+   q(4819) => [
       q(Nengone),
       ],
-   q(4818) => [
+   q(4820) => [
       q(Na-Meo),
       ],
-   q(4819) => [
+   q(4821) => [
       q(North Central Mixe),
       ],
-   q(4820) => [
+   q(4822) => [
       q(Yahadian),
       ],
-   q(4821) => [
+   q(4823) => [
       q(Bhoti Kinnauri),
       ],
-   q(4822) => [
+   q(4824) => [
       q(Nete),
       ],
-   q(4823) => [
+   q(4825) => [
       q(Neo),
       ],
-   q(4824) => [
+   q(4826) => [
       q(Nyaheun),
       ],
-   q(4825) => [
+   q(4827) => [
       q(Neme),
       ],
-   q(4826) => [
+   q(4828) => [
       q(Neyo),
       ],
-   q(4827) => [
+   q(4829) => [
       q(Nez Perce),
       ],
-   q(4828) => [
+   q(4830) => [
       q(Dhao),
       ],
-   q(4829) => [
+   q(4831) => [
       q(Ahwai),
       ],
-   q(4830) => [
+   q(4832) => [
       q(Ayiwo),
       q(Aiwoo),
       ],
-   q(4831) => [
+   q(4833) => [
       q(Nafaanra),
       ],
-   q(4832) => [
+   q(4834) => [
       q(Mfumte),
       ],
-   q(4833) => [
+   q(4835) => [
       q(Ngbaka),
       ],
-   q(4834) => [
+   q(4836) => [
       q(Northern Ngbandi),
       ],
-   q(4835) => [
+   q(4837) => [
       q(Ngombe (Democratic Republic of Congo)),
       ],
-   q(4836) => [
+   q(4838) => [
       q(Ngando (Central African Republic)),
       ],
-   q(4837) => [
+   q(4839) => [
       q(Ngemba),
       ],
-   q(4838) => [
+   q(4840) => [
       q(Ngbaka Manza),
       ],
-   q(4839) => [
+   q(4841) => [
       q(N/u),
       q(Nu),
       ],
-   q(4840) => [
+   q(4842) => [
       q(Ngizim),
       ],
-   q(4841) => [
+   q(4843) => [
       q(Ngie),
       ],
-   q(4842) => [
+   q(4844) => [
       q(Dalabon),
       ],
-   q(4843) => [
+   q(4845) => [
       q(Lomwe),
       ],
-   q(4844) => [
+   q(4846) => [
       q(Ngatik Men's Creole),
       ],
-   q(4845) => [
+   q(4847) => [
       q(Ngwo),
       ],
-   q(4846) => [
+   q(4848) => [
       q(Ngoni),
       ],
-   q(4847) => [
+   q(4849) => [
       q(Ngulu),
       ],
-   q(4848) => [
+   q(4850) => [
       q(Ngurimi),
       q(Ngoreme),
       ],
-   q(4849) => [
+   q(4851) => [
       q(Engdewu),
       ],
-   q(4850) => [
+   q(4852) => [
       q(Gvoko),
       ],
-   q(4851) => [
+   q(4853) => [
       q(Ngeq),
       ],
-   q(4852) => [
+   q(4854) => [
       q(Guerrero Nahuatl),
       ],
-   q(4853) => [
+   q(4855) => [
       q(Nagumi),
       ],
-   q(4854) => [
+   q(4856) => [
       q(Ngwaba),
       ],
-   q(4855) => [
+   q(4857) => [
       q(Nggwahyi),
       ],
-   q(4856) => [
+   q(4858) => [
       q(Tibea),
       ],
-   q(4857) => [
+   q(4859) => [
       q(Ngungwel),
       ],
-   q(4858) => [
+   q(4860) => [
       q(Nhanda),
       ],
-   q(4859) => [
+   q(4861) => [
       q(Beng),
       ],
-   q(4860) => [
+   q(4862) => [
       q(Tabasco Nahuatl),
       ],
-   q(4861) => [
+   q(4863) => [
       q(Chiripa),
       q(Ava Guarani),
       ],
-   q(4862) => [
+   q(4864) => [
       q(Eastern Huasteca Nahuatl),
       ],
-   q(4863) => [
+   q(4865) => [
       q(Nhuwala),
       ],
-   q(4864) => [
+   q(4866) => [
       q(Tetelcingo Nahuatl),
       ],
-   q(4865) => [
+   q(4867) => [
       q(Nahari),
       ],
-   q(4866) => [
+   q(4868) => [
       q(Zacatlan-Ahuacatlan-Tepetzintla Nahuatl),
       ],
-   q(4867) => [
+   q(4869) => [
       q(Isthmus-Cosoleacaque Nahuatl),
       ],
-   q(4868) => [
+   q(4870) => [
       q(Morelos Nahuatl),
       ],
-   q(4869) => [
+   q(4871) => [
       q(Central Nahuatl),
       ],
-   q(4870) => [
+   q(4872) => [
       q(Takuu),
       ],
-   q(4871) => [
+   q(4873) => [
       q(Isthmus-Pajapan Nahuatl),
       ],
-   q(4872) => [
+   q(4874) => [
       q(Huaxcaleca Nahuatl),
       ],
-   q(4873) => [
+   q(4875) => [
       q(Naro),
       ],
-   q(4874) => [
+   q(4876) => [
       q(Ometepec Nahuatl),
       ],
-   q(4875) => [
+   q(4877) => [
       q(Noone),
       ],
-   q(4876) => [
+   q(4878) => [
       q(Temascaltepec Nahuatl),
       ],
-   q(4877) => [
+   q(4879) => [
       q(Western Huasteca Nahuatl),
       ],
-   q(4878) => [
+   q(4880) => [
       q(Isthmus-Mecayapan Nahuatl),
       ],
-   q(4879) => [
+   q(4881) => [
       q(Northern Oaxaca Nahuatl),
       ],
-   q(4880) => [
+   q(4882) => [
       q(Santa Maria La Alta Nahuatl),
       ],
-   q(4881) => [
+   q(4883) => [
       q(Nakame),
       ],
-   q(4882) => [
+   q(4884) => [
       q(Ngandi),
       ],
-   q(4883) => [
+   q(4885) => [
       q(Niellim),
       ],
-   q(4884) => [
+   q(4886) => [
       q(Nek),
       ],
-   q(4885) => [
+   q(4887) => [
       q(Ngalakan),
       ],
-   q(4886) => [
+   q(4888) => [
       q(Nyiha (Tanzania)),
       ],
-   q(4887) => [
+   q(4889) => [
       q(Nii),
       ],
-   q(4888) => [
+   q(4890) => [
       q(Ngaju),
       ],
-   q(4889) => [
+   q(4891) => [
       q(Southern Nicobarese),
       ],
-   q(4890) => [
+   q(4892) => [
       q(Nila),
       ],
-   q(4891) => [
+   q(4893) => [
       q(Nilamba),
       ],
-   q(4892) => [
+   q(4894) => [
       q(Ninzo),
       ],
-   q(4893) => [
+   q(4895) => [
       q(Nganasan),
       ],
-   q(4894) => [
+   q(4896) => [
       q(Nandi),
       ],
-   q(4895) => [
+   q(4897) => [
       q(Nimboran),
       ],
-   q(4896) => [
+   q(4898) => [
       q(Nimi),
       ],
-   q(4897) => [
+   q(4899) => [
       q(Southeastern Kolami),
       ],
-   q(4898) => [
+   q(4900) => [
       q(Gilyak),
       ],
-   q(4899) => [
+   q(4901) => [
       q(Nimo),
       ],
-   q(4900) => [
+   q(4902) => [
       q(Hema),
       ],
-   q(4901) => [
+   q(4903) => [
       q(Ngiti),
       ],
-   q(4902) => [
+   q(4904) => [
       q(Ningil),
       ],
-   q(4903) => [
+   q(4905) => [
       q(Nzanyi),
       ],
-   q(4904) => [
+   q(4906) => [
       q(Nocte Naga),
       ],
-   q(4905) => [
+   q(4907) => [
       q(Ndonde Hamba),
       ],
-   q(4906) => [
+   q(4908) => [
       q(Lotha Naga),
       ],
-   q(4907) => [
+   q(4909) => [
       q(Gudanji),
       ],
-   q(4908) => [
+   q(4910) => [
       q(Njen),
       ],
-   q(4909) => [
+   q(4911) => [
       q(Njalgulgule),
       ],
-   q(4910) => [
+   q(4912) => [
       q(Angami Naga),
       ],
-   q(4911) => [
+   q(4913) => [
       q(Liangmai Naga),
       ],
-   q(4912) => [
+   q(4914) => [
       q(Ao Naga),
       ],
-   q(4913) => [
+   q(4915) => [
       q(Njerep),
       ],
-   q(4914) => [
+   q(4916) => [
       q(Nisa),
       ],
-   q(4915) => [
+   q(4917) => [
       q(Ndyuka-Trio Pidgin),
       ],
-   q(4916) => [
+   q(4918) => [
       q(Ngadjunmaya),
       ],
-   q(4917) => [
+   q(4919) => [
       q(Kunyi),
       ],
-   q(4918) => [
+   q(4920) => [
       q(Njyem),
       ],
-   q(4919) => [
+   q(4921) => [
       q(Nyishi),
       ],
-   q(4920) => [
+   q(4922) => [
       q(Nkoya),
       ],
-   q(4921) => [
+   q(4923) => [
       q(Khoibu Naga),
       ],
-   q(4922) => [
+   q(4924) => [
       q(Nkongho),
       ],
-   q(4923) => [
+   q(4925) => [
       q(Koireng),
       ],
-   q(4924) => [
+   q(4926) => [
       q(Duke),
       ],
-   q(4925) => [
+   q(4927) => [
       q(Inpui Naga),
       ],
-   q(4926) => [
+   q(4928) => [
       q(Nekgini),
       ],
-   q(4927) => [
+   q(4929) => [
       q(Khezha Naga),
       ],
-   q(4928) => [
+   q(4930) => [
       q(Thangal Naga),
       ],
-   q(4929) => [
+   q(4931) => [
       q(Nakai),
       ],
-   q(4930) => [
+   q(4932) => [
       q(Nokuku),
       ],
-   q(4931) => [
+   q(4933) => [
       q(Namat),
       ],
-   q(4932) => [
+   q(4934) => [
       q(Nkangala),
       ],
-   q(4933) => [
+   q(4935) => [
       q(Nkonya),
       ],
-   q(4934) => [
+   q(4936) => [
       q(Niuatoputapu),
       ],
-   q(4935) => [
+   q(4937) => [
       q(Nkami),
       ],
-   q(4936) => [
+   q(4938) => [
       q(Nukuoro),
       ],
-   q(4937) => [
+   q(4939) => [
       q(North Asmat),
       ],
-   q(4938) => [
+   q(4940) => [
       q(Nyika (Tanzania)),
       ],
-   q(4939) => [
+   q(4941) => [
       q(Bouna Kulango),
       ],
-   q(4940) => [
+   q(4942) => [
       q(Nyika (Malawi and Zambia)),
       ],
-   q(4941) => [
+   q(4943) => [
       q(Nkutu),
       ],
-   q(4942) => [
+   q(4944) => [
       q(Nkoroo),
       ],
-   q(4943) => [
+   q(4945) => [
       q(Nkari),
       ],
-   q(4944) => [
+   q(4946) => [
       q(Ngombale),
       ],
-   q(4945) => [
+   q(4947) => [
       q(Nalca),
       ],
-   q(4946) => [
+   q(4948) => [
       q(East Nyala),
       ],
-   q(4947) => [
+   q(4949) => [
       q(Gela),
       ],
-   q(4948) => [
+   q(4950) => [
       q(Grangali),
       ],
-   q(4949) => [
+   q(4951) => [
       q(Nyali),
       ],
-   q(4950) => [
+   q(4952) => [
       q(Ninia Yali),
       ],
-   q(4951) => [
+   q(4953) => [
       q(Nihali),
       ],
-   q(4952) => [
+   q(4954) => [
       q(Ngul),
       ],
-   q(4953) => [
+   q(4955) => [
       q(Lao Naga),
       ],
-   q(4954) => [
+   q(4956) => [
       q(Nchumbulu),
       ],
-   q(4955) => [
+   q(4957) => [
       q(Orizaba Nahuatl),
       ],
-   q(4956) => [
+   q(4958) => [
       q(Walangama),
       ],
-   q(4957) => [
+   q(4959) => [
       q(Nahali),
       ],
-   q(4958) => [
+   q(4960) => [
       q(Nyamal),
       ],
-   q(4959) => [
+   q(4961) => [
       q(Nalogo),
       ],
-   q(4960) => [
+   q(4962) => [
       q(Maram Naga),
       ],
-   q(4961) => [
+   q(4963) => [
       q(Big Nambas),
       q(V'enen Taut),
       ],
-   q(4962) => [
+   q(4964) => [
       q(Ngam),
       ],
-   q(4963) => [
+   q(4965) => [
       q(Ndumu),
       ],
-   q(4964) => [
+   q(4966) => [
       q(Mzieme Naga),
       ],
-   q(4965) => [
+   q(4967) => [
       q(Tangkhul Naga (India)),
       ],
-   q(4966) => [
+   q(4968) => [
       q(Kwasio),
       ],
-   q(4967) => [
+   q(4969) => [
       q(Monsang Naga),
       ],
-   q(4968) => [
+   q(4970) => [
       q(Nyam),
       ],
-   q(4969) => [
+   q(4971) => [
       q(Ngombe (Central African Republic)),
       ],
-   q(4970) => [
+   q(4972) => [
       q(Namakura),
       ],
-   q(4971) => [
+   q(4973) => [
       q(Ndemli),
       ],
-   q(4972) => [
+   q(4974) => [
       q(Manangba),
       ],
-   q(4973) => [
+   q(4975) => [
       q(!Xoo),
       q(Xoo),
       ],
-   q(4974) => [
+   q(4976) => [
       q(Moyon Naga),
       ],
-   q(4975) => [
+   q(4977) => [
       q(Nimanbur),
       ],
-   q(4976) => [
+   q(4978) => [
       q(Nambya),
       ],
-   q(4977) => [
+   q(4979) => [
       q(Nimbari),
       ],
-   q(4978) => [
+   q(4980) => [
       q(Letemboi),
       ],
-   q(4979) => [
+   q(4981) => [
       q(Namonuito),
       ],
-   q(4980) => [
+   q(4982) => [
       q(Northeast Maidu),
       ],
-   q(4981) => [
+   q(4983) => [
       q(Ngamini),
       ],
-   q(4982) => [
+   q(4984) => [
       q(Nimoa),
       q(Rifao),
       ],
-   q(4983) => [
+   q(4985) => [
       q(Nama (Papua New Guinea)),
       ],
-   q(4984) => [
+   q(4986) => [
       q(Namuyi),
       ],
-   q(4985) => [
+   q(4987) => [
       q(Nawdm),
       ],
-   q(4986) => [
+   q(4988) => [
       q(Nyangumarta),
       ],
-   q(4987) => [
+   q(4989) => [
       q(Nande),
       ],
-   q(4988) => [
+   q(4990) => [
       q(Nancere),
       ],
-   q(4989) => [
+   q(4991) => [
       q(West Ambae),
       ],
-   q(4990) => [
+   q(4992) => [
       q(Ngandyera),
       ],
-   q(4991) => [
+   q(4993) => [
       q(Ngaing),
       ],
-   q(4992) => [
+   q(4994) => [
       q(Maring Naga),
       ],
-   q(4993) => [
+   q(4995) => [
       q(Ngiemboon),
       ],
-   q(4994) => [
+   q(4996) => [
       q(North Nuaulu),
       ],
-   q(4995) => [
+   q(4997) => [
       q(Nyangatom),
       ],
-   q(4996) => [
+   q(4998) => [
       q(Nankina),
       ],
-   q(4997) => [
+   q(4999) => [
       q(Northern Rengma Naga),
       ],
-   q(4998) => [
+   q(5000) => [
       q(Namia),
       ],
-   q(4999) => [
+   q(5001) => [
       q(Ngete),
       ],
-   q(5000) => [
+   q(5002) => [
       q(Wancho Naga),
       ],
-   q(5001) => [
+   q(5003) => [
       q(Ngindo),
       ],
-   q(5002) => [
+   q(5004) => [
       q(Narungga),
       ],
-   q(5003) => [
+   q(5005) => [
       q(Ningye),
       ],
-   q(5004) => [
+   q(5006) => [
       q(Nanticoke),
       ],
-   q(5005) => [
+   q(5007) => [
       q(Dwang),
       ],
-   q(5006) => [
+   q(5008) => [
       q(Nugunu (Australia)),
       ],
-   q(5007) => [
+   q(5009) => [
       q(Southern Nuni),
       ],
-   q(5008) => [
+   q(5010) => [
       q(Nyangga),
       ],
-   q(5009) => [
+   q(5011) => [
       q(Nda'nda'),
       ],
-   q(5010) => [
+   q(5012) => [
       q(Woun Meu),
       ],
-   q(5011) => [
+   q(5013) => [
       q(Nuk),
       ],
-   q(5012) => [
+   q(5014) => [
       q(Northern Thai),
       ],
-   q(5013) => [
+   q(5015) => [
       q(Nimadi),
       ],
-   q(5014) => [
+   q(5016) => [
       q(Nomane),
       ],
-   q(5015) => [
+   q(5017) => [
       q(Nomu),
       ],
-   q(5016) => [
+   q(5018) => [
       q(Noiri),
       ],
-   q(5017) => [
+   q(5019) => [
       q(Nonuya),
       ],
-   q(5018) => [
+   q(5020) => [
       q(Nooksack),
       ],
-   q(5019) => [
+   q(5021) => [
       q(Nomlaki),
       ],
-   q(5020) => [
+   q(5022) => [
       q(Nocaman),
       ],
-   q(5021) => [
+   q(5023) => [
       q(Numanggang),
       ],
-   q(5022) => [
+   q(5024) => [
       q(Ngongo),
       ],
-   q(5023) => [
+   q(5025) => [
       q(Eastern Nisu),
       ],
-   q(5024) => [
+   q(5026) => [
       q(Nomatsiguenga),
       ],
-   q(5025) => [
+   q(5027) => [
       q(Ewage-Notu),
       ],
-   q(5026) => [
+   q(5028) => [
       q(Novial),
       ],
-   q(5027) => [
+   q(5029) => [
       q(Nyambo),
       ],
-   q(5028) => [
+   q(5030) => [
       q(Noy),
       ],
-   q(5029) => [
+   q(5031) => [
       q(Nayi),
       ],
-   q(5030) => [
+   q(5032) => [
       q(Nar Phu),
       ],
-   q(5031) => [
+   q(5033) => [
       q(Nupbikha),
       ],
-   q(5032) => [
+   q(5034) => [
       q(Ponyo-Gongwang Naga),
       ],
-   q(5033) => [
+   q(5035) => [
       q(Phom Naga),
       ],
-   q(5034) => [
+   q(5036) => [
       q(Nepali (individual language)),
       ],
-   q(5035) => [
+   q(5037) => [
       q(Southeastern Puebla Nahuatl),
       ],
-   q(5036) => [
+   q(5038) => [
       q(Mondropolon),
       ],
-   q(5037) => [
+   q(5039) => [
       q(Pochuri Naga),
       ],
-   q(5038) => [
+   q(5040) => [
       q(Nipsan),
       ],
-   q(5039) => [
+   q(5041) => [
       q(Puimei Naga),
       ],
-   q(5040) => [
+   q(5042) => [
       q(Napu),
       ],
-   q(5041) => [
+   q(5043) => [
       q(Southern Nago),
       ],
-   q(5042) => [
+   q(5044) => [
       q(Kura Ede Nago),
       ],
-   q(5043) => [
+   q(5045) => [
       q(Ndom),
       ],
-   q(5044) => [
+   q(5046) => [
       q(Nen),
       ],
-   q(5045) => [
+   q(5047) => [
       q(Kyan-Karyaw Naga),
       ],
-   q(5046) => [
+   q(5048) => [
       q(Akyaung Ari Naga),
       ],
-   q(5047) => [
+   q(5049) => [
       q(Ngom),
       ],
-   q(5048) => [
+   q(5050) => [
       q(Nara),
       ],
-   q(5049) => [
+   q(5051) => [
       q(Noric),
       ],
-   q(5050) => [
+   q(5052) => [
       q(Southern Rengma Naga),
       ],
-   q(5051) => [
+   q(5053) => [
       q(Jerriais),
       q(Guernesiais),
       ],
-   q(5052) => [
+   q(5054) => [
       q(Narango),
       ],
-   q(5053) => [
+   q(5055) => [
       q(Chokri Naga),
       ],
-   q(5054) => [
+   q(5056) => [
       q(Ngarla),
       ],
-   q(5055) => [
+   q(5057) => [
       q(Ngarluma),
       ],
-   q(5056) => [
+   q(5058) => [
       q(Narom),
       ],
-   q(5057) => [
+   q(5059) => [
       q(Norn),
       ],
-   q(5058) => [
+   q(5060) => [
       q(North Picene),
       ],
-   q(5059) => [
+   q(5061) => [
       q(Norra),
       q(Nora),
       ],
-   q(5060) => [
+   q(5062) => [
       q(Northern Kalapuya),
       ],
-   q(5061) => [
+   q(5063) => [
       q(Narua),
       ],
-   q(5062) => [
+   q(5064) => [
       q(Ngurmbur),
       ],
-   q(5063) => [
+   q(5065) => [
       q(Lala),
       ],
-   q(5064) => [
+   q(5066) => [
       q(Sangtam Naga),
       ],
-   q(5065) => [
+   q(5067) => [
       q(Nshi),
       ],
-   q(5066) => [
+   q(5068) => [
       q(Southern Nisu),
       ],
-   q(5067) => [
+   q(5069) => [
       q(Nsenga),
       ],
-   q(5068) => [
+   q(5070) => [
       q(Northwestern Nisu),
       ],
-   q(5069) => [
+   q(5071) => [
       q(Ngasa),
       ],
-   q(5070) => [
+   q(5072) => [
       q(Ngoshie),
       ],
-   q(5071) => [
+   q(5073) => [
       q(Nigerian Sign Language),
       ],
-   q(5072) => [
+   q(5074) => [
       q(Naskapi),
       ],
-   q(5073) => [
+   q(5075) => [
       q(Norwegian Sign Language),
       ],
-   q(5074) => [
+   q(5076) => [
       q(Sumi Naga),
       ],
-   q(5075) => [
+   q(5077) => [
       q(Nehan),
       ],
-   q(5076) => [
+   q(5078) => [
       q(Nepalese Sign Language),
       ],
-   q(5077) => [
+   q(5079) => [
       q(Northern Sierra Miwok),
       ],
-   q(5078) => [
+   q(5080) => [
       q(Maritime Sign Language),
       ],
-   q(5079) => [
+   q(5081) => [
       q(Nali),
       ],
-   q(5080) => [
+   q(5082) => [
       q(Tase Naga),
       ],
-   q(5081) => [
+   q(5083) => [
       q(Sierra Negra Nahuatl),
       ],
-   q(5082) => [
+   q(5084) => [
       q(Southwestern Nisu),
       ],
-   q(5083) => [
+   q(5085) => [
       q(Navut),
       ],
-   q(5084) => [
+   q(5086) => [
       q(Nsongo),
       ],
-   q(5085) => [
+   q(5087) => [
       q(Nasal),
       ],
-   q(5086) => [
+   q(5088) => [
       q(Nisenan),
       ],
-   q(5087) => [
+   q(5089) => [
       q(Nathembo),
       ],
-   q(5088) => [
+   q(5090) => [
       q(Ngantangarra),
       ],
-   q(5089) => [
+   q(5091) => [
       q(Natioro),
       ],
-   q(5090) => [
+   q(5092) => [
       q(Ngaanyatjarra),
       ],
-   q(5091) => [
+   q(5093) => [
       q(Ikoma-Nata-Isenye),
       ],
-   q(5092) => [
+   q(5094) => [
       q(Nateni),
       ],
-   q(5093) => [
+   q(5095) => [
       q(Ntomba),
       ],
-   q(5094) => [
+   q(5096) => [
       q(Northern Tepehuan),
       ],
-   q(5095) => [
+   q(5097) => [
       q(Delo),
       ],
-   q(5096) => [
+   q(5098) => [
       q(Natagaimas),
       ],
-   q(5097) => [
+   q(5099) => [
       q(Natugu),
       ],
-   q(5098) => [
+   q(5100) => [
       q(Nottoway),
       ],
-   q(5099) => [
+   q(5101) => [
       q(Tangkhul Naga (Myanmar)),
       ],
-   q(5100) => [
+   q(5102) => [
       q(Mantsi),
       ],
-   q(5101) => [
+   q(5103) => [
       q(Natanzi),
       ],
-   q(5102) => [
+   q(5104) => [
       q(Yuanga),
       ],
-   q(5103) => [
+   q(5105) => [
       q(Nukuini),
       ],
-   q(5104) => [
+   q(5106) => [
       q(Ngala),
       ],
-   q(5105) => [
+   q(5107) => [
       q(Ngundu),
       ],
-   q(5106) => [
+   q(5108) => [
       q(Nusu),
       ],
-   q(5107) => [
+   q(5109) => [
       q(Nungali),
       ],
-   q(5108) => [
+   q(5110) => [
       q(Ndunda),
       ],
-   q(5109) => [
+   q(5111) => [
       q(Ngumbi),
       ],
-   q(5110) => [
+   q(5112) => [
       q(Nyole),
       ],
-   q(5111) => [
+   q(5113) => [
       q(Nuu-chah-nulth),
       q(Nuuchahnulth),
       ],
-   q(5112) => [
+   q(5114) => [
       q(Nusa Laut),
       ],
-   q(5113) => [
+   q(5115) => [
       q(Niuafo'ou),
       ],
-   q(5114) => [
+   q(5116) => [
       q(Anong),
       ],
-   q(5115) => [
+   q(5117) => [
       q(Nguon),
       ],
-   q(5116) => [
+   q(5118) => [
       q(Nupe-Nupe-Tako),
       ],
-   q(5117) => [
+   q(5119) => [
       q(Nukumanu),
       ],
-   q(5118) => [
+   q(5120) => [
       q(Nukuria),
       ],
-   q(5119) => [
+   q(5121) => [
       q(Nuer),
       ],
-   q(5120) => [
+   q(5122) => [
       q(Nung (Viet Nam)),
       ],
-   q(5121) => [
+   q(5123) => [
       q(Ngbundu),
       ],
-   q(5122) => [
+   q(5124) => [
       q(Northern Nuni),
       ],
-   q(5123) => [
+   q(5125) => [
       q(Nguluwan),
       ],
-   q(5124) => [
+   q(5126) => [
       q(Mehek),
       ],
-   q(5125) => [
+   q(5127) => [
       q(Nunggubuyu),
       ],
-   q(5126) => [
+   q(5128) => [
       q(Tlamacazapa Nahuatl),
       ],
-   q(5127) => [
+   q(5129) => [
       q(Nasarian),
       ],
-   q(5128) => [
+   q(5130) => [
       q(Namiae),
       ],
-   q(5129) => [
+   q(5131) => [
       q(Nyokon),
       ],
-   q(5130) => [
+   q(5132) => [
       q(Nawathinehena),
       ],
-   q(5131) => [
+   q(5133) => [
       q(Nyabwa),
       ],
-   q(5132) => [
+   q(5134) => [
       q(Ngwe),
       ],
-   q(5133) => [
+   q(5135) => [
       q(Ngayawung),
       ],
-   q(5134) => [
+   q(5136) => [
       q(Southwest Tanna),
       ],
-   q(5135) => [
+   q(5137) => [
       q(Nyamusa-Molo),
       ],
-   q(5136) => [
+   q(5138) => [
       q(Nauo),
       ],
-   q(5137) => [
+   q(5139) => [
       q(Nawaru),
       ],
-   q(5138) => [
+   q(5140) => [
       q(Middle Newar),
       ],
-   q(5139) => [
+   q(5141) => [
       q(Nottoway-Meherrin),
       ],
-   q(5140) => [
+   q(5142) => [
       q(Nauete),
       ],
-   q(5141) => [
+   q(5143) => [
       q(Ngando (Democratic Republic of Congo)),
       ],
-   q(5142) => [
+   q(5144) => [
       q(Nage),
       ],
-   q(5143) => [
+   q(5145) => [
       q(Ngad'a),
       ],
-   q(5144) => [
+   q(5146) => [
       q(Nindi),
       ],
-   q(5145) => [
+   q(5147) => [
       q(Koki Naga),
       ],
-   q(5146) => [
+   q(5148) => [
       q(South Nuaulu),
       ],
-   q(5147) => [
+   q(5149) => [
       q(Numidian),
       ],
-   q(5148) => [
+   q(5150) => [
       q(Ngawun),
       ],
-   q(5149) => [
+   q(5151) => [
       q(Ndambomo),
       ],
-   q(5150) => [
+   q(5152) => [
       q(Naxi),
       ],
-   q(5151) => [
+   q(5153) => [
       q(Ninggerum),
       ],
-   q(5152) => [
+   q(5154) => [
       q(Narau),
       ],
-   q(5153) => [
+   q(5155) => [
       q(Nafri),
       ],
-   q(5154) => [
+   q(5156) => [
       q(Nyangbo),
       ],
-   q(5155) => [
+   q(5157) => [
       q(Nyanga-li),
       ],
-   q(5156) => [
+   q(5158) => [
       q(Nyore),
       q(Olunyole),
       ],
-   q(5157) => [
+   q(5159) => [
       q(Nyengo),
       ],
-   q(5158) => [
+   q(5160) => [
       q(Giryama),
       q(Kigiryama),
       ],
-   q(5159) => [
+   q(5161) => [
       q(Nyindu),
       ],
-   q(5160) => [
+   q(5162) => [
       q(Nyigina),
       ],
-   q(5161) => [
+   q(5163) => [
       q(Ama (Sudan)),
       ],
-   q(5162) => [
+   q(5164) => [
       q(Nyanga),
       ],
-   q(5163) => [
+   q(5165) => [
       q(Nyaneka),
       ],
-   q(5164) => [
+   q(5166) => [
       q(Nyeu),
       ],
-   q(5165) => [
+   q(5167) => [
       q(Nyang'i),
       ],
-   q(5166) => [
+   q(5168) => [
       q(Nayini),
       ],
-   q(5167) => [
+   q(5169) => [
       q(Nyiha (Malawi)),
       ],
-   q(5168) => [
+   q(5170) => [
       q(Nyunga),
       ],
-   q(5169) => [
+   q(5171) => [
       q(Nyawaygi),
       ],
-   q(5170) => [
+   q(5172) => [
       q(Nyungwe),
       ],
-   q(5171) => [
+   q(5173) => [
       q(Nyulnyul),
       ],
-   q(5172) => [
+   q(5174) => [
       q(Nyaw),
       ],
-   q(5173) => [
+   q(5175) => [
       q(Nganyaywana),
       ],
-   q(5174) => [
+   q(5176) => [
       q(Nyakyusa-Ngonde),
       ],
-   q(5175) => [
+   q(5177) => [
       q(Tigon Mbembe),
       ],
-   q(5176) => [
+   q(5178) => [
       q(Njebi),
       ],
-   q(5177) => [
+   q(5179) => [
       q(Nzakara),
       ],
-   q(5178) => [
+   q(5180) => [
       q(Zeme Naga),
       ],
-   q(5179) => [
+   q(5181) => [
       q(New Zealand Sign Language),
       ],
-   q(5180) => [
+   q(5182) => [
       q(Teke-Nzikou),
       ],
-   q(5181) => [
+   q(5183) => [
       q(Nzakambay),
       ],
-   q(5182) => [
+   q(5184) => [
       q(Nanga Dama Dogon),
       ],
-   q(5183) => [
+   q(5185) => [
       q(Orok),
       ],
-   q(5184) => [
+   q(5186) => [
       q(Oroch),
       ],
-   q(5185) => [
+   q(5187) => [
       q(Old Aramaic (up to 700 BCE)),
       q(Ancient Aramaic (up to 700 BCE)),
       ],
-   q(5186) => [
+   q(5188) => [
       q(Old Avar),
       ],
-   q(5187) => [
+   q(5189) => [
       q(Obispeno),
       ],
-   q(5188) => [
+   q(5190) => [
       q(Southern Bontok),
       ],
-   q(5189) => [
+   q(5191) => [
       q(Oblo),
       ],
-   q(5190) => [
+   q(5192) => [
       q(Moabite),
       ],
-   q(5191) => [
+   q(5193) => [
       q(Obo Manobo),
       ],
-   q(5192) => [
+   q(5194) => [
       q(Old Burmese),
       ],
-   q(5193) => [
+   q(5195) => [
       q(Old Breton),
       ],
-   q(5194) => [
+   q(5196) => [
       q(Obulom),
       ],
-   q(5195) => [
+   q(5197) => [
       q(Ocaina),
       ],
-   q(5196) => [
+   q(5198) => [
       q(Old Chinese),
       ],
-   q(5197) => [
+   q(5199) => [
       q(Old Cornish),
       ],
-   q(5198) => [
+   q(5200) => [
       q(Atzingo Matlatzinca),
       ],
-   q(5199) => [
+   q(5201) => [
       q(Odut),
       ],
-   q(5200) => [
+   q(5202) => [
       q(Od),
       ],
-   q(5201) => [
+   q(5203) => [
       q(Old Dutch),
       ],
-   q(5202) => [
+   q(5204) => [
       q(Odual),
       ],
-   q(5203) => [
+   q(5205) => [
       q(Ofo),
       ],
-   q(5204) => [
+   q(5206) => [
       q(Old Frisian),
       ],
-   q(5205) => [
+   q(5207) => [
       q(Efutop),
       ],
-   q(5206) => [
+   q(5208) => [
       q(Ogbia),
       ],
-   q(5207) => [
+   q(5209) => [
       q(Ogbah),
       ],
-   q(5208) => [
+   q(5210) => [
       q(Old Georgian),
       ],
-   q(5209) => [
+   q(5211) => [
       q(Ogbogolo),
       ],
-   q(5210) => [
+   q(5212) => [
       q(Khana),
       ],
-   q(5211) => [
+   q(5213) => [
       q(Ogbronuagum),
       ],
-   q(5212) => [
+   q(5214) => [
       q(Old Hittite),
       ],
-   q(5213) => [
+   q(5215) => [
       q(Old Hungarian),
       ],
-   q(5214) => [
+   q(5216) => [
       q(Oirata),
       ],
-   q(5215) => [
+   q(5217) => [
       q(Inebu One),
       ],
-   q(5216) => [
+   q(5218) => [
       q(Northwestern Ojibwa),
       ],
-   q(5217) => [
+   q(5219) => [
       q(Central Ojibwa),
       ],
-   q(5218) => [
+   q(5220) => [
       q(Eastern Ojibwa),
       ],
-   q(5219) => [
+   q(5221) => [
       q(Old Japanese),
       ],
-   q(5220) => [
+   q(5222) => [
       q(Severn Ojibwa),
       ],
-   q(5221) => [
+   q(5223) => [
       q(Ontong Java),
       ],
-   q(5222) => [
+   q(5224) => [
       q(Western Ojibwa),
       ],
-   q(5223) => [
+   q(5225) => [
       q(Okanagan),
       ],
-   q(5224) => [
+   q(5226) => [
       q(Okobo),
       ],
-   q(5225) => [
+   q(5227) => [
       q(Okodia),
       ],
-   q(5226) => [
+   q(5228) => [
       q(Okpe (Southwestern Edo)),
       ],
-   q(5227) => [
+   q(5229) => [
       q(Koko Babangk),
       ],
-   q(5228) => [
+   q(5230) => [
       q(Koresh-e Rostam),
       ],
-   q(5229) => [
+   q(5231) => [
       q(Okiek),
       ],
-   q(5230) => [
+   q(5232) => [
       q(Oko-Juwoi),
       ],
-   q(5231) => [
+   q(5233) => [
       q(Kwamtim One),
       ],
-   q(5232) => [
+   q(5234) => [
       q(Old Kentish Sign Language),
       ],
-   q(5233) => [
+   q(5235) => [
       q(Middle Korean (10th-16th cent.)),
       ],
-   q(5234) => [
+   q(5236) => [
       q(Oki-No-Erabu),
       ],
-   q(5235) => [
+   q(5237) => [
       q(Old Korean (3rd-9th cent.)),
       ],
-   q(5236) => [
+   q(5238) => [
       q(Kirike),
       ],
-   q(5237) => [
+   q(5239) => [
       q(Oko-Eni-Osayen),
       ],
-   q(5238) => [
+   q(5240) => [
       q(Oku),
       ],
-   q(5239) => [
+   q(5241) => [
       q(Orokaiva),
       ],
-   q(5240) => [
+   q(5242) => [
       q(Okpe (Northwestern Edo)),
       ],
-   q(5241) => [
+   q(5243) => [
       q(Walungge),
       ],
-   q(5242) => [
+   q(5244) => [
       q(Mochi),
       ],
-   q(5243) => [
+   q(5245) => [
       q(Olekha),
       ],
-   q(5244) => [
+   q(5246) => [
       q(Olkol),
       ],
-   q(5245) => [
+   q(5247) => [
       q(Oloma),
       ],
-   q(5246) => [
+   q(5248) => [
       q(Livvi),
       ],
-   q(5247) => [
+   q(5249) => [
       q(Olrat),
       ],
-   q(5248) => [
+   q(5250) => [
       q(Old Lithuanian),
       ],
-   q(5249) => [
+   q(5251) => [
       q(Omaha-Ponca),
       ],
-   q(5250) => [
+   q(5252) => [
       q(East Ambae),
       ],
-   q(5251) => [
+   q(5253) => [
       q(Mochica),
       ],
-   q(5252) => [
+   q(5254) => [
       q(Omejes),
       ],
-   q(5253) => [
+   q(5255) => [
       q(Omagua),
       ],
-   q(5254) => [
+   q(5256) => [
       q(Omi),
       ],
-   q(5255) => [
+   q(5257) => [
       q(Omok),
       ],
-   q(5256) => [
+   q(5258) => [
       q(Ombo),
       ],
-   q(5257) => [
+   q(5259) => [
       q(Minoan),
       ],
-   q(5258) => [
+   q(5260) => [
       q(Utarmbung),
       ],
-   q(5259) => [
+   q(5261) => [
       q(Old Manipuri),
       ],
-   q(5260) => [
+   q(5262) => [
       q(Old Marathi),
       ],
-   q(5261) => [
+   q(5263) => [
       q(Omotik),
       ],
-   q(5262) => [
+   q(5264) => [
       q(Omurano),
       ],
-   q(5263) => [
+   q(5265) => [
       q(South Tairora),
       ],
-   q(5264) => [
+   q(5266) => [
       q(Old Mon),
       ],
-   q(5265) => [
+   q(5267) => [
       q(Ona),
       ],
-   q(5266) => [
+   q(5268) => [
       q(Lingao),
       ],
-   q(5267) => [
+   q(5269) => [
       q(Oneida),
       ],
-   q(5268) => [
+   q(5270) => [
       q(Olo),
       ],
-   q(5269) => [
+   q(5271) => [
       q(Onin),
       ],
-   q(5270) => [
+   q(5272) => [
       q(Onjob),
       ],
-   q(5271) => [
+   q(5273) => [
       q(Kabore One),
       ],
-   q(5272) => [
+   q(5274) => [
       q(Onobasulu),
       ],
-   q(5273) => [
+   q(5275) => [
       q(Onondaga),
       ],
-   q(5274) => [
+   q(5276) => [
       q(Sartang),
       ],
-   q(5275) => [
+   q(5277) => [
       q(Northern One),
       ],
-   q(5276) => [
+   q(5278) => [
       q(Ono),
       ],
-   q(5277) => [
+   q(5279) => [
       q(Ontenu),
       ],
-   q(5278) => [
+   q(5280) => [
       q(Unua),
       ],
-   q(5279) => [
+   q(5281) => [
       q(Old Nubian),
       ],
-   q(5280) => [
+   q(5282) => [
       q(Onin Based Pidgin),
       ],
-   q(5281) => [
+   q(5283) => [
       q(Tohono O'odham),
       ],
-   q(5282) => [
+   q(5284) => [
       q(Ong),
       ],
-   q(5283) => [
+   q(5285) => [
       q(Onge),
       ],
-   q(5284) => [
+   q(5286) => [
       q(Oorlams),
       ],
-   q(5285) => [
+   q(5287) => [
       q(Old Ossetic),
       ],
-   q(5286) => [
+   q(5288) => [
       q(Okpamheri),
       ],
-   q(5287) => [
+   q(5289) => [
       q(Kopkaka),
       ],
-   q(5288) => [
+   q(5290) => [
       q(Oksapmin),
       ],
-   q(5289) => [
+   q(5291) => [
       q(Opao),
       ],
-   q(5290) => [
+   q(5292) => [
       q(Opata),
       ],
-   q(5291) => [
+   q(5293) => [
       q(Ofaye),
       ],
-   q(5292) => [
+   q(5294) => [
       q(Oroha),
       ],
-   q(5293) => [
+   q(5295) => [
       q(Orma),
       ],
-   q(5294) => [
+   q(5296) => [
       q(Orejon),
       ],
-   q(5295) => [
+   q(5297) => [
       q(Oring),
       ],
-   q(5296) => [
+   q(5298) => [
       q(Oroqen),
       ],
-   q(5297) => [
+   q(5299) => [
       q(Orang Kanaq),
       ],
-   q(5298) => [
+   q(5300) => [
       q(Orokolo),
       ],
-   q(5299) => [
+   q(5301) => [
       q(Oruma),
       ],
-   q(5300) => [
+   q(5302) => [
       q(Orang Seletar),
       ],
-   q(5301) => [
+   q(5303) => [
       q(Adivasi Oriya),
       ],
-   q(5302) => [
+   q(5304) => [
       q(Ormuri),
       ],
-   q(5303) => [
+   q(5305) => [
       q(Old Russian),
       ],
-   q(5304) => [
+   q(5306) => [
       q(Oro Win),
       ],
-   q(5305) => [
+   q(5307) => [
       q(Oro),
       ],
-   q(5306) => [
+   q(5308) => [
       q(Oriya (individual language)),
       ],
-   q(5307) => [
+   q(5309) => [
       q(Ormu),
       ],
-   q(5308) => [
+   q(5310) => [
       q(Oscan),
       ],
-   q(5309) => [
+   q(5311) => [
       q(Osing),
       ],
-   q(5310) => [
+   q(5312) => [
       q(Ososo),
       ],
-   q(5311) => [
+   q(5313) => [
       q(Old Spanish),
       ],
-   q(5312) => [
+   q(5314) => [
       q(Osatu),
       ],
-   q(5313) => [
+   q(5315) => [
       q(Southern One),
       ],
-   q(5314) => [
+   q(5316) => [
       q(Old Saxon),
       ],
-   q(5315) => [
+   q(5317) => [
       q(Old Tibetan),
       ],
-   q(5316) => [
+   q(5318) => [
       q(Ot Danum),
       ],
-   q(5317) => [
+   q(5319) => [
       q(Mezquital Otomi),
       ],
-   q(5318) => [
+   q(5320) => [
       q(Oti),
       ],
-   q(5319) => [
+   q(5321) => [
       q(Old Turkish),
       ],
-   q(5320) => [
+   q(5322) => [
       q(Tilapa Otomi),
       ],
-   q(5321) => [
+   q(5323) => [
       q(Eastern Highland Otomi),
       ],
-   q(5322) => [
+   q(5324) => [
       q(Tenango Otomi),
       ],
-   q(5323) => [
+   q(5325) => [
       q(Queretaro Otomi),
       ],
-   q(5324) => [
+   q(5326) => [
       q(Otoro),
       ],
-   q(5325) => [
+   q(5327) => [
       q(Estado de Mexico Otomi),
       ],
-   q(5326) => [
+   q(5328) => [
       q(Temoaya Otomi),
       ],
-   q(5327) => [
+   q(5329) => [
       q(Otuke),
       ],
-   q(5328) => [
+   q(5330) => [
       q(Ottawa),
       ],
-   q(5329) => [
+   q(5331) => [
       q(Texcatepec Otomi),
       ],
-   q(5330) => [
+   q(5332) => [
       q(Old Tamil),
       ],
-   q(5331) => [
+   q(5333) => [
       q(Ixtenco Otomi),
       ],
-   q(5332) => [
+   q(5334) => [
       q(Tagargrent),
       ],
-   q(5333) => [
+   q(5335) => [
       q(Glio-Oubi),
       ],
-   q(5334) => [
+   q(5336) => [
       q(Oune),
       ],
-   q(5335) => [
+   q(5337) => [
       q(Old Uighur),
       ],
-   q(5336) => [
+   q(5338) => [
       q(Ouma),
       ],
-   q(5337) => [
+   q(5339) => [
       q(Owiniga),
       ],
-   q(5338) => [
+   q(5340) => [
       q(Old Welsh),
       ],
-   q(5339) => [
+   q(5341) => [
       q(Oy),
       ],
-   q(5340) => [
+   q(5342) => [
       q(Oyda),
       ],
-   q(5341) => [
+   q(5343) => [
       q(Wayampi),
       ],
-   q(5342) => [
+   q(5344) => [
       q(Oya'oya),
       ],
-   q(5343) => [
+   q(5345) => [
       q(Koonzime),
       ],
-   q(5344) => [
+   q(5346) => [
       q(Parecis),
       ],
-   q(5345) => [
+   q(5347) => [
       q(Pacoh),
       ],
-   q(5346) => [
+   q(5348) => [
       q(Paumari),
       ],
-   q(5347) => [
+   q(5349) => [
       q(Pagibete),
       ],
-   q(5348) => [
+   q(5350) => [
       q(Paranawat),
       ],
-   q(5349) => [
+   q(5351) => [
       q(Tenharim),
       ],
-   q(5350) => [
+   q(5352) => [
       q(Pe),
       ],
-   q(5351) => [
+   q(5353) => [
       q(Parakana),
       ],
-   q(5352) => [
+   q(5354) => [
       q(Northern Paiute),
       ],
-   q(5353) => [
+   q(5355) => [
       q(Parya),
       ],
-   q(5354) => [
+   q(5356) => [
       q(Panamint),
       q(Timbisha),
       ],
-   q(5355) => [
+   q(5357) => [
       q(Papasena),
       ],
-   q(5356) => [
+   q(5358) => [
       q(Papitalai),
       ],
-   q(5357) => [
+   q(5359) => [
       q(Pakaasnovos),
       ],
-   q(5358) => [
+   q(5360) => [
       q(Pawnee),
       ],
-   q(5359) => [
+   q(5361) => [
       q(Pankarare),
       ],
-   q(5360) => [
+   q(5362) => [
       q(Pech),
       ],
-   q(5361) => [
+   q(5363) => [
       q(Pankararu),
       ],
-   q(5362) => [
+   q(5364) => [
       q(Paez),
       ],
-   q(5363) => [
+   q(5365) => [
       q(Patamona),
       ],
-   q(5364) => [
+   q(5366) => [
       q(Mezontla Popoloca),
       ],
-   q(5365) => [
+   q(5367) => [
       q(Coyotepec Popoloca),
       ],
-   q(5366) => [
+   q(5368) => [
       q(Paraujano),
       ],
-   q(5367) => [
+   q(5369) => [
       q(E'napa Woromaipu),
       ],
-   q(5368) => [
+   q(5370) => [
       q(Parkwa),
       ],
-   q(5369) => [
+   q(5371) => [
       q(Mak (Nigeria)),
       ],
-   q(5370) => [
+   q(5372) => [
       q(Kpasam),
       ],
-   q(5371) => [
+   q(5373) => [
       q(Papel),
       ],
-   q(5372) => [
+   q(5374) => [
       q(Badyara),
       ],
-   q(5373) => [
+   q(5375) => [
       q(Pangwa),
       ],
-   q(5374) => [
+   q(5376) => [
       q(Central Pame),
       ],
-   q(5375) => [
+   q(5377) => [
       q(Southern Pashto),
       ],
-   q(5376) => [
+   q(5378) => [
       q(Northern Pashto),
       ],
-   q(5377) => [
+   q(5379) => [
       q(Pnar),
       ],
-   q(5378) => [
+   q(5380) => [
       q(Pyu (Papua New Guinea)),
       ],
-   q(5379) => [
+   q(5381) => [
       q(Santa Ines Ahuatempan Popoloca),
       ],
-   q(5380) => [
+   q(5382) => [
       q(Pear),
       ],
-   q(5381) => [
+   q(5383) => [
       q(Bouyei),
       ],
-   q(5382) => [
+   q(5384) => [
       q(Picard),
       ],
-   q(5383) => [
+   q(5385) => [
       q(Ruching Palaung),
       ],
-   q(5384) => [
+   q(5386) => [
       q(Paliyan),
       ],
-   q(5385) => [
+   q(5387) => [
       q(Paniya),
       ],
-   q(5386) => [
+   q(5388) => [
       q(Pardhan),
       ],
-   q(5387) => [
+   q(5389) => [
       q(Duruwa),
       ],
-   q(5388) => [
+   q(5390) => [
       q(Parenga),
       ],
-   q(5389) => [
+   q(5391) => [
       q(Paite Chin),
       ],
-   q(5390) => [
+   q(5392) => [
       q(Pardhi),
       ],
-   q(5391) => [
+   q(5393) => [
       q(Nigerian Pidgin),
       ],
-   q(5392) => [
+   q(5394) => [
       q(Piti),
       ],
-   q(5393) => [
+   q(5395) => [
       q(Pacahuara),
       ],
-   q(5394) => [
+   q(5396) => [
       q(Pyapun),
       ],
-   q(5395) => [
+   q(5397) => [
       q(Anam),
       ],
-   q(5396) => [
+   q(5398) => [
       q(Pennsylvania German),
       ],
-   q(5397) => [
+   q(5399) => [
       q(Pa Di),
       ],
-   q(5398) => [
+   q(5400) => [
       q(Podena),
       q(Fedan),
       ],
-   q(5399) => [
+   q(5401) => [
       q(Padoe),
       ],
-   q(5400) => [
+   q(5402) => [
       q(Plautdietsch),
       ],
-   q(5401) => [
+   q(5403) => [
       q(Kayan),
       ],
-   q(5402) => [
+   q(5404) => [
       q(Peranakan Indonesian),
       ],
-   q(5403) => [
+   q(5405) => [
       q(Eastern Pomo),
       ],
-   q(5404) => [
+   q(5406) => [
       q(Mala (Papua New Guinea)),
       ],
-   q(5405) => [
+   q(5407) => [
       q(Taje),
       ],
-   q(5406) => [
+   q(5408) => [
       q(Northeastern Pomo),
       ],
-   q(5407) => [
+   q(5409) => [
       q(Pengo),
       ],
-   q(5408) => [
+   q(5410) => [
       q(Bonan),
       ],
-   q(5409) => [
+   q(5411) => [
       q(Chichimeca-Jonaz),
       ],
-   q(5410) => [
+   q(5412) => [
       q(Northern Pomo),
       ],
-   q(5411) => [
+   q(5413) => [
       q(Penchal),
       ],
-   q(5412) => [
+   q(5414) => [
       q(Pekal),
       ],
-   q(5413) => [
+   q(5415) => [
       q(Phende),
       ],
-   q(5414) => [
+   q(5416) => [
       q(Kunja),
       ],
-   q(5415) => [
+   q(5417) => [
       q(Southern Pomo),
       ],
-   q(5416) => [
+   q(5418) => [
       q(Iranian Persian),
       ],
-   q(5417) => [
+   q(5419) => [
       q(Pemono),
       ],
-   q(5418) => [
+   q(5420) => [
       q(Petats),
       ],
-   q(5419) => [
+   q(5421) => [
       q(Petjo),
       ],
-   q(5420) => [
+   q(5422) => [
       q(Eastern Penan),
       ],
-   q(5421) => [
+   q(5423) => [
       q(Paafang),
       ],
-   q(5422) => [
+   q(5424) => [
       q(Peere),
       ],
-   q(5423) => [
+   q(5425) => [
       q(Pfaelzisch),
       ],
-   q(5424) => [
+   q(5426) => [
       q(Sudanese Creole Arabic),
       ],
-   q(5425) => [
+   q(5427) => [
       q(Gandhari),
       ],
-   q(5426) => [
+   q(5428) => [
       q(Pangwali),
       ],
-   q(5427) => [
+   q(5429) => [
       q(Pagi),
       ],
-   q(5428) => [
+   q(5430) => [
       q(Rerep),
       ],
-   q(5429) => [
+   q(5431) => [
       q(Primitive Irish),
       ],
-   q(5430) => [
+   q(5432) => [
       q(Paelignian),
       ],
-   q(5431) => [
+   q(5433) => [
       q(Pangseng),
       ],
-   q(5432) => [
+   q(5434) => [
       q(Pagu),
       ],
-   q(5433) => [
+   q(5435) => [
       q(Pa-Hng),
       ],
-   q(5434) => [
+   q(5436) => [
       q(Phudagi),
       ],
-   q(5435) => [
+   q(5437) => [
       q(Phuong),
       ],
-   q(5436) => [
+   q(5438) => [
       q(Phukha),
       ],
-   q(5437) => [
+   q(5439) => [
       q(Phake),
       ],
-   q(5438) => [
+   q(5440) => [
       q(Phalura),
       q(Palula),
       ],
-   q(5439) => [
+   q(5441) => [
       q(Phimbi),
       ],
-   q(5440) => [
+   q(5442) => [
       q(Phunoi),
       ],
-   q(5441) => [
+   q(5443) => [
       q(Phana'),
       ],
-   q(5442) => [
+   q(5444) => [
       q(Pahari-Potwari),
       ],
-   q(5443) => [
+   q(5445) => [
       q(Phu Thai),
       ],
-   q(5444) => [
+   q(5446) => [
       q(Phuan),
       ],
-   q(5445) => [
+   q(5447) => [
       q(Pahlavani),
       ],
-   q(5446) => [
+   q(5448) => [
       q(Phangduwali),
       ],
-   q(5447) => [
+   q(5449) => [
       q(Pima Bajo),
       ],
-   q(5448) => [
+   q(5450) => [
       q(Yine),
       ],
-   q(5449) => [
+   q(5451) => [
       q(Pinji),
       ],
-   q(5450) => [
+   q(5452) => [
       q(Piaroa),
       ],
-   q(5451) => [
+   q(5453) => [
       q(Piro),
       ],
-   q(5452) => [
+   q(5454) => [
       q(Pingelapese),
       ],
-   q(5453) => [
+   q(5455) => [
       q(Pisabo),
       ],
-   q(5454) => [
+   q(5456) => [
       q(Pitcairn-Norfolk),
       ],
-   q(5455) => [
+   q(5457) => [
       q(Pini),
       ],
-   q(5456) => [
+   q(5458) => [
       q(Pijao),
       ],
-   q(5457) => [
+   q(5459) => [
       q(Yom),
       ],
-   q(5458) => [
+   q(5460) => [
       q(Powhatan),
       ],
-   q(5459) => [
+   q(5461) => [
       q(Piame),
       ],
-   q(5460) => [
+   q(5462) => [
       q(Piapoco),
       ],
-   q(5461) => [
+   q(5463) => [
       q(Pero),
       ],
-   q(5462) => [
+   q(5464) => [
       q(Piratapuyo),
       ],
-   q(5463) => [
+   q(5465) => [
       q(Pijin),
       ],
-   q(5464) => [
+   q(5466) => [
       q(Pitta Pitta),
       ],
-   q(5465) => [
+   q(5467) => [
       q(Pintupi-Luritja),
       ],
-   q(5466) => [
+   q(5468) => [
       q(Pileni),
       q(Vaeakau-Taumako),
       ],
-   q(5467) => [
+   q(5469) => [
       q(Pimbwe),
       ],
-   q(5468) => [
+   q(5470) => [
       q(Piu),
       ],
-   q(5469) => [
+   q(5471) => [
       q(Piya-Kwonci),
       ],
-   q(5470) => [
+   q(5472) => [
       q(Pije),
       ],
-   q(5471) => [
+   q(5473) => [
       q(Pitjantjatjara),
       ],
-   q(5472) => [
+   q(5474) => [
       q(Ardhamagadhi Prakrit),
       ],
-   q(5473) => [
+   q(5475) => [
       q(Pokomo),
       q(Kipfokomo),
       ],
-   q(5474) => [
+   q(5476) => [
       q(Paekche),
       ],
-   q(5475) => [
+   q(5477) => [
       q(Pak-Tong),
       ],
-   q(5476) => [
+   q(5478) => [
       q(Pankhu),
       ],
-   q(5477) => [
+   q(5479) => [
       q(Pakanha),
       ],
-   q(5478) => [
+   q(5480) => [
       q(Pokoot),
       ],
-   q(5479) => [
+   q(5481) => [
       q(Pukapuka),
       ],
-   q(5480) => [
+   q(5482) => [
       q(Attapady Kurumba),
       ],
-   q(5481) => [
+   q(5483) => [
       q(Pakistan Sign Language),
       ],
-   q(5482) => [
+   q(5484) => [
       q(Maleng),
       ],
-   q(5483) => [
+   q(5485) => [
       q(Paku),
       ],
-   q(5484) => [
+   q(5486) => [
       q(Miani),
       ],
-   q(5485) => [
+   q(5487) => [
       q(Polonombauk),
       ],
-   q(5486) => [
+   q(5488) => [
       q(Central Palawano),
       ],
-   q(5487) => [
+   q(5489) => [
       q(Polari),
       ],
-   q(5488) => [
+   q(5490) => [
       q(Palu'e),
       ],
-   q(5489) => [
+   q(5491) => [
       q(Pilaga),
       ],
-   q(5490) => [
+   q(5492) => [
       q(Paulohi),
       ],
-   q(5491) => [
+   q(5493) => [
       q(Polci),
       ],
-   q(5492) => [
+   q(5494) => [
       q(Kohistani Shina),
       ],
-   q(5493) => [
+   q(5495) => [
       q(Shwe Palaung),
       ],
-   q(5494) => [
+   q(5496) => [
       q(Palenquero),
       ],
-   q(5495) => [
+   q(5497) => [
       q(Oluta Popoluca),
       ],
-   q(5496) => [
+   q(5498) => [
       q(Palpa),
       ],
-   q(5497) => [
+   q(5499) => [
       q(Palaic),
       ],
-   q(5498) => [
+   q(5500) => [
       q(Palaka Senoufo),
       ],
-   q(5499) => [
+   q(5501) => [
       q(San Marcos Tlacoyalco Popoloca),
       q(San Marcos Tlalcoyalco Popoloca),
       ],
-   q(5500) => [
+   q(5502) => [
       q(Plateau Malagasy),
       ],
-   q(5501) => [
+   q(5503) => [
       q(Palikur),
       ],
-   q(5502) => [
+   q(5504) => [
       q(Southwest Palawano),
       ],
-   q(5503) => [
+   q(5505) => [
       q(Brooke's Point Palawano),
       ],
-   q(5504) => [
+   q(5506) => [
       q(Bolyu),
       ],
-   q(5505) => [
+   q(5507) => [
       q(Paluan),
       ],
-   q(5506) => [
+   q(5508) => [
       q(Paama),
       ],
-   q(5507) => [
+   q(5509) => [
       q(Pambia),
       ],
-   q(5508) => [
+   q(5510) => [
       q(Palumata),
       ],
-   q(5509) => [
+   q(5511) => [
       q(Pallanganmiddang),
       ],
-   q(5510) => [
+   q(5512) => [
       q(Pwaamei),
       ],
-   q(5511) => [
+   q(5513) => [
       q(Pamona),
       ],
-   q(5512) => [
+   q(5514) => [
       q(Maharastri Prakrit),
       ],
-   q(5513) => [
+   q(5515) => [
       q(Northern Pumi),
       ],
-   q(5514) => [
+   q(5516) => [
       q(Southern Pumi),
       ],
-   q(5515) => [
+   q(5517) => [
       q(Pamlico),
       ],
-   q(5516) => [
+   q(5518) => [
       q(Lingua Franca),
       ],
-   q(5517) => [
+   q(5519) => [
       q(Pomo),
       ],
-   q(5518) => [
+   q(5520) => [
       q(Pam),
       ],
-   q(5519) => [
+   q(5521) => [
       q(Pom),
       ],
-   q(5520) => [
+   q(5522) => [
       q(Northern Pame),
       ],
-   q(5521) => [
+   q(5523) => [
       q(Paynamar),
       ],
-   q(5522) => [
+   q(5524) => [
       q(Piemontese),
       ],
-   q(5523) => [
+   q(5525) => [
       q(Tuamotuan),
       ],
-   q(5524) => [
+   q(5526) => [
       q(Plains Miwok),
       ],
-   q(5525) => [
+   q(5527) => [
       q(Poumei Naga),
       ],
-   q(5526) => [
+   q(5528) => [
       q(Papuan Malay),
       ],
-   q(5527) => [
+   q(5529) => [
       q(Southern Pame),
       ],
-   q(5528) => [
+   q(5530) => [
       q(Punan Bah-Biau),
       ],
-   q(5529) => [
+   q(5531) => [
       q(Western Panjabi),
       ],
-   q(5530) => [
+   q(5532) => [
       q(Pannei),
       ],
-   q(5531) => [
+   q(5533) => [
       q(Western Penan),
       ],
-   q(5532) => [
+   q(5534) => [
       q(Pongu),
       ],
-   q(5533) => [
+   q(5535) => [
       q(Penrhyn),
       ],
-   q(5534) => [
+   q(5536) => [
       q(Aoheng),
       ],
-   q(5535) => [
+   q(5537) => [
       q(Pinjarup),
       ],
-   q(5536) => [
+   q(5538) => [
       q(Paunaka),
       ],
-   q(5537) => [
+   q(5539) => [
       q(Paleni),
       ],
-   q(5538) => [
+   q(5540) => [
       q(Punan Batu 1),
       ],
-   q(5539) => [
+   q(5541) => [
       q(Pinai-Hagahai),
       ],
-   q(5540) => [
+   q(5542) => [
       q(Panobo),
       ],
-   q(5541) => [
+   q(5543) => [
       q(Pancana),
       ],
-   q(5542) => [
+   q(5544) => [
       q(Pana (Burkina Faso)),
       ],
-   q(5543) => [
+   q(5545) => [
       q(Panim),
       ],
-   q(5544) => [
+   q(5546) => [
       q(Ponosakan),
       ],
-   q(5545) => [
+   q(5547) => [
       q(Pontic),
       ],
-   q(5546) => [
+   q(5548) => [
       q(Jiongnai Bunu),
       ],
-   q(5547) => [
+   q(5549) => [
       q(Pinigura),
       ],
-   q(5548) => [
+   q(5550) => [
       q(Panytyima),
       ],
-   q(5549) => [
+   q(5551) => [
       q(Phong-Kniang),
       ],
-   q(5550) => [
+   q(5552) => [
       q(Pinyin),
       ],
-   q(5551) => [
+   q(5553) => [
       q(Pana (Central African Republic)),
       ],
-   q(5552) => [
+   q(5554) => [
       q(Poqomam),
       ],
-   q(5553) => [
+   q(5555) => [
       q(Ponares),
       ],
-   q(5554) => [
+   q(5556) => [
       q(San Juan Atzingo Popoloca),
       ],
-   q(5555) => [
+   q(5557) => [
       q(Poke),
       ],
-   q(5556) => [
+   q(5558) => [
       q(Potiguara),
       ],
-   q(5557) => [
+   q(5559) => [
       q(Poqomchi'),
       ],
-   q(5558) => [
+   q(5560) => [
       q(Highland Popoluca),
       ],
-   q(5559) => [
+   q(5561) => [
       q(Pokanga),
       ],
-   q(5560) => [
+   q(5562) => [
       q(Southeastern Pomo),
       ],
-   q(5561) => [
+   q(5563) => [
       q(Central Pomo),
       ],
-   q(5562) => [
+   q(5564) => [
       q(Pwapwa),
       ],
-   q(5563) => [
+   q(5565) => [
       q(Texistepec Popoluca),
       ],
-   q(5564) => [
+   q(5566) => [
       q(Sayula Popoluca),
       ],
-   q(5565) => [
+   q(5567) => [
       q(Potawatomi),
       ],
-   q(5566) => [
+   q(5568) => [
       q(Upper Guinea Crioulo),
       ],
-   q(5567) => [
+   q(5569) => [
       q(San Felipe Otlaltepec Popoloca),
       ],
-   q(5568) => [
+   q(5570) => [
       q(Polabian),
       ],
-   q(5569) => [
+   q(5571) => [
       q(Pogolo),
       ],
-   q(5570) => [
+   q(5572) => [
       q(Pao),
       ],
-   q(5571) => [
+   q(5573) => [
       q(Papi),
       ],
-   q(5572) => [
+   q(5574) => [
       q(Paipai),
       ],
-   q(5573) => [
+   q(5575) => [
       q(Uma),
       ],
-   q(5574) => [
+   q(5576) => [
       q(Pipil),
       q(Nicarao),
       ],
-   q(5575) => [
+   q(5577) => [
       q(Papuma),
       ],
-   q(5576) => [
+   q(5578) => [
       q(Papapana),
       ],
-   q(5577) => [
+   q(5579) => [
       q(Folopa),
       ],
-   q(5578) => [
+   q(5580) => [
       q(Pelende),
       ],
-   q(5579) => [
+   q(5581) => [
       q(Pei),
       ],
-   q(5580) => [
+   q(5582) => [
       q(San Luis Temalacayuca Popoloca),
       ],
-   q(5581) => [
+   q(5583) => [
       q(Pare),
       ],
-   q(5582) => [
+   q(5584) => [
       q(Papora),
       ],
-   q(5583) => [
+   q(5585) => [
       q(Pa'a),
       ],
-   q(5584) => [
+   q(5586) => [
       q(Malecite-Passamaquoddy),
       ],
-   q(5585) => [
+   q(5587) => [
       q(Lua'),
       ],
-   q(5586) => [
+   q(5588) => [
       q(Parachi),
       ],
-   q(5587) => [
+   q(5589) => [
       q(Parsi-Dari),
       ],
-   q(5588) => [
+   q(5590) => [
       q(Principense),
       ],
-   q(5589) => [
+   q(5591) => [
       q(Paranan),
       ],
-   q(5590) => [
+   q(5592) => [
       q(Prussian),
       ],
-   q(5591) => [
+   q(5593) => [
       q(Porohanon),
       ],
-   q(5592) => [
+   q(5594) => [
       q(Paici),
       ],
-   q(5593) => [
+   q(5595) => [
       q(Parauk),
       ],
-   q(5594) => [
+   q(5596) => [
       q(Peruvian Sign Language),
       ],
-   q(5595) => [
+   q(5597) => [
       q(Kibiri),
       ],
-   q(5596) => [
+   q(5598) => [
       q(Prasuni),
       ],
-   q(5597) => [
+   q(5599) => [
       q(Parsi),
       ],
-   q(5598) => [
+   q(5600) => [
       q(Asheninka Perene),
       ],
-   q(5599) => [
+   q(5601) => [
       q(Puri),
       ],
-   q(5600) => [
+   q(5602) => [
       q(Dari),
       q(Afghan Persian),
       ],
-   q(5601) => [
+   q(5603) => [
       q(Phai),
       ],
-   q(5602) => [
+   q(5604) => [
       q(Puragi),
       ],
-   q(5603) => [
+   q(5605) => [
       q(Parawen),
       ],
-   q(5604) => [
+   q(5606) => [
       q(Purik),
       ],
-   q(5605) => [
+   q(5607) => [
       q(Pray 3),
       ],
-   q(5606) => [
+   q(5608) => [
       q(Providencia Sign Language),
       ],
-   q(5607) => [
+   q(5609) => [
       q(Asue Awyu),
       ],
-   q(5608) => [
+   q(5610) => [
       q(Persian Sign Language),
       ],
-   q(5609) => [
+   q(5611) => [
       q(Plains Indian Sign Language),
       ],
-   q(5610) => [
+   q(5612) => [
       q(Central Malay),
       ],
-   q(5611) => [
+   q(5613) => [
       q(Penang Sign Language),
       ],
-   q(5612) => [
+   q(5614) => [
       q(Southwest Pashai),
       q(Southwest Pashayi),
       ],
-   q(5613) => [
+   q(5615) => [
       q(Southeast Pashai),
       q(Southeast Pashayi),
       ],
-   q(5614) => [
+   q(5616) => [
       q(Puerto Rican Sign Language),
       ],
-   q(5615) => [
+   q(5617) => [
       q(Pauserna),
       ],
-   q(5616) => [
+   q(5618) => [
       q(Panasuan),
       ],
-   q(5617) => [
+   q(5619) => [
       q(Polish Sign Language),
       ],
-   q(5618) => [
+   q(5620) => [
       q(Philippine Sign Language),
       ],
-   q(5619) => [
+   q(5621) => [
       q(Pasi),
       ],
-   q(5620) => [
+   q(5622) => [
       q(Portuguese Sign Language),
       ],
-   q(5621) => [
+   q(5623) => [
       q(Kaulong),
       ],
-   q(5622) => [
+   q(5624) => [
       q(Central Pashto),
       ],
-   q(5623) => [
+   q(5625) => [
       q(Sauraseni Prakrit),
       ],
-   q(5624) => [
+   q(5626) => [
       q(Port Sandwich),
       ],
-   q(5625) => [
+   q(5627) => [
       q(Piscataway),
       ],
-   q(5626) => [
+   q(5628) => [
       q(Pai Tavytera),
       ],
-   q(5627) => [
+   q(5629) => [
       q(Pataxo Ha-Ha-Hae),
       ],
-   q(5628) => [
+   q(5630) => [
       q(Pintiini),
       ],
-   q(5629) => [
+   q(5631) => [
       q(Patani),
       ],
-   q(5630) => [
+   q(5632) => [
       q(Zo'e),
       ],
-   q(5631) => [
+   q(5633) => [
       q(Patep),
       ],
-   q(5632) => [
+   q(5634) => [
       q(Pattapu),
       ],
-   q(5633) => [
+   q(5635) => [
       q(Piamatsina),
       ],
-   q(5634) => [
+   q(5636) => [
       q(Enrekang),
       ],
-   q(5635) => [
+   q(5637) => [
       q(Bambam),
       ],
-   q(5636) => [
+   q(5638) => [
       q(Port Vato),
       ],
-   q(5637) => [
+   q(5639) => [
       q(Pentlatch),
       ],
-   q(5638) => [
+   q(5640) => [
       q(Pathiya),
       ],
-   q(5639) => [
+   q(5641) => [
       q(Western Highland Purepecha),
       ],
-   q(5640) => [
+   q(5642) => [
       q(Purum),
       ],
-   q(5641) => [
+   q(5643) => [
       q(Punan Merap),
       ],
-   q(5642) => [
+   q(5644) => [
       q(Punan Aput),
       ],
-   q(5643) => [
+   q(5645) => [
       q(Puelche),
       ],
-   q(5644) => [
+   q(5646) => [
       q(Punan Merah),
       ],
-   q(5645) => [
+   q(5647) => [
       q(Phuie),
       ],
-   q(5646) => [
+   q(5648) => [
       q(Puinave),
       ],
-   q(5647) => [
+   q(5649) => [
       q(Punan Tubu),
       ],
-   q(5648) => [
+   q(5650) => [
       q(Pu Ko),
       ],
-   q(5649) => [
+   q(5651) => [
       q(Puma),
       ],
-   q(5650) => [
+   q(5652) => [
       q(Puoc),
       ],
-   q(5651) => [
+   q(5653) => [
       q(Pulabu),
       ],
-   q(5652) => [
+   q(5654) => [
       q(Puquina),
       ],
-   q(5653) => [
+   q(5655) => [
       q(Purubora),
       ],
-   q(5654) => [
+   q(5656) => [
       q(Putoh),
       ],
-   q(5655) => [
+   q(5657) => [
       q(Punu),
       ],
-   q(5656) => [
+   q(5658) => [
       q(Puluwatese),
       ],
-   q(5657) => [
+   q(5659) => [
       q(Puare),
       ],
-   q(5658) => [
+   q(5660) => [
       q(Purisimeno),
       ],
-   q(5659) => [
+   q(5661) => [
       q(Pawaia),
       ],
-   q(5660) => [
+   q(5662) => [
       q(Panawa),
       ],
-   q(5661) => [
+   q(5663) => [
       q(Gapapaiwa),
       ],
-   q(5662) => [
+   q(5664) => [
       q(Patwin),
       ],
-   q(5663) => [
+   q(5665) => [
       q(Molbog),
       ],
-   q(5664) => [
+   q(5666) => [
       q(Paiwan),
       ],
-   q(5665) => [
+   q(5667) => [
       q(Pwo Western Karen),
       ],
-   q(5666) => [
+   q(5668) => [
       q(Powari),
       ],
-   q(5667) => [
+   q(5669) => [
       q(Pwo Northern Karen),
       ],
-   q(5668) => [
+   q(5670) => [
       q(Quetzaltepec Mixe),
       ],
-   q(5669) => [
+   q(5671) => [
       q(Pye Krumen),
       ],
-   q(5670) => [
+   q(5672) => [
       q(Fyam),
       ],
-   q(5671) => [
+   q(5673) => [
       q(Poyanawa),
       ],
-   q(5672) => [
+   q(5674) => [
       q(Paraguayan Sign Language),
       q(Lengua de Senas del Paraguay),
       ],
-   q(5673) => [
+   q(5675) => [
       q(Puyuma),
       ],
-   q(5674) => [
+   q(5676) => [
       q(Pyu (Myanmar)),
       ],
-   q(5675) => [
+   q(5677) => [
       q(Pyen),
       ],
-   q(5676) => [
+   q(5678) => [
       q(Para Naga),
       ],
-   q(5677) => [
+   q(5679) => [
       q(Quapaw),
       ],
-   q(5678) => [
+   q(5680) => [
       q(Huallaga Huanuco Quechua),
       ],
-   q(5679) => [
+   q(5681) => [
       q(K'iche'),
       q(Quiche),
       ],
-   q(5680) => [
+   q(5682) => [
       q(Calderon Highland Quichua),
       ],
-   q(5681) => [
+   q(5683) => [
       q(Lambayeque Quechua),
       ],
-   q(5682) => [
+   q(5684) => [
       q(Chimborazo Highland Quichua),
       ],
-   q(5683) => [
+   q(5685) => [
       q(South Bolivian Quechua),
       ],
-   q(5684) => [
+   q(5686) => [
       q(Quileute),
       ],
-   q(5685) => [
+   q(5687) => [
       q(Chachapoyas Quechua),
       ],
-   q(5686) => [
+   q(5688) => [
       q(North Bolivian Quechua),
       ],
-   q(5687) => [
+   q(5689) => [
       q(Sipacapense),
       ],
-   q(5688) => [
+   q(5690) => [
       q(Quinault),
       ],
-   q(5689) => [
+   q(5691) => [
       q(Southern Pastaza Quechua),
       ],
-   q(5690) => [
+   q(5692) => [
       q(Quinqui),
       ],
-   q(5691) => [
+   q(5693) => [
       q(Yanahuanca Pasco Quechua),
       ],
-   q(5692) => [
+   q(5694) => [
       q(Santiago del Estero Quichua),
       ],
-   q(5693) => [
+   q(5695) => [
       q(Sacapulteco),
       ],
-   q(5694) => [
+   q(5696) => [
       q(Tena Lowland Quichua),
       ],
-   q(5695) => [
+   q(5697) => [
       q(Yauyos Quechua),
       ],
-   q(5696) => [
+   q(5698) => [
       q(Ayacucho Quechua),
       ],
-   q(5697) => [
+   q(5699) => [
       q(Cusco Quechua),
       ],
-   q(5698) => [
+   q(5700) => [
       q(Ambo-Pasco Quechua),
       ],
-   q(5699) => [
+   q(5701) => [
       q(Cajamarca Quechua),
       ],
-   q(5700) => [
+   q(5702) => [
       q(Eastern Apurimac Quechua),
       ],
-   q(5701) => [
+   q(5703) => [
       q(Huamalies-Dos de Mayo Huanuco Quechua),
       ],
-   q(5702) => [
+   q(5704) => [
       q(Imbabura Highland Quichua),
       ],
-   q(5703) => [
+   q(5705) => [
       q(Loja Highland Quichua),
       ],
-   q(5704) => [
+   q(5706) => [
       q(Cajatambo North Lima Quechua),
       ],
-   q(5705) => [
+   q(5707) => [
       q(Margos-Yarowilca-Lauricocha Quechua),
       ],
-   q(5706) => [
+   q(5708) => [
       q(North Junin Quechua),
       ],
-   q(5707) => [
+   q(5709) => [
       q(Napo Lowland Quechua),
       ],
-   q(5708) => [
+   q(5710) => [
       q(Pacaraos Quechua),
       ],
-   q(5709) => [
+   q(5711) => [
       q(San Martin Quechua),
       ],
-   q(5710) => [
+   q(5712) => [
       q(Huaylla Wanca Quechua),
       ],
-   q(5711) => [
+   q(5713) => [
       q(Queyu),
       ],
-   q(5712) => [
+   q(5714) => [
       q(Northern Pastaza Quichua),
       ],
-   q(5713) => [
+   q(5715) => [
       q(Corongo Ancash Quechua),
       ],
-   q(5714) => [
+   q(5716) => [
       q(Classical Quechua),
       ],
-   q(5715) => [
+   q(5717) => [
       q(Huaylas Ancash Quechua),
       ],
-   q(5716) => [
+   q(5718) => [
       q(Kuman (Russia)),
       ],
-   q(5717) => [
+   q(5719) => [
       q(Sihuas Ancash Quechua),
       ],
-   q(5718) => [
+   q(5720) => [
       q(Kwalhioqua-Tlatskanai),
       ],
-   q(5719) => [
+   q(5721) => [
       q(Chiquian Ancash Quechua),
       ],
-   q(5720) => [
+   q(5722) => [
       q(Chincha Quechua),
       ],
-   q(5721) => [
+   q(5723) => [
       q(Panao Huanuco Quechua),
       ],
-   q(5722) => [
+   q(5724) => [
       q(Salasaca Highland Quichua),
       ],
-   q(5723) => [
+   q(5725) => [
       q(Northern Conchucos Ancash Quechua),
       ],
-   q(5724) => [
+   q(5726) => [
       q(Southern Conchucos Ancash Quechua),
       ],
-   q(5725) => [
+   q(5727) => [
       q(Puno Quechua),
       ],
-   q(5726) => [
+   q(5728) => [
       q(Qashqa'i),
       ],
-   q(5727) => [
+   q(5729) => [
       q(Canar Highland Quichua),
       ],
-   q(5728) => [
+   q(5730) => [
       q(Southern Qiang),
       ],
-   q(5729) => [
+   q(5731) => [
       q(Santa Ana de Tusi Pasco Quechua),
       ],
-   q(5730) => [
+   q(5732) => [
       q(Arequipa-La Union Quechua),
       ],
-   q(5731) => [
+   q(5733) => [
       q(Jauja Wanca Quechua),
       ],
-   q(5732) => [
+   q(5734) => [
       q(Quenya),
       ],
-   q(5733) => [
+   q(5735) => [
       q(Quiripi),
       ],
-   q(5734) => [
+   q(5736) => [
       q(Dungmali),
       ],
-   q(5735) => [
+   q(5737) => [
       q(Camling),
       ],
-   q(5736) => [
+   q(5738) => [
       q(Rasawa),
       ],
-   q(5737) => [
+   q(5739) => [
       q(Rade),
       ],
-   q(5738) => [
+   q(5740) => [
       q(Western Meohang),
       ],
-   q(5739) => [
+   q(5741) => [
       q(Logooli),
       q(Lulogooli),
       ],
-   q(5740) => [
+   q(5742) => [
       q(Rabha),
       ],
-   q(5741) => [
+   q(5743) => [
       q(Ramoaaina),
       ],
-   q(5742) => [
+   q(5744) => [
       q(Tulu-Bohuai),
       ],
-   q(5743) => [
+   q(5745) => [
       q(Ralte),
       ],
-   q(5744) => [
+   q(5746) => [
       q(Canela),
       ],
-   q(5745) => [
+   q(5747) => [
       q(Riantana),
       ],
-   q(5746) => [
+   q(5748) => [
       q(Rao),
       ],
-   q(5747) => [
+   q(5749) => [
       q(Saam),
       ],
-   q(5748) => [
+   q(5750) => [
       q(Tegali),
       ],
-   q(5749) => [
+   q(5751) => [
       q(Razajerdi),
       ],
-   q(5750) => [
+   q(5752) => [
       q(Raute),
       ],
-   q(5751) => [
+   q(5753) => [
       q(Sampang),
       ],
-   q(5752) => [
+   q(5754) => [
       q(Rawang),
       ],
-   q(5753) => [
+   q(5755) => [
       q(Rang),
       ],
-   q(5754) => [
+   q(5756) => [
       q(Rapa),
       ],
-   q(5755) => [
+   q(5757) => [
       q(Rahambuu),
       ],
-   q(5756) => [
+   q(5758) => [
       q(Rumai Palaung),
       ],
-   q(5757) => [
+   q(5759) => [
       q(Northern Bontok),
       ],
-   q(5758) => [
+   q(5760) => [
       q(Miraya Bikol),
       ],
-   q(5759) => [
+   q(5761) => [
       q(Barababaraba),
       ],
-   q(5760) => [
+   q(5762) => [
       q(Reunion Creole French),
       ],
-   q(5761) => [
+   q(5763) => [
       q(Rudbari),
       ],
-   q(5762) => [
+   q(5764) => [
       q(Rerau),
       ],
-   q(5763) => [
+   q(5765) => [
       q(Rembong),
       ],
-   q(5764) => [
+   q(5766) => [
       q(Rejang Kayan),
       ],
-   q(5765) => [
+   q(5767) => [
       q(Kara (Tanzania)),
       ],
-   q(5766) => [
+   q(5768) => [
       q(Reli),
       ],
-   q(5767) => [
+   q(5769) => [
       q(Rejang),
       ],
-   q(5768) => [
+   q(5770) => [
       q(Rendille),
       ],
-   q(5769) => [
+   q(5771) => [
       q(Remo),
       ],
-   q(5770) => [
+   q(5772) => [
       q(Rengao),
       ],
-   q(5771) => [
+   q(5773) => [
       q(Rer Bare),
       ],
-   q(5772) => [
+   q(5774) => [
       q(Reshe),
       ],
-   q(5773) => [
+   q(5775) => [
       q(Retta),
       ],
-   q(5774) => [
+   q(5776) => [
       q(Reyesano),
       ],
-   q(5775) => [
+   q(5777) => [
       q(Roria),
       ],
-   q(5776) => [
+   q(5778) => [
       q(Romano-Greek),
       ],
-   q(5777) => [
+   q(5779) => [
       q(Rangkas),
       ],
-   q(5778) => [
+   q(5780) => [
       q(Romagnol),
       ],
-   q(5779) => [
+   q(5781) => [
       q(Resigaro),
       ],
-   q(5780) => [
+   q(5782) => [
       q(Southern Roglai),
       ],
-   q(5781) => [
+   q(5783) => [
       q(Ringgou),
       ],
-   q(5782) => [
+   q(5784) => [
       q(Rohingya),
       ],
-   q(5783) => [
+   q(5785) => [
       q(Yahang),
       ],
-   q(5784) => [
+   q(5786) => [
       q(Riang (India)),
       ],
-   q(5785) => [
+   q(5787) => [
       q(Rien),
       ],
-   q(5786) => [
+   q(5788) => [
       q(Tarifit),
       ],
-   q(5787) => [
+   q(5789) => [
       q(Riang (Myanmar)),
       ],
-   q(5788) => [
+   q(5790) => [
       q(Nyaturu),
       ],
-   q(5789) => [
+   q(5791) => [
       q(Nungu),
       ],
-   q(5790) => [
+   q(5792) => [
       q(Ribun),
       ],
-   q(5791) => [
+   q(5793) => [
       q(Ritarungo),
       ],
-   q(5792) => [
+   q(5794) => [
       q(Riung),
       ],
-   q(5793) => [
+   q(5795) => [
       q(Rajong),
       ],
-   q(5794) => [
+   q(5796) => [
       q(Raji),
       ],
-   q(5795) => [
+   q(5797) => [
       q(Rajbanshi),
       ],
-   q(5796) => [
+   q(5798) => [
       q(Kraol),
       ],
-   q(5797) => [
+   q(5799) => [
       q(Rikbaktsa),
       ],
-   q(5798) => [
+   q(5800) => [
       q(Rakahanga-Manihiki),
       ],
-   q(5799) => [
+   q(5801) => [
       q(Rakhine),
       ],
-   q(5800) => [
+   q(5802) => [
       q(Marka),
       ],
-   q(5801) => [
+   q(5803) => [
       q(Rangpuri),
       q(Kamta),
       ],
-   q(5802) => [
+   q(5804) => [
       q(Arakwal),
       ],
-   q(5803) => [
+   q(5805) => [
       q(Rama),
       ],
-   q(5804) => [
+   q(5806) => [
       q(Rembarunga),
       ],
-   q(5805) => [
+   q(5807) => [
       q(Carpathian Romani),
       ],
-   q(5806) => [
+   q(5808) => [
       q(Traveller Danish),
       ],
-   q(5807) => [
+   q(5809) => [
       q(Angloromani),
       ],
-   q(5808) => [
+   q(5810) => [
       q(Kalo Finnish Romani),
       ],
-   q(5809) => [
+   q(5811) => [
       q(Traveller Norwegian),
       ],
-   q(5810) => [
+   q(5812) => [
       q(Murkim),
       ],
-   q(5811) => [
+   q(5813) => [
       q(Lomavren),
       ],
-   q(5812) => [
+   q(5814) => [
       q(Romkun),
       ],
-   q(5813) => [
+   q(5815) => [
       q(Baltic Romani),
       ],
-   q(5814) => [
+   q(5816) => [
       q(Roma),
       ],
-   q(5815) => [
+   q(5817) => [
       q(Balkan Romani),
       ],
-   q(5816) => [
+   q(5818) => [
       q(Sinte Romani),
       ],
-   q(5817) => [
+   q(5819) => [
       q(Rempi),
       ],
-   q(5818) => [
+   q(5820) => [
       q(Calo),
       ],
-   q(5819) => [
+   q(5821) => [
       q(Romanian Sign Language),
       ],
-   q(5820) => [
+   q(5822) => [
       q(Domari),
       ],
-   q(5821) => [
+   q(5823) => [
       q(Tavringer Romani),
       ],
-   q(5822) => [
+   q(5824) => [
       q(Romanova),
       ],
-   q(5823) => [
+   q(5825) => [
       q(Welsh Romani),
       ],
-   q(5824) => [
+   q(5826) => [
       q(Romam),
       ],
-   q(5825) => [
+   q(5827) => [
       q(Vlax Romani),
       ],
-   q(5826) => [
+   q(5828) => [
       q(Marma),
       ],
-   q(5827) => [
+   q(5829) => [
       q(Runa),
       ],
-   q(5828) => [
+   q(5830) => [
       q(Ruund),
       ],
-   q(5829) => [
+   q(5831) => [
       q(Ronga),
       ],
-   q(5830) => [
+   q(5832) => [
       q(Ranglong),
       ],
-   q(5831) => [
+   q(5833) => [
       q(Roon),
       ],
-   q(5832) => [
+   q(5834) => [
       q(Rongpo),
       ],
-   q(5833) => [
+   q(5835) => [
       q(Nari Nari),
       ],
-   q(5834) => [
+   q(5836) => [
       q(Rungwa),
       ],
-   q(5835) => [
+   q(5837) => [
       q(Tae'),
       ],
-   q(5836) => [
+   q(5838) => [
       q(Cacgia Roglai),
       ],
-   q(5837) => [
+   q(5839) => [
       q(Rogo),
       ],
-   q(5838) => [
+   q(5840) => [
       q(Ronji),
       ],
-   q(5839) => [
+   q(5841) => [
       q(Rombo),
       ],
-   q(5840) => [
+   q(5842) => [
       q(Northern Roglai),
       ],
-   q(5841) => [
+   q(5843) => [
       q(Romblomanon),
       ],
-   q(5842) => [
+   q(5844) => [
       q(Rotokas),
       ],
-   q(5843) => [
+   q(5845) => [
       q(Kriol),
       ],
-   q(5844) => [
+   q(5846) => [
       q(Rongga),
       ],
-   q(5845) => [
+   q(5847) => [
       q(Runga),
       ],
-   q(5846) => [
+   q(5848) => [
       q(Dela-Oenale),
       ],
-   q(5847) => [
+   q(5849) => [
       q(Repanbitip),
       ],
-   q(5848) => [
+   q(5850) => [
       q(Rapting),
       ],
-   q(5849) => [
+   q(5851) => [
       q(Ririo),
       ],
-   q(5850) => [
+   q(5852) => [
       q(Waima),
       ],
-   q(5851) => [
+   q(5853) => [
       q(Arritinngithigh),
       ],
-   q(5852) => [
+   q(5854) => [
       q(Romano-Serbian),
       ],
-   q(5853) => [
+   q(5855) => [
       q(Rennellese Sign Language),
       ],
-   q(5854) => [
+   q(5856) => [
       q(Russian Sign Language),
       ],
-   q(5855) => [
+   q(5857) => [
       q(Rungtu Chin),
       ],
-   q(5856) => [
+   q(5858) => [
       q(Ratahan),
       ],
-   q(5857) => [
+   q(5859) => [
       q(Rotuman),
       ],
-   q(5858) => [
+   q(5860) => [
       q(Yurats),
       ],
-   q(5859) => [
+   q(5861) => [
       q(Rathawi),
       ],
-   q(5860) => [
+   q(5862) => [
       q(Gungu),
       ],
-   q(5861) => [
+   q(5863) => [
       q(Ruuli),
       ],
-   q(5862) => [
+   q(5864) => [
       q(Rusyn),
       ],
-   q(5863) => [
+   q(5865) => [
       q(Luguru),
       ],
-   q(5864) => [
+   q(5866) => [
       q(Roviana),
       ],
-   q(5865) => [
+   q(5867) => [
       q(Ruga),
       ],
-   q(5866) => [
+   q(5868) => [
       q(Rufiji),
       ],
-   q(5867) => [
+   q(5869) => [
       q(Che),
       ],
-   q(5868) => [
+   q(5870) => [
       q(Istro Romanian),
       ],
-   q(5869) => [
+   q(5871) => [
       q(Megleno Romanian),
       ],
-   q(5870) => [
+   q(5872) => [
       q(Rutul),
       ],
-   q(5871) => [
+   q(5873) => [
       q(Lanas Lobu),
       ],
-   q(5872) => [
+   q(5874) => [
       q(Mala (Nigeria)),
       ],
-   q(5873) => [
+   q(5875) => [
       q(Ruma),
       ],
-   q(5874) => [
+   q(5876) => [
       q(Rawo),
       ],
-   q(5875) => [
+   q(5877) => [
       q(Rwa),
       ],
-   q(5876) => [
+   q(5878) => [
       q(Amba (Uganda)),
       ],
-   q(5877) => [
+   q(5879) => [
       q(Rawa),
       ],
-   q(5878) => [
+   q(5880) => [
       q(Marwari (India)),
       ],
-   q(5879) => [
+   q(5881) => [
       q(Ngardi),
       ],
-   q(5880) => [
+   q(5882) => [
       q(Karuwali),
       ],
-   q(5881) => [
+   q(5883) => [
       q(Northern Amami-Oshima),
       ],
-   q(5882) => [
+   q(5884) => [
       q(Yaeyama),
       ],
-   q(5883) => [
+   q(5885) => [
       q(Central Okinawan),
       ],
-   q(5884) => [
+   q(5886) => [
       q(Saba),
       ],
-   q(5885) => [
+   q(5887) => [
       q(Buglere),
       ],
-   q(5886) => [
+   q(5888) => [
       q(Meskwaki),
       ],
-   q(5887) => [
+   q(5889) => [
       q(Sabane),
       ],
-   q(5888) => [
+   q(5890) => [
       q(Safaliba),
       ],
-   q(5889) => [
+   q(5891) => [
       q(Sahu),
       ],
-   q(5890) => [
+   q(5892) => [
       q(Sake),
       ],
-   q(5891) => [
+   q(5893) => [
       q(Sause),
       ],
-   q(5892) => [
+   q(5894) => [
       q(Samburu),
       ],
-   q(5893) => [
+   q(5895) => [
       q(Saraveca),
       ],
-   q(5894) => [
+   q(5896) => [
       q(Saleman),
       ],
-   q(5895) => [
+   q(5897) => [
       q(Saafi-Saafi),
       ],
-   q(5896) => [
+   q(5898) => [
       q(Sawi),
       ],
-   q(5897) => [
+   q(5899) => [
       q(Sa),
       ],
-   q(5898) => [
+   q(5900) => [
       q(Saya),
       ],
-   q(5899) => [
+   q(5901) => [
       q(Saurashtra),
       ],
-   q(5900) => [
+   q(5902) => [
       q(Ngambay),
       ],
-   q(5901) => [
+   q(5903) => [
       q(Simbo),
       ],
-   q(5902) => [
+   q(5904) => [
       q(Kele (Papua New Guinea)),
       ],
-   q(5903) => [
+   q(5905) => [
       q(Southern Samo),
       ],
-   q(5904) => [
+   q(5906) => [
       q(Saliba),
       ],
-   q(5905) => [
+   q(5907) => [
       q(Chabu),
       q(Shabo),
       ],
-   q(5906) => [
+   q(5908) => [
       q(Seget),
       ],
-   q(5907) => [
+   q(5909) => [
       q(Sori-Harengan),
       ],
-   q(5908) => [
+   q(5910) => [
       q(Seti),
       ],
-   q(5909) => [
+   q(5911) => [
       q(Surbakhal),
       ],
-   q(5910) => [
+   q(5912) => [
       q(Safwa),
       ],
-   q(5911) => [
+   q(5913) => [
       q(Botolan Sambal),
       ],
-   q(5912) => [
+   q(5914) => [
       q(Sagala),
       ],
-   q(5913) => [
+   q(5915) => [
       q(Sindhi Bhil),
       ],
-   q(5914) => [
+   q(5916) => [
       q(Sabum),
       ],
-   q(5915) => [
+   q(5917) => [
       q(Sangu (Tanzania)),
       ],
-   q(5916) => [
+   q(5918) => [
       q(Sileibi),
       ],
-   q(5917) => [
+   q(5919) => [
       q(Sembakung Murut),
       ],
-   q(5918) => [
+   q(5920) => [
       q(Subiya),
       ],
-   q(5919) => [
+   q(5921) => [
       q(Kimki),
       ],
-   q(5920) => [
+   q(5922) => [
       q(Stod Bhoti),
       ],
-   q(5921) => [
+   q(5923) => [
       q(Sabine),
       ],
-   q(5922) => [
+   q(5924) => [
       q(Simba),
       ],
-   q(5923) => [
+   q(5925) => [
       q(Seberuang),
       ],
-   q(5924) => [
+   q(5926) => [
       q(Soli),
       ],
-   q(5925) => [
+   q(5927) => [
       q(Sara Kaba),
       ],
-   q(5926) => [
+   q(5928) => [
       q(Chut),
       ],
-   q(5927) => [
+   q(5929) => [
       q(Dongxiang),
       ],
-   q(5928) => [
+   q(5930) => [
       q(San Miguel Creole French),
       ],
-   q(5929) => [
+   q(5931) => [
       q(Sanggau),
       ],
-   q(5930) => [
+   q(5932) => [
       q(Sakachep),
       ],
-   q(5931) => [
+   q(5933) => [
       q(Sri Lankan Creole Malay),
       ],
-   q(5932) => [
+   q(5934) => [
       q(Sadri),
       ],
-   q(5933) => [
+   q(5935) => [
       q(Shina),
       ],
-   q(5934) => [
+   q(5936) => [
       q(Helambu Sherpa),
       ],
-   q(5935) => [
+   q(5937) => [
       q(Sa'och),
       ],
-   q(5936) => [
+   q(5938) => [
       q(North Slavey),
       ],
-   q(5937) => [
+   q(5939) => [
       q(Shumcho),
       ],
-   q(5938) => [
+   q(5940) => [
       q(Sheni),
       ],
-   q(5939) => [
+   q(5941) => [
       q(Sha),
       ],
-   q(5940) => [
+   q(5942) => [
       q(Sicel),
       ],
-   q(5941) => [
+   q(5943) => [
       q(Toraja-Sa'dan),
       ],
-   q(5942) => [
+   q(5944) => [
       q(Shabak),
       ],
-   q(5943) => [
+   q(5945) => [
       q(Sassarese Sardinian),
       ],
-   q(5944) => [
+   q(5946) => [
       q(Surubu),
       ],
-   q(5945) => [
+   q(5947) => [
       q(Sarli),
       ],
-   q(5946) => [
+   q(5948) => [
       q(Savi),
       ],
-   q(5947) => [
+   q(5949) => [
       q(Southern Kurdish),
       ],
-   q(5948) => [
+   q(5950) => [
       q(Suundi),
       ],
-   q(5949) => [
+   q(5951) => [
       q(Sos Kundi),
       ],
-   q(5950) => [
+   q(5952) => [
       q(Saudi Arabian Sign Language),
       ],
-   q(5951) => [
+   q(5953) => [
       q(Semandang),
       ],
-   q(5952) => [
+   q(5954) => [
       q(Gallurese Sardinian),
       ],
-   q(5953) => [
+   q(5955) => [
       q(Bukar-Sadung Bidayuh),
       ],
-   q(5954) => [
+   q(5956) => [
       q(Sherdukpen),
       ],
-   q(5955) => [
+   q(5957) => [
       q(Oraon Sadri),
       ],
-   q(5956) => [
+   q(5958) => [
       q(Sened),
       ],
-   q(5957) => [
+   q(5959) => [
       q(Shuadit),
       ],
-   q(5958) => [
+   q(5960) => [
       q(Sarudu),
       ],
-   q(5959) => [
+   q(5961) => [
       q(Sibu Melanau),
       ],
-   q(5960) => [
+   q(5962) => [
       q(Sallands),
       ],
-   q(5961) => [
+   q(5963) => [
       q(Semai),
       ],
-   q(5962) => [
+   q(5964) => [
       q(Shempire Senoufo),
       ],
-   q(5963) => [
+   q(5965) => [
       q(Sechelt),
       ],
-   q(5964) => [
+   q(5966) => [
       q(Sedang),
       ],
-   q(5965) => [
+   q(5967) => [
       q(Seneca),
       ],
-   q(5966) => [
+   q(5968) => [
       q(Cebaara Senoufo),
       ],
-   q(5967) => [
+   q(5969) => [
       q(Segeju),
       ],
-   q(5968) => [
+   q(5970) => [
       q(Sena),
       ],
-   q(5969) => [
+   q(5971) => [
       q(Seri),
       ],
-   q(5970) => [
+   q(5972) => [
       q(Sene),
       ],
-   q(5971) => [
+   q(5973) => [
       q(Sekani),
       ],
-   q(5972) => [
+   q(5974) => [
       q(Nanerige Senoufo),
       ],
-   q(5973) => [
+   q(5975) => [
       q(Suarmin),
       ],
-   q(5974) => [
+   q(5976) => [
       q(Sicite Senoufo),
       ],
-   q(5975) => [
+   q(5977) => [
       q(Senara Senoufo),
       ],
-   q(5976) => [
+   q(5978) => [
       q(Serrano),
       ],
-   q(5977) => [
+   q(5979) => [
       q(Koyraboro Senni Songhai),
       ],
-   q(5978) => [
+   q(5980) => [
       q(Sentani),
       ],
-   q(5979) => [
+   q(5981) => [
       q(Serui-Laut),
       ],
-   q(5980) => [
+   q(5982) => [
       q(Nyarafolo Senoufo),
       ],
-   q(5981) => [
+   q(5983) => [
       q(Sewa Bay),
       ],
-   q(5982) => [
+   q(5984) => [
       q(Secoya),
       ],
-   q(5983) => [
+   q(5985) => [
       q(Senthang Chin),
       ],
-   q(5984) => [
+   q(5986) => [
       q(Langue des signes de Belgique Francophone),
       q(French Belgian Sign Language),
       ],
-   q(5985) => [
+   q(5987) => [
       q(Eastern Subanen),
       ],
-   q(5986) => [
+   q(5988) => [
       q(Small Flowery Miao),
       ],
-   q(5987) => [
+   q(5989) => [
       q(South African Sign Language),
       ],
-   q(5988) => [
+   q(5990) => [
       q(Sehwi),
       ],
-   q(5989) => [
+   q(5991) => [
       q(Mag-antsi Ayta),
       ],
-   q(5990) => [
+   q(5992) => [
       q(Kipsigis),
       ],
-   q(5991) => [
+   q(5993) => [
       q(Surigaonon),
       ],
-   q(5992) => [
+   q(5994) => [
       q(Segai),
       ],
-   q(5993) => [
+   q(5995) => [
       q(Swiss-German Sign Language),
       ],
-   q(5994) => [
+   q(5996) => [
       q(Shughni),
       ],
-   q(5995) => [
+   q(5997) => [
       q(Suga),
       ],
-   q(5996) => [
+   q(5998) => [
       q(Surgujia),
       ],
-   q(5997) => [
+   q(5999) => [
       q(Sangkong),
       ],
-   q(5998) => [
+   q(6000) => [
       q(Singa),
       ],
-   q(5999) => [
+   q(6001) => [
       q(Singpho),
       ],
-   q(6000) => [
+   q(6002) => [
       q(Sangisari),
       ],
-   q(6001) => [
+   q(6003) => [
       q(Samogitian),
       ],
-   q(6002) => [
+   q(6004) => [
       q(Brokpake),
       ],
-   q(6003) => [
+   q(6005) => [
       q(Salas),
       ],
-   q(6004) => [
+   q(6006) => [
       q(Sebat Bet Gurage),
       ],
-   q(6005) => [
+   q(6007) => [
       q(Sierra Leone Sign Language),
       ],
-   q(6006) => [
+   q(6008) => [
       q(Sanglechi),
       ],
-   q(6007) => [
+   q(6009) => [
       q(Sursurunga),
       ],
-   q(6008) => [
+   q(6010) => [
       q(Shall-Zwall),
       ],
-   q(6009) => [
+   q(6011) => [
       q(Ninam),
       ],
-   q(6010) => [
+   q(6012) => [
       q(Sonde),
       ],
-   q(6011) => [
+   q(6013) => [
       q(Kundal Shahi),
       ],
-   q(6012) => [
+   q(6014) => [
       q(Sheko),
       ],
-   q(6013) => [
+   q(6015) => [
       q(Shua),
       ],
-   q(6014) => [
+   q(6016) => [
       q(Shoshoni),
       ],
-   q(6015) => [
+   q(6017) => [
       q(Tachelhit),
       ],
-   q(6016) => [
+   q(6018) => [
       q(Shatt),
       ],
-   q(6017) => [
+   q(6019) => [
       q(Shilluk),
       ],
-   q(6018) => [
+   q(6020) => [
       q(Shendu),
       ],
-   q(6019) => [
+   q(6021) => [
       q(Shahrudi),
       ],
-   q(6020) => [
+   q(6022) => [
       q(Shanga),
       ],
-   q(6021) => [
+   q(6023) => [
       q(Shipibo-Conibo),
       ],
-   q(6022) => [
+   q(6024) => [
       q(Sala),
       ],
-   q(6023) => [
+   q(6025) => [
       q(Shi),
       ],
-   q(6024) => [
+   q(6026) => [
       q(Shuswap),
       ],
-   q(6025) => [
+   q(6027) => [
       q(Shasta),
       ],
-   q(6026) => [
+   q(6028) => [
       q(Chadian Arabic),
       ],
-   q(6027) => [
+   q(6029) => [
       q(Shehri),
       ],
-   q(6028) => [
+   q(6030) => [
       q(Shwai),
       ],
-   q(6029) => [
+   q(6031) => [
       q(She),
       ],
-   q(6030) => [
+   q(6032) => [
       q(Tachawit),
       ],
-   q(6031) => [
+   q(6033) => [
       q(Syenara Senoufo),
       ],
-   q(6032) => [
+   q(6034) => [
       q(Akkala Sami),
       ],
-   q(6033) => [
+   q(6035) => [
       q(Sebop),
       ],
-   q(6034) => [
+   q(6036) => [
       q(Simaa),
       ],
-   q(6035) => [
+   q(6037) => [
       q(Siamou),
       ],
-   q(6036) => [
+   q(6038) => [
       q(Paasaal),
       ],
-   q(6037) => [
+   q(6039) => [
       q(Zire),
       q(Sishee),
       ],
-   q(6038) => [
+   q(6040) => [
       q(Shom Peng),
       ],
-   q(6039) => [
+   q(6041) => [
       q(Numbami),
       ],
-   q(6040) => [
+   q(6042) => [
       q(Sikiana),
       ],
-   q(6041) => [
+   q(6043) => [
       q(Tumulung Sisaala),
       ],
-   q(6042) => [
+   q(6044) => [
       q(Mende (Papua New Guinea)),
       ],
-   q(6043) => [
+   q(6045) => [
       q(Sikkimese),
       ],
-   q(6044) => [
+   q(6046) => [
       q(Sonia),
       ],
-   q(6045) => [
+   q(6047) => [
       q(Siri),
       ],
-   q(6046) => [
+   q(6048) => [
       q(Siuslaw),
       ],
-   q(6047) => [
+   q(6049) => [
       q(Sinagen),
       ],
-   q(6048) => [
+   q(6050) => [
       q(Sumariup),
       ],
-   q(6049) => [
+   q(6051) => [
       q(Siwai),
       ],
-   q(6050) => [
+   q(6052) => [
       q(Sumau),
       ],
-   q(6051) => [
+   q(6053) => [
       q(Sivandi),
       ],
-   q(6052) => [
+   q(6054) => [
       q(Siwi),
       ],
-   q(6053) => [
+   q(6055) => [
       q(Epena),
       ],
-   q(6054) => [
+   q(6056) => [
       q(Sajau Basap),
       ],
-   q(6055) => [
+   q(6057) => [
       q(Kildin Sami),
       ],
-   q(6056) => [
+   q(6058) => [
       q(Pite Sami),
       ],
-   q(6057) => [
+   q(6059) => [
       q(Assangori),
       ],
-   q(6058) => [
+   q(6060) => [
       q(Kemi Sami),
       ],
-   q(6059) => [
+   q(6061) => [
       q(Sajalong),
       q(Miji),
       ],
-   q(6060) => [
+   q(6062) => [
       q(Mapun),
       ],
-   q(6061) => [
+   q(6063) => [
       q(Sindarin),
       ],
-   q(6062) => [
+   q(6064) => [
       q(Xibe),
       ],
-   q(6063) => [
+   q(6065) => [
       q(Surjapuri),
       ],
-   q(6064) => [
+   q(6066) => [
       q(Siar-Lak),
       ],
-   q(6065) => [
+   q(6067) => [
       q(Senhaja De Srair),
       ],
-   q(6066) => [
+   q(6068) => [
       q(Ter Sami),
       ],
-   q(6067) => [
+   q(6069) => [
       q(Ume Sami),
       ],
-   q(6068) => [
+   q(6070) => [
       q(Shawnee),
       ],
-   q(6069) => [
+   q(6071) => [
       q(Skagit),
       ],
-   q(6070) => [
+   q(6072) => [
       q(Saek),
       ],
-   q(6071) => [
+   q(6073) => [
       q(Ma Manda),
       ],
-   q(6072) => [
+   q(6074) => [
       q(Southern Sierra Miwok),
       ],
-   q(6073) => [
+   q(6075) => [
       q(Seke (Vanuatu)),
       ],
-   q(6074) => [
+   q(6076) => [
       q(Sakirabia),
       ],
-   q(6075) => [
+   q(6077) => [
       q(Sakalava Malagasy),
       ],
-   q(6076) => [
+   q(6078) => [
       q(Sikule),
       ],
-   q(6077) => [
+   q(6079) => [
       q(Sika),
       ],
-   q(6078) => [
+   q(6080) => [
       q(Seke (Nepal)),
       ],
-   q(6079) => [
+   q(6081) => [
       q(Sok),
       ],
-   q(6080) => [
+   q(6082) => [
       q(Kutong),
       ],
-   q(6081) => [
+   q(6083) => [
       q(Kolibugan Subanon),
       ],
-   q(6082) => [
+   q(6084) => [
       q(Seko Tengah),
       ],
-   q(6083) => [
+   q(6085) => [
       q(Sekapan),
       ],
-   q(6084) => [
+   q(6086) => [
       q(Sininkere),
       ],
-   q(6085) => [
+   q(6087) => [
       q(Saraiki),
       q(Seraiki),
       ],
-   q(6086) => [
+   q(6088) => [
       q(Maia),
       ],
-   q(6087) => [
+   q(6089) => [
       q(Sakata),
       ],
-   q(6088) => [
+   q(6090) => [
       q(Sakao),
       ],
-   q(6089) => [
+   q(6091) => [
       q(Skou),
       ],
-   q(6090) => [
+   q(6092) => [
       q(Skepi Creole Dutch),
       ],
-   q(6091) => [
+   q(6093) => [
       q(Seko Padang),
       ],
-   q(6092) => [
+   q(6094) => [
       q(Sikaiana),
       ],
-   q(6093) => [
+   q(6095) => [
       q(Sekar),
       ],
-   q(6094) => [
+   q(6096) => [
       q(Sissala),
       ],
-   q(6095) => [
+   q(6097) => [
       q(Sholaga),
       ],
-   q(6096) => [
+   q(6098) => [
       q(Swiss-Italian Sign Language),
       ],
-   q(6097) => [
+   q(6099) => [
       q(Selungai Murut),
       ],
-   q(6098) => [
+   q(6100) => [
       q(Southern Puget Sound Salish),
       ],
-   q(6099) => [
+   q(6101) => [
       q(Lower Silesian),
       ],
-   q(6100) => [
+   q(6102) => [
       q(Saluma),
       ],
-   q(6101) => [
+   q(6103) => [
       q(Salt-Yui),
       ],
-   q(6102) => [
+   q(6104) => [
       q(Pangutaran Sama),
       ],
-   q(6103) => [
+   q(6105) => [
       q(Salinan),
       ],
-   q(6104) => [
+   q(6106) => [
       q(Lamaholot),
       ],
-   q(6105) => [
+   q(6107) => [
       q(Salchuq),
       ],
-   q(6106) => [
+   q(6108) => [
       q(Salar),
       ],
-   q(6107) => [
+   q(6109) => [
       q(Singapore Sign Language),
       ],
-   q(6108) => [
+   q(6110) => [
       q(Sila),
       ],
-   q(6109) => [
+   q(6111) => [
       q(Selaru),
       ],
-   q(6110) => [
+   q(6112) => [
       q(Sialum),
       ],
-   q(6111) => [
+   q(6113) => [
       q(Salampasu),
       ],
-   q(6112) => [
+   q(6114) => [
       q(Selayar),
       ],
-   q(6113) => [
+   q(6115) => [
       q(Ma'ya),
       ],
-   q(6114) => [
+   q(6116) => [
       q(Simbari),
       ],
-   q(6115) => [
+   q(6117) => [
       q(Som),
       ],
-   q(6116) => [
+   q(6118) => [
       q(Sama),
       ],
-   q(6117) => [
+   q(6119) => [
       q(Auwe),
       ],
-   q(6118) => [
+   q(6120) => [
       q(Simbali),
       ],
-   q(6119) => [
+   q(6121) => [
       q(Samei),
       ],
-   q(6120) => [
+   q(6122) => [
       q(Bolinao),
       ],
-   q(6121) => [
+   q(6123) => [
       q(Central Sama),
       ],
-   q(6122) => [
+   q(6124) => [
       q(Musasa),
       ],
-   q(6123) => [
+   q(6125) => [
       q(Samaritan),
       ],
-   q(6124) => [
+   q(6126) => [
       q(Samo),
       ],
-   q(6125) => [
+   q(6127) => [
       q(Simeulue),
       ],
-   q(6126) => [
+   q(6128) => [
       q(Simte),
       ],
-   q(6127) => [
+   q(6129) => [
       q(Somray),
       ],
-   q(6128) => [
+   q(6130) => [
       q(Samvedi),
       ],
-   q(6129) => [
+   q(6131) => [
       q(Sumbawa),
       ],
-   q(6130) => [
+   q(6132) => [
       q(Samba),
       ],
-   q(6131) => [
+   q(6133) => [
       q(Semnani),
       ],
-   q(6132) => [
+   q(6134) => [
       q(Simeku),
       ],
-   q(6133) => [
+   q(6135) => [
       q(Sebuyau),
       ],
-   q(6134) => [
+   q(6136) => [
       q(Sinaugoro),
       ],
-   q(6135) => [
+   q(6137) => [
       q(Bau Bidayuh),
       ],
-   q(6136) => [
+   q(6138) => [
       q(Noon),
       ],
-   q(6137) => [
+   q(6139) => [
       q(Sanga (Democratic Republic of Congo)),
       ],
-   q(6138) => [
+   q(6140) => [
       q(Shinabo),
       ],
-   q(6139) => [
+   q(6141) => [
       q(Sensi),
       ],
-   q(6140) => [
+   q(6142) => [
       q(Riverain Sango),
       ],
-   q(6141) => [
+   q(6143) => [
       q(Sangil),
       ],
-   q(6142) => [
+   q(6144) => [
       q(Southern Ma'di),
       ],
-   q(6143) => [
+   q(6145) => [
       q(Siona),
       ],
-   q(6144) => [
+   q(6146) => [
       q(Snohomish),
       ],
-   q(6145) => [
+   q(6147) => [
       q(Siane),
       ],
-   q(6146) => [
+   q(6148) => [
       q(Sangu (Gabon)),
       ],
-   q(6147) => [
+   q(6149) => [
       q(Sihan),
       ],
-   q(6148) => [
+   q(6150) => [
       q(South West Bay),
       q(Nahavaq),
       ],
-   q(6149) => [
+   q(6151) => [
       q(Senggi),
       q(Viid),
       ],
-   q(6150) => [
+   q(6152) => [
       q(Sa'ban),
       ],
-   q(6151) => [
+   q(6153) => [
       q(Selee),
       ],
-   q(6152) => [
+   q(6154) => [
       q(Sam),
       ],
-   q(6153) => [
+   q(6155) => [
       q(Saniyo-Hiyewe),
       ],
-   q(6154) => [
+   q(6156) => [
       q(Sinsauru),
       ],
-   q(6155) => [
+   q(6157) => [
       q(Thai Song),
       ],
-   q(6156) => [
+   q(6158) => [
       q(Sobei),
       ],
-   q(6157) => [
+   q(6159) => [
       q(So (Democratic Republic of Congo)),
       ],
-   q(6158) => [
+   q(6160) => [
       q(Songoora),
       ],
-   q(6159) => [
+   q(6161) => [
       q(Songomeno),
       ],
-   q(6160) => [
+   q(6162) => [
       q(Aka),
       ],
-   q(6161) => [
+   q(6163) => [
       q(Sonha),
       ],
-   q(6162) => [
+   q(6164) => [
       q(Soi),
       ],
-   q(6163) => [
+   q(6165) => [
       q(Sokoro),
       ],
-   q(6164) => [
+   q(6166) => [
       q(Solos),
       ],
-   q(6165) => [
+   q(6167) => [
       q(Songo),
       ],
-   q(6166) => [
+   q(6168) => [
       q(Songe),
       ],
-   q(6167) => [
+   q(6169) => [
       q(Kanasi),
       ],
-   q(6168) => [
+   q(6170) => [
       q(Somrai),
       ],
-   q(6169) => [
+   q(6171) => [
       q(Seeku),
       ],
-   q(6170) => [
+   q(6172) => [
       q(Southern Thai),
       ],
-   q(6171) => [
+   q(6173) => [
       q(Sonsorol),
       ],
-   q(6172) => [
+   q(6174) => [
       q(Sowanda),
       ],
-   q(6173) => [
+   q(6175) => [
       q(Swo),
       ],
-   q(6174) => [
+   q(6176) => [
       q(Miyobe),
       ],
-   q(6175) => [
+   q(6177) => [
       q(Temi),
       ],
-   q(6176) => [
+   q(6178) => [
       q(Sepa (Indonesia)),
       ],
-   q(6177) => [
+   q(6179) => [
       q(Sape),
       ],
-   q(6178) => [
+   q(6180) => [
       q(Saep),
       ],
-   q(6179) => [
+   q(6181) => [
       q(Sepa (Papua New Guinea)),
       ],
-   q(6180) => [
+   q(6182) => [
       q(Sian),
       ],
-   q(6181) => [
+   q(6183) => [
       q(Saponi),
       ],
-   q(6182) => [
+   q(6184) => [
       q(Sengo),
       ],
-   q(6183) => [
+   q(6185) => [
       q(Selepet),
       ],
-   q(6184) => [
+   q(6186) => [
       q(Akukem),
       ],
-   q(6185) => [
+   q(6187) => [
       q(Sanapana),
       ],
-   q(6186) => [
+   q(6188) => [
       q(Spokane),
       ],
-   q(6187) => [
+   q(6189) => [
       q(Supyire Senoufo),
       ],
-   q(6188) => [
+   q(6190) => [
       q(Loreto-Ucayali Spanish),
       ],
-   q(6189) => [
+   q(6191) => [
       q(Saparua),
       ],
-   q(6190) => [
+   q(6192) => [
       q(Saposa),
       ],
-   q(6191) => [
+   q(6193) => [
       q(Spiti Bhoti),
       ],
-   q(6192) => [
+   q(6194) => [
       q(Sapuan),
       ],
-   q(6193) => [
+   q(6195) => [
       q(Sambalpuri),
       q(Kosli),
       ],
-   q(6194) => [
+   q(6196) => [
       q(South Picene),
       ],
-   q(6195) => [
+   q(6197) => [
       q(Sabaot),
       ],
-   q(6196) => [
+   q(6198) => [
       q(Shama-Sambuga),
       ],
-   q(6197) => [
+   q(6199) => [
       q(Shau),
       ],
-   q(6198) => [
+   q(6200) => [
       q(Albanian Sign Language),
       ],
-   q(6199) => [
+   q(6201) => [
       q(Suma),
       ],
-   q(6200) => [
+   q(6202) => [
       q(Susquehannock),
       ],
-   q(6201) => [
+   q(6203) => [
       q(Sorkhei),
       ],
-   q(6202) => [
+   q(6204) => [
       q(Sou),
       ],
-   q(6203) => [
+   q(6205) => [
       q(Siculo Arabic),
       ],
-   q(6204) => [
+   q(6206) => [
       q(Sri Lankan Sign Language),
       ],
-   q(6205) => [
+   q(6207) => [
       q(Soqotri),
       ],
-   q(6206) => [
+   q(6208) => [
       q(Squamish),
       ],
-   q(6207) => [
+   q(6209) => [
       q(Saruga),
       ],
-   q(6208) => [
+   q(6210) => [
       q(Sora),
       ],
-   q(6209) => [
+   q(6211) => [
       q(Logudorese Sardinian),
       ],
-   q(6210) => [
+   q(6212) => [
       q(Sara),
       ],
-   q(6211) => [
+   q(6213) => [
       q(Nafi),
       ],
-   q(6212) => [
+   q(6214) => [
       q(Sulod),
       ],
-   q(6213) => [
+   q(6215) => [
       q(Sarikoli),
       ],
-   q(6214) => [
+   q(6216) => [
       q(Siriano),
       ],
-   q(6215) => [
+   q(6217) => [
       q(Serudung Murut),
       ],
-   q(6216) => [
+   q(6218) => [
       q(Isirawa),
       ],
-   q(6217) => [
+   q(6219) => [
       q(Saramaccan),
       ],
-   q(6218) => [
+   q(6220) => [
       q(Campidanese Sardinian),
       ],
-   q(6219) => [
+   q(6221) => [
       q(Siriono),
       ],
-   q(6220) => [
+   q(6222) => [
       q(Sarsi),
       ],
-   q(6221) => [
+   q(6223) => [
       q(Sauri),
       ],
-   q(6222) => [
+   q(6224) => [
       q(Surui),
       ],
-   q(6223) => [
+   q(6225) => [
       q(Southern Sorsoganon),
       ],
-   q(6224) => [
+   q(6226) => [
       q(Serua),
       ],
-   q(6225) => [
+   q(6227) => [
       q(Sirmauri),
       ],
-   q(6226) => [
+   q(6228) => [
       q(Sera),
       ],
-   q(6227) => [
+   q(6229) => [
       q(Shahmirzadi),
       ],
-   q(6228) => [
+   q(6230) => [
       q(Southern Sama),
       ],
-   q(6229) => [
+   q(6231) => [
       q(Suba-Simbiti),
       ],
-   q(6230) => [
+   q(6232) => [
       q(Siroi),
       ],
-   q(6231) => [
+   q(6233) => [
       q(Balangingi),
       q(Bangingih Sama),
       ],
-   q(6232) => [
+   q(6234) => [
       q(Thao),
       ],
-   q(6233) => [
+   q(6235) => [
       q(Seimat),
       ],
-   q(6234) => [
+   q(6236) => [
       q(Shihhi Arabic),
       ],
-   q(6235) => [
+   q(6237) => [
       q(Sansi),
       ],
-   q(6236) => [
+   q(6238) => [
       q(Sausi),
       ],
-   q(6237) => [
+   q(6239) => [
       q(Sunam),
       ],
-   q(6238) => [
+   q(6240) => [
       q(Western Sisaala),
       ],
-   q(6239) => [
+   q(6241) => [
       q(Semnam),
       ],
-   q(6240) => [
+   q(6242) => [
       q(Waata),
       ],
-   q(6241) => [
+   q(6243) => [
       q(Sissano),
       ],
-   q(6242) => [
+   q(6244) => [
       q(Spanish Sign Language),
       ],
-   q(6243) => [
+   q(6245) => [
       q(So'a),
       ],
-   q(6244) => [
+   q(6246) => [
       q(Swiss-French Sign Language),
       ],
-   q(6245) => [
+   q(6247) => [
       q(So),
       ],
-   q(6246) => [
+   q(6248) => [
       q(Sinasina),
       ],
-   q(6247) => [
+   q(6249) => [
       q(Susuami),
       ],
-   q(6248) => [
+   q(6250) => [
       q(Shark Bay),
       ],
-   q(6249) => [
+   q(6251) => [
       q(Samberigi),
       ],
-   q(6250) => [
+   q(6252) => [
       q(Saho),
       ],
-   q(6251) => [
+   q(6253) => [
       q(Sengseng),
       ],
-   q(6252) => [
+   q(6254) => [
       q(Settla),
       ],
-   q(6253) => [
+   q(6255) => [
       q(Northern Subanen),
       ],
-   q(6254) => [
+   q(6256) => [
       q(Sentinel),
       ],
-   q(6255) => [
+   q(6257) => [
       q(Liana-Seti),
       ],
-   q(6256) => [
+   q(6258) => [
       q(Seta),
       ],
-   q(6257) => [
+   q(6259) => [
       q(Trieng),
       ],
-   q(6258) => [
+   q(6260) => [
       q(Shelta),
       ],
-   q(6259) => [
+   q(6261) => [
       q(Bulo Stieng),
       ],
-   q(6260) => [
+   q(6262) => [
       q(Matya Samo),
       ],
-   q(6261) => [
+   q(6263) => [
       q(Arammba),
       ],
-   q(6262) => [
+   q(6264) => [
       q(Stellingwerfs),
       ],
-   q(6263) => [
+   q(6265) => [
       q(Setaman),
       ],
-   q(6264) => [
+   q(6266) => [
       q(Owa),
       ],
-   q(6265) => [
+   q(6267) => [
       q(Stoney),
       ],
-   q(6266) => [
+   q(6268) => [
       q(Southeastern Tepehuan),
       ],
-   q(6267) => [
+   q(6269) => [
       q(Saterfriesisch),
       ],
-   q(6268) => [
+   q(6270) => [
       q(Straits Salish),
       ],
-   q(6269) => [
+   q(6271) => [
       q(Shumashti),
       ],
-   q(6270) => [
+   q(6272) => [
       q(Budeh Stieng),
       ],
-   q(6271) => [
+   q(6273) => [
       q(Samtao),
       ],
-   q(6272) => [
+   q(6274) => [
       q(Silt'e),
       ],
-   q(6273) => [
+   q(6275) => [
       q(Satawalese),
       ],
-   q(6274) => [
+   q(6276) => [
       q(Siberian Tatar),
       ],
-   q(6275) => [
+   q(6277) => [
       q(Sulka),
       ],
-   q(6276) => [
+   q(6278) => [
       q(Suku),
       ],
-   q(6277) => [
+   q(6279) => [
       q(Western Subanon),
       ],
-   q(6278) => [
+   q(6280) => [
       q(Suena),
       ],
-   q(6279) => [
+   q(6281) => [
       q(Suganga),
       ],
-   q(6280) => [
+   q(6282) => [
       q(Suki),
       ],
-   q(6281) => [
+   q(6283) => [
       q(Shubi),
       ],
-   q(6282) => [
+   q(6284) => [
       q(Suri),
       ],
-   q(6283) => [
+   q(6285) => [
       q(Mwaghavul),
       ],
-   q(6284) => [
+   q(6286) => [
       q(Subtiaba),
       ],
-   q(6285) => [
+   q(6287) => [
       q(Puroik),
       ],
-   q(6286) => [
+   q(6288) => [
       q(Sumbwa),
       ],
-   q(6287) => [
+   q(6289) => [
       q(Suya),
       ],
-   q(6288) => [
+   q(6290) => [
       q(Sunwar),
       ],
-   q(6289) => [
+   q(6291) => [
       q(Svan),
       ],
-   q(6290) => [
+   q(6292) => [
       q(Ulau-Suain),
       ],
-   q(6291) => [
+   q(6293) => [
       q(Vincentian Creole English),
       ],
-   q(6292) => [
+   q(6294) => [
       q(Serili),
       ],
-   q(6293) => [
+   q(6295) => [
       q(Slovakian Sign Language),
       ],
-   q(6294) => [
+   q(6296) => [
       q(Slavomolisano),
       ],
-   q(6295) => [
+   q(6297) => [
       q(Savara),
       ],
-   q(6296) => [
+   q(6298) => [
       q(Savosavo),
       ],
-   q(6297) => [
+   q(6299) => [
       q(Skalvian),
       ],
-   q(6298) => [
+   q(6300) => [
       q(Maore Comorian),
       ],
-   q(6299) => [
+   q(6301) => [
       q(Congo Swahili),
       ],
-   q(6300) => [
+   q(6302) => [
       q(Sere),
       ],
-   q(6301) => [
+   q(6303) => [
       q(Swabian),
       ],
-   q(6302) => [
+   q(6304) => [
       q(Swahili (individual language)),
       q(Kiswahili),
       ],
-   q(6303) => [
+   q(6305) => [
       q(Sui),
       ],
-   q(6304) => [
+   q(6306) => [
       q(Sira),
       ],
-   q(6305) => [
+   q(6307) => [
       q(Malawi Sena),
       ],
-   q(6306) => [
+   q(6308) => [
       q(Swedish Sign Language),
       ],
-   q(6307) => [
+   q(6309) => [
       q(Samosa),
       ],
-   q(6308) => [
+   q(6310) => [
       q(Sawknah),
       ],
-   q(6309) => [
+   q(6311) => [
       q(Shanenawa),
       ],
-   q(6310) => [
+   q(6312) => [
       q(Suau),
       ],
-   q(6311) => [
+   q(6313) => [
       q(Sharwa),
       ],
-   q(6312) => [
+   q(6314) => [
       q(Saweru),
       ],
-   q(6313) => [
+   q(6315) => [
       q(Seluwasan),
       ],
-   q(6314) => [
+   q(6316) => [
       q(Sawila),
       ],
-   q(6315) => [
+   q(6317) => [
       q(Suwawa),
       ],
-   q(6316) => [
+   q(6318) => [
       q(Shekhawati),
       ],
-   q(6317) => [
+   q(6319) => [
       q(Sowa),
       ],
-   q(6318) => [
+   q(6320) => [
       q(Suruaha),
       ],
-   q(6319) => [
+   q(6321) => [
       q(Sarua),
       ],
-   q(6320) => [
+   q(6322) => [
       q(Suba),
       ],
-   q(6321) => [
+   q(6323) => [
       q(Sicanian),
       ],
-   q(6322) => [
+   q(6324) => [
       q(Sighu),
       ],
-   q(6323) => [
+   q(6325) => [
       q(Shixing),
       ],
-   q(6324) => [
+   q(6326) => [
       q(Southern Kalapuya),
       ],
-   q(6325) => [
+   q(6327) => [
       q(Selian),
       ],
-   q(6326) => [
+   q(6328) => [
       q(Samre),
       ],
-   q(6327) => [
+   q(6329) => [
       q(Sangir),
       ],
-   q(6328) => [
+   q(6330) => [
       q(Sorothaptic),
       ],
-   q(6329) => [
+   q(6331) => [
       q(Saaroa),
       ],
-   q(6330) => [
+   q(6332) => [
       q(Sasaru),
       ],
-   q(6331) => [
+   q(6333) => [
       q(Upper Saxon),
       ],
-   q(6332) => [
+   q(6334) => [
       q(Saxwe Gbe),
       ],
-   q(6333) => [
+   q(6335) => [
       q(Siang),
       ],
-   q(6334) => [
+   q(6336) => [
       q(Central Subanen),
       ],
-   q(6335) => [
+   q(6337) => [
       q(Seki),
       ],
-   q(6336) => [
+   q(6338) => [
       q(Sukur),
       ],
-   q(6337) => [
+   q(6339) => [
       q(Sylheti),
       ],
-   q(6338) => [
+   q(6340) => [
       q(Maya Samo),
       ],
-   q(6339) => [
+   q(6341) => [
       q(Senaya),
       ],
-   q(6340) => [
+   q(6342) => [
       q(Suoy),
       ],
-   q(6341) => [
+   q(6343) => [
       q(Sinyar),
       ],
-   q(6342) => [
+   q(6344) => [
       q(Kagate),
       ],
-   q(6343) => [
+   q(6345) => [
       q(Samay),
       ],
-   q(6344) => [
+   q(6346) => [
       q(Al-Sayyid Bedouin Sign Language),
       ],
-   q(6345) => [
+   q(6347) => [
       q(Semelai),
       ],
-   q(6346) => [
+   q(6348) => [
       q(Ngalum),
       ],
-   q(6347) => [
+   q(6349) => [
       q(Semaq Beri),
       ],
-   q(6348) => [
+   q(6350) => [
       q(Seru),
       ],
-   q(6349) => [
+   q(6351) => [
       q(Seze),
       ],
-   q(6350) => [
+   q(6352) => [
       q(Sengele),
       ],
-   q(6351) => [
+   q(6353) => [
       q(Silesian),
       ],
-   q(6352) => [
+   q(6354) => [
       q(Sula),
       ],
-   q(6353) => [
+   q(6355) => [
       q(Suabo),
       ],
-   q(6354) => [
+   q(6356) => [
       q(Isu (Fako Division)),
       ],
-   q(6355) => [
+   q(6357) => [
       q(Sawai),
       ],
-   q(6356) => [
+   q(6358) => [
       q(Lower Tanana),
       ],
-   q(6357) => [
+   q(6359) => [
       q(Tabassaran),
       ],
-   q(6358) => [
+   q(6360) => [
       q(Lowland Tarahumara),
       ],
-   q(6359) => [
+   q(6361) => [
       q(Tause),
       ],
-   q(6360) => [
+   q(6362) => [
       q(Tariana),
       ],
-   q(6361) => [
+   q(6363) => [
       q(Tapirape),
       ],
-   q(6362) => [
+   q(6364) => [
       q(Tagoi),
       ],
-   q(6363) => [
+   q(6365) => [
       q(Eastern Tamang),
       ],
-   q(6364) => [
+   q(6366) => [
       q(Tala),
       ],
-   q(6365) => [
+   q(6367) => [
       q(Tal),
       ],
-   q(6366) => [
+   q(6368) => [
       q(Tangale),
       ],
-   q(6367) => [
+   q(6369) => [
       q(Yami),
       ],
-   q(6368) => [
+   q(6370) => [
       q(Taabwa),
       ],
-   q(6369) => [
+   q(6371) => [
       q(Tamasheq),
       ],
-   q(6370) => [
+   q(6372) => [
       q(Central Tarahumara),
       ],
-   q(6371) => [
+   q(6373) => [
       q(Tay Boi),
       ],
-   q(6372) => [
+   q(6374) => [
       q(Upper Tanana),
       ],
-   q(6373) => [
+   q(6375) => [
       q(Tatuyo),
       ],
-   q(6374) => [
+   q(6376) => [
       q(Tai),
       ],
-   q(6375) => [
+   q(6377) => [
       q(Tamki),
       ],
-   q(6376) => [
+   q(6378) => [
       q(Atayal),
       ],
-   q(6377) => [
+   q(6379) => [
       q(Tocho),
       ],
-   q(6378) => [
+   q(6380) => [
       q(Aikana),
       ],
-   q(6379) => [
+   q(6381) => [
       q(Tapeba),
       ],
-   q(6380) => [
+   q(6382) => [
       q(Takia),
       ],
-   q(6381) => [
+   q(6383) => [
       q(Kaki Ae),
       ],
-   q(6382) => [
+   q(6384) => [
       q(Tanimbili),
       ],
-   q(6383) => [
+   q(6385) => [
       q(Mandara),
       ],
-   q(6384) => [
+   q(6386) => [
       q(North Tairora),
       ],
-   q(6385) => [
+   q(6387) => [
       q(Thurawal),
       ],
-   q(6386) => [
+   q(6388) => [
       q(Gaam),
       ],
-   q(6387) => [
+   q(6389) => [
       q(Tiang),
       ],
-   q(6388) => [
+   q(6390) => [
       q(Calamian Tagbanwa),
       ],
-   q(6389) => [
+   q(6391) => [
       q(Tboli),
       ],
-   q(6390) => [
+   q(6392) => [
       q(Tagbu),
       ],
-   q(6391) => [
+   q(6393) => [
       q(Barro Negro Tunebo),
       ],
-   q(6392) => [
+   q(6394) => [
       q(Tawala),
       ],
-   q(6393) => [
+   q(6395) => [
       q(Taworta),
       q(Diebroud),
       ],
-   q(6394) => [
+   q(6396) => [
       q(Tumtum),
       ],
-   q(6395) => [
+   q(6397) => [
       q(Tanguat),
       ],
-   q(6396) => [
+   q(6398) => [
       q(Tembo (Kitembo)),
       ],
-   q(6397) => [
+   q(6399) => [
       q(Tubar),
       ],
-   q(6398) => [
+   q(6400) => [
       q(Tobo),
       ],
-   q(6399) => [
+   q(6401) => [
       q(Tagbanwa),
       ],
-   q(6400) => [
+   q(6402) => [
       q(Kapin),
       ],
-   q(6401) => [
+   q(6403) => [
       q(Tabaru),
       ],
-   q(6402) => [
+   q(6404) => [
       q(Ditammari),
       ],
-   q(6403) => [
+   q(6405) => [
       q(Ticuna),
       ],
-   q(6404) => [
+   q(6406) => [
       q(Tanacross),
       ],
-   q(6405) => [
+   q(6407) => [
       q(Datooga),
       ],
-   q(6406) => [
+   q(6408) => [
       q(Tafi),
       ],
-   q(6407) => [
+   q(6409) => [
       q(Southern Tutchone),
       ],
-   q(6408) => [
+   q(6410) => [
       q(Malinaltepec Me'phaa),
       q(Malinaltepec Tlapanec),
       ],
-   q(6409) => [
+   q(6411) => [
       q(Tamagario),
       ],
-   q(6410) => [
+   q(6412) => [
       q(Turks And Caicos Creole English),
       ],
-   q(6411) => [
+   q(6413) => [
       q(Wara),
       ],
-   q(6412) => [
+   q(6414) => [
       q(Tchitchege),
       ],
-   q(6413) => [
+   q(6415) => [
       q(Taman (Myanmar)),
       ],
-   q(6414) => [
+   q(6416) => [
       q(Tanahmerah),
       ],
-   q(6415) => [
+   q(6417) => [
       q(Tichurong),
       ],
-   q(6416) => [
+   q(6418) => [
       q(Taungyo),
       ],
-   q(6417) => [
+   q(6419) => [
       q(Tawr Chin),
       ],
-   q(6418) => [
+   q(6420) => [
       q(Kaiy),
       ],
-   q(6419) => [
+   q(6421) => [
       q(Torres Strait Creole),
       ],
-   q(6420) => [
+   q(6422) => [
       q(T'en),
       ],
-   q(6421) => [
+   q(6423) => [
       q(Southeastern Tarahumara),
       ],
-   q(6422) => [
+   q(6424) => [
       q(Tecpatlan Totonac),
       ],
-   q(6423) => [
+   q(6425) => [
       q(Toda),
       ],
-   q(6424) => [
+   q(6426) => [
       q(Tulu),
       ],
-   q(6425) => [
+   q(6427) => [
       q(Thado Chin),
       ],
-   q(6426) => [
+   q(6428) => [
       q(Tagdal),
       ],
-   q(6427) => [
+   q(6429) => [
       q(Panchpargania),
       ],
-   q(6428) => [
+   q(6430) => [
       q(Embera-Tado),
       ],
-   q(6429) => [
+   q(6431) => [
       q(Tai Nua),
       ],
-   q(6430) => [
+   q(6432) => [
       q(Tiranige Diga Dogon),
       ],
-   q(6431) => [
+   q(6433) => [
       q(Talieng),
       ],
-   q(6432) => [
+   q(6434) => [
       q(Western Tamang),
       ],
-   q(6433) => [
+   q(6435) => [
       q(Thulung),
       ],
-   q(6434) => [
+   q(6436) => [
       q(Tomadino),
       ],
-   q(6435) => [
+   q(6437) => [
       q(Tajio),
       ],
-   q(6436) => [
+   q(6438) => [
       q(Tambas),
       ],
-   q(6437) => [
+   q(6439) => [
       q(Sur),
       ],
-   q(6438) => [
+   q(6440) => [
       q(Tondano),
       ],
-   q(6439) => [
+   q(6441) => [
       q(Teme),
       ],
-   q(6440) => [
+   q(6442) => [
       q(Tita),
       ],
-   q(6441) => [
+   q(6443) => [
       q(Todrah),
       ],
-   q(6442) => [
+   q(6444) => [
       q(Doutai),
       ],
-   q(6443) => [
+   q(6445) => [
       q(Tetun Dili),
       ],
-   q(6444) => [
+   q(6446) => [
       q(Tempasuk Dusun),
       ],
-   q(6445) => [
+   q(6447) => [
       q(Toro),
       ],
-   q(6446) => [
+   q(6448) => [
       q(Tandroy-Mahafaly Malagasy),
       ],
-   q(6447) => [
+   q(6449) => [
       q(Tadyawan),
       ],
-   q(6448) => [
+   q(6450) => [
       q(Temiar),
       ],
-   q(6449) => [
+   q(6451) => [
       q(Tetete),
       ],
-   q(6450) => [
+   q(6452) => [
       q(Terik),
       ],
-   q(6451) => [
+   q(6453) => [
       q(Tepo Krumen),
       ],
-   q(6452) => [
+   q(6454) => [
       q(Huehuetla Tepehua),
       ],
-   q(6453) => [
+   q(6455) => [
       q(Teressa),
       ],
-   q(6454) => [
+   q(6456) => [
       q(Teke-Tege),
       ],
-   q(6455) => [
+   q(6457) => [
       q(Tehuelche),
       ],
-   q(6456) => [
+   q(6458) => [
       q(Torricelli),
       ],
-   q(6457) => [
+   q(6459) => [
       q(Ibali Teke),
       ],
-   q(6458) => [
+   q(6460) => [
       q(Tama (Colombia)),
       ],
-   q(6459) => [
+   q(6461) => [
       q(Teso),
       ],
-   q(6460) => [
+   q(6462) => [
       q(Tepecano),
       ],
-   q(6461) => [
+   q(6463) => [
       q(Temein),
       ],
-   q(6462) => [
+   q(6464) => [
       q(Tengger),
       ],
-   q(6463) => [
+   q(6465) => [
       q(Soo),
       ],
-   q(6464) => [
+   q(6466) => [
       q(Teor),
       ],
-   q(6465) => [
+   q(6467) => [
       q(Tewa (USA)),
       ],
-   q(6466) => [
+   q(6468) => [
       q(Tennet),
       ],
-   q(6467) => [
+   q(6469) => [
       q(Tulishi),
       ],
-   q(6468) => [
+   q(6470) => [
       q(Tofin Gbe),
       ],
-   q(6469) => [
+   q(6471) => [
       q(Tanaina),
       ],
-   q(6470) => [
+   q(6472) => [
       q(Tefaro),
       ],
-   q(6471) => [
+   q(6473) => [
       q(Teribe),
       ],
-   q(6472) => [
+   q(6474) => [
       q(Ternate),
       ],
-   q(6473) => [
+   q(6475) => [
       q(Sagalla),
       ],
-   q(6474) => [
+   q(6476) => [
       q(Tobilung),
       ],
-   q(6475) => [
+   q(6477) => [
       q(Tigak),
       ],
-   q(6476) => [
+   q(6478) => [
       q(Ciwogai),
       ],
-   q(6477) => [
+   q(6479) => [
       q(Eastern Gorkha Tamang),
       ],
-   q(6478) => [
+   q(6480) => [
       q(Chalikha),
       ],
-   q(6479) => [
+   q(6481) => [
       q(Tobagonian Creole English),
       ],
-   q(6480) => [
+   q(6482) => [
       q(Lawunuia),
       ],
-   q(6481) => [
+   q(6483) => [
       q(Tagin),
       ],
-   q(6482) => [
+   q(6484) => [
       q(Tandaganon),
       ],
-   q(6483) => [
+   q(6485) => [
       q(Sudest),
       ],
-   q(6484) => [
+   q(6486) => [
       q(Tangoa),
       ],
-   q(6485) => [
+   q(6487) => [
       q(Tring),
       ],
-   q(6486) => [
+   q(6488) => [
       q(Tareng),
       ],
-   q(6487) => [
+   q(6489) => [
       q(Nume),
       ],
-   q(6488) => [
+   q(6490) => [
       q(Central Tagbanwa),
       ],
-   q(6489) => [
+   q(6491) => [
       q(Tanggu),
       ],
-   q(6490) => [
+   q(6492) => [
       q(Tingui-Boto),
       ],
-   q(6491) => [
+   q(6493) => [
       q(Tagwana Senoufo),
       ],
-   q(6492) => [
+   q(6494) => [
       q(Tagish),
       ],
-   q(6493) => [
+   q(6495) => [
       q(Togoyo),
       ],
-   q(6494) => [
+   q(6496) => [
       q(Tagalaka),
       ],
-   q(6495) => [
+   q(6497) => [
       q(Tai Hang Tong),
       ],
-   q(6496) => [
+   q(6498) => [
       q(Thayore),
       ],
-   q(6497) => [
+   q(6499) => [
       q(Chitwania Tharu),
       ],
-   q(6498) => [
+   q(6500) => [
       q(Thangmi),
       ],
-   q(6499) => [
+   q(6501) => [
       q(Northern Tarahumara),
       ],
-   q(6500) => [
+   q(6502) => [
       q(Tai Long),
       ],
-   q(6501) => [
+   q(6503) => [
       q(Tharaka),
       q(Kitharaka),
       ],
-   q(6502) => [
+   q(6504) => [
       q(Dangaura Tharu),
       ],
-   q(6503) => [
+   q(6505) => [
       q(Aheu),
       ],
-   q(6504) => [
+   q(6506) => [
       q(Thachanadan),
       ],
-   q(6505) => [
+   q(6507) => [
       q(Thompson),
       ],
-   q(6506) => [
+   q(6508) => [
       q(Kochila Tharu),
       ],
-   q(6507) => [
+   q(6509) => [
       q(Rana Tharu),
       ],
-   q(6508) => [
+   q(6510) => [
       q(Thakali),
       ],
-   q(6509) => [
+   q(6511) => [
       q(Tahltan),
       ],
-   q(6510) => [
+   q(6512) => [
       q(Thuri),
       ],
-   q(6511) => [
+   q(6513) => [
       q(Tahaggart Tamahaq),
       ],
-   q(6512) => [
+   q(6514) => [
       q(Thudam),
       ],
-   q(6513) => [
+   q(6515) => [
       q(Tha),
       ],
-   q(6514) => [
+   q(6516) => [
       q(Tayart Tamajeq),
       ],
-   q(6515) => [
+   q(6517) => [
       q(Tidikelt Tamazight),
       ],
-   q(6516) => [
+   q(6518) => [
       q(Tira),
       ],
-   q(6517) => [
+   q(6519) => [
       q(Tidong),
       ],
-   q(6518) => [
+   q(6520) => [
       q(Tifal),
       ],
-   q(6519) => [
+   q(6521) => [
       q(Timugon Murut),
       ],
-   q(6520) => [
+   q(6522) => [
       q(Tiene),
       ],
-   q(6521) => [
+   q(6523) => [
       q(Tilung),
       ],
-   q(6522) => [
+   q(6524) => [
       q(Tikar),
       ],
-   q(6523) => [
+   q(6525) => [
       q(Tillamook),
       ],
-   q(6524) => [
+   q(6526) => [
       q(Timbe),
       ],
-   q(6525) => [
+   q(6527) => [
       q(Tindi),
       ],
-   q(6526) => [
+   q(6528) => [
       q(Teop),
       ],
-   q(6527) => [
+   q(6529) => [
       q(Trimuris),
       ],
-   q(6528) => [
+   q(6530) => [
       q(Tiefo),
       ],
-   q(6529) => [
+   q(6531) => [
       q(Masadiit Itneg),
       ],
-   q(6530) => [
+   q(6532) => [
       q(Tinigua),
       ],
-   q(6531) => [
+   q(6533) => [
       q(Adasen),
       ],
-   q(6532) => [
+   q(6534) => [
       q(Tiwi),
       ],
-   q(6533) => [
+   q(6535) => [
       q(Southern Tiwa),
       ],
-   q(6534) => [
+   q(6536) => [
       q(Tiruray),
       ],
-   q(6535) => [
+   q(6537) => [
       q(Tai Hongjin),
       ],
-   q(6536) => [
+   q(6538) => [
       q(Tajuasohn),
       ],
-   q(6537) => [
+   q(6539) => [
       q(Tunjung),
       ],
-   q(6538) => [
+   q(6540) => [
       q(Northern Tujia),
       ],
-   q(6539) => [
+   q(6541) => [
       q(Tai Laing),
       ],
-   q(6540) => [
+   q(6542) => [
       q(Timucua),
       ],
-   q(6541) => [
+   q(6543) => [
       q(Tonjon),
       ],
-   q(6542) => [
+   q(6544) => [
       q(Temacine Tamazight),
       ],
-   q(6543) => [
+   q(6545) => [
       q(Southern Tujia),
       ],
-   q(6544) => [
+   q(6546) => [
       q(Tjurruru),
       ],
-   q(6545) => [
+   q(6547) => [
       q(Djabwurrung),
       ],
-   q(6546) => [
+   q(6548) => [
       q(Truka),
       ],
-   q(6547) => [
+   q(6549) => [
       q(Buksa),
       ],
-   q(6548) => [
+   q(6550) => [
       q(Tukudede),
       ],
-   q(6549) => [
+   q(6551) => [
       q(Takwane),
       ],
-   q(6550) => [
+   q(6552) => [
       q(Tukumanfed),
       ],
-   q(6551) => [
+   q(6553) => [
       q(Tesaka Malagasy),
       ],
-   q(6552) => [
+   q(6554) => [
       q(Takelma),
       ],
-   q(6553) => [
+   q(6555) => [
       q(Toku-No-Shima),
       ],
-   q(6554) => [
+   q(6556) => [
       q(Tikopia),
       ],
-   q(6555) => [
+   q(6557) => [
       q(Tee),
       ],
-   q(6556) => [
+   q(6558) => [
       q(Tsakhur),
       ],
-   q(6557) => [
+   q(6559) => [
       q(Takestani),
       ],
-   q(6558) => [
+   q(6560) => [
       q(Kathoriya Tharu),
       ],
-   q(6559) => [
+   q(6561) => [
       q(Upper Necaxa Totonac),
       ],
-   q(6560) => [
+   q(6562) => [
       q(Mur Pano),
       ],
-   q(6561) => [
+   q(6563) => [
       q(Teanu),
       ],
-   q(6562) => [
+   q(6564) => [
       q(Tangko),
       ],
-   q(6563) => [
+   q(6565) => [
       q(Takua),
       ],
-   q(6564) => [
+   q(6566) => [
       q(Southwestern Tepehuan),
       ],
-   q(6565) => [
+   q(6567) => [
       q(Tobelo),
       ],
-   q(6566) => [
+   q(6568) => [
       q(Yecuatla Totonac),
       ],
-   q(6567) => [
+   q(6569) => [
       q(Talaud),
       ],
-   q(6568) => [
+   q(6570) => [
       q(Telefol),
       ],
-   q(6569) => [
+   q(6571) => [
       q(Tofanma),
       ],
-   q(6570) => [
+   q(6572) => [
       q(Talinga-Bwisi),
       ],
-   q(6571) => [
+   q(6573) => [
       q(Taloki),
       ],
-   q(6572) => [
+   q(6574) => [
       q(Tetela),
       ],
-   q(6573) => [
+   q(6575) => [
       q(Tolomako),
       ],
-   q(6574) => [
+   q(6576) => [
       q(Talondo'),
       ],
-   q(6575) => [
+   q(6577) => [
       q(Talodi),
       ],
-   q(6576) => [
+   q(6578) => [
       q(Filomena Mata-Coahuitlan Totonac),
       ],
-   q(6577) => [
+   q(6579) => [
       q(Tai Loi),
       ],
-   q(6578) => [
+   q(6580) => [
       q(Talise),
       ],
-   q(6579) => [
+   q(6581) => [
       q(Tambotalo),
       ],
-   q(6580) => [
+   q(6582) => [
       q(Teluti),
       ],
-   q(6581) => [
+   q(6583) => [
       q(Tulehu),
       ],
-   q(6582) => [
+   q(6584) => [
       q(Taliabu),
       ],
-   q(6583) => [
+   q(6585) => [
       q(Khehek),
       ],
-   q(6584) => [
+   q(6586) => [
       q(Talysh),
       ],
-   q(6585) => [
+   q(6587) => [
       q(Tama (Chad)),
       ],
-   q(6586) => [
+   q(6588) => [
       q(Katbol),
       q(Avava),
       ],
-   q(6587) => [
+   q(6589) => [
       q(Tumak),
       ],
-   q(6588) => [
+   q(6590) => [
       q(Haruai),
       ],
-   q(6589) => [
+   q(6591) => [
       q(Tremembe),
       ],
-   q(6590) => [
+   q(6592) => [
       q(Toba-Maskoy),
       ],
-   q(6591) => [
+   q(6593) => [
       q(Ternateno),
       ],
-   q(6592) => [
+   q(6594) => [
       q(Tutuba),
       ],
-   q(6593) => [
+   q(6595) => [
       q(Samarokena),
       ],
-   q(6594) => [
+   q(6596) => [
       q(Northwestern Tamang),
       ],
-   q(6595) => [
+   q(6597) => [
       q(Tamnim Citak),
       ],
-   q(6596) => [
+   q(6598) => [
       q(Tai Thanh),
       ],
-   q(6597) => [
+   q(6599) => [
       q(Taman (Indonesia)),
       ],
-   q(6598) => [
+   q(6600) => [
       q(Temoq),
       ],
-   q(6599) => [
+   q(6601) => [
       q(Tai Mene),
       ],
-   q(6600) => [
+   q(6602) => [
       q(Tumleo),
       ],
-   q(6601) => [
+   q(6603) => [
       q(Jewish Babylonian Aramaic (ca. 200-1200 CE)),
       ],
-   q(6602) => [
+   q(6604) => [
       q(Tima),
       ],
-   q(6603) => [
+   q(6605) => [
       q(Tasmate),
       ],
-   q(6604) => [
+   q(6606) => [
       q(Iau),
       ],
-   q(6605) => [
+   q(6607) => [
       q(Tembo (Motembo)),
       ],
-   q(6606) => [
+   q(6608) => [
       q(Temuan),
       ],
-   q(6607) => [
+   q(6609) => [
       q(Tami),
       ],
-   q(6608) => [
+   q(6610) => [
       q(Tamanaku),
       ],
-   q(6609) => [
+   q(6611) => [
       q(Tacana),
       ],
-   q(6610) => [
+   q(6612) => [
       q(Western Tunebo),
       ],
-   q(6611) => [
+   q(6613) => [
       q(Tanimuca-Retuara),
       ],
-   q(6612) => [
+   q(6614) => [
       q(Angosturas Tunebo),
       ],
-   q(6613) => [
+   q(6615) => [
       q(Tinoc Kallahan),
       ],
-   q(6614) => [
+   q(6616) => [
       q(Tobanga),
       ],
-   q(6615) => [
+   q(6617) => [
       q(Maiani),
       ],
-   q(6616) => [
+   q(6618) => [
       q(Tandia),
       ],
-   q(6617) => [
+   q(6619) => [
       q(Kwamera),
       ],
-   q(6618) => [
+   q(6620) => [
       q(Lenakel),
       ],
-   q(6619) => [
+   q(6621) => [
       q(Tabla),
       ],
-   q(6620) => [
+   q(6622) => [
       q(North Tanna),
       ],
-   q(6621) => [
+   q(6623) => [
       q(Toromono),
       ],
-   q(6622) => [
+   q(6624) => [
       q(Whitesands),
       ],
-   q(6623) => [
+   q(6625) => [
       q(Taino),
       ],
-   q(6624) => [
+   q(6626) => [
       q(Menik),
       ],
-   q(6625) => [
+   q(6627) => [
       q(Tenis),
       ],
-   q(6626) => [
+   q(6628) => [
       q(Tontemboan),
       ],
-   q(6627) => [
+   q(6629) => [
       q(Tay Khang),
       ],
-   q(6628) => [
+   q(6630) => [
       q(Tangchangya),
       ],
-   q(6629) => [
+   q(6631) => [
       q(Tonsawang),
       ],
-   q(6630) => [
+   q(6632) => [
       q(Tanema),
       ],
-   q(6631) => [
+   q(6633) => [
       q(Tongwe),
       ],
-   q(6632) => [
+   q(6634) => [
       q(Tonga (Thailand)),
       ],
-   q(6633) => [
+   q(6635) => [
       q(Toba),
       ],
-   q(6634) => [
+   q(6636) => [
       q(Coyutla Totonac),
       ],
-   q(6635) => [
+   q(6637) => [
       q(Toma),
       ],
-   q(6636) => [
+   q(6638) => [
       q(Tomedes),
       ],
-   q(6637) => [
+   q(6639) => [
       q(Gizrra),
       ],
-   q(6638) => [
+   q(6640) => [
       q(Gitonga),
       ],
-   q(6639) => [
+   q(6641) => [
       q(Tonga (Zambia)),
       ],
-   q(6640) => [
+   q(6642) => [
       q(Tojolabal),
       ],
-   q(6641) => [
+   q(6643) => [
       q(Tolowa),
       ],
-   q(6642) => [
+   q(6644) => [
       q(Tombulu),
       ],
-   q(6643) => [
+   q(6645) => [
       q(Xicotepec De Juarez Totonac),
       ],
-   q(6644) => [
+   q(6646) => [
       q(Papantla Totonac),
       ],
-   q(6645) => [
+   q(6647) => [
       q(Toposa),
       ],
-   q(6646) => [
+   q(6648) => [
       q(Togbo-Vara Banda),
       ],
-   q(6647) => [
+   q(6649) => [
       q(Highland Totonac),
       ],
-   q(6648) => [
+   q(6650) => [
       q(Tho),
       ],
-   q(6649) => [
+   q(6651) => [
       q(Upper Taromi),
       ],
-   q(6650) => [
+   q(6652) => [
       q(Jemez),
       ],
-   q(6651) => [
+   q(6653) => [
       q(Tobian),
       ],
-   q(6652) => [
+   q(6654) => [
       q(Topoiyo),
       ],
-   q(6653) => [
+   q(6655) => [
       q(To),
       ],
-   q(6654) => [
+   q(6656) => [
       q(Taupota),
       ],
-   q(6655) => [
+   q(6657) => [
       q(Azoyu Me'phaa),
       q(Azoyu Tlapanec),
       ],
-   q(6656) => [
+   q(6658) => [
       q(Tippera),
       ],
-   q(6657) => [
+   q(6659) => [
       q(Tarpia),
       ],
-   q(6658) => [
+   q(6660) => [
       q(Kula),
       ],
-   q(6659) => [
+   q(6661) => [
       q(Tapiete),
       ],
-   q(6660) => [
+   q(6662) => [
       q(Tupinikin),
       ],
-   q(6661) => [
+   q(6663) => [
       q(Tlacoapa Me'phaa),
       q(Tlacoapa Tlapanec),
       ],
-   q(6662) => [
+   q(6664) => [
       q(Tampulma),
       ],
-   q(6663) => [
+   q(6665) => [
       q(Tupinamba),
       ],
-   q(6664) => [
+   q(6666) => [
       q(Tai Pao),
       ],
-   q(6665) => [
+   q(6667) => [
       q(Pisaflores Tepehua),
       ],
-   q(6666) => [
+   q(6668) => [
       q(Tukpa),
       ],
-   q(6667) => [
+   q(6669) => [
       q(Tupari),
       ],
-   q(6668) => [
+   q(6670) => [
       q(Tlachichilco Tepehua),
       ],
-   q(6669) => [
+   q(6671) => [
       q(Tampuan),
       ],
-   q(6670) => [
+   q(6672) => [
       q(Tanapag),
       ],
-   q(6671) => [
+   q(6673) => [
       q(Tupi),
       ],
-   q(6672) => [
+   q(6674) => [
       q(Acatepec Me'phaa),
       q(Acatepec Tlapanec),
       ],
-   q(6673) => [
+   q(6675) => [
       q(Trumai),
       ],
-   q(6674) => [
+   q(6676) => [
       q(Tinputz),
       ],
-   q(6675) => [
+   q(6677) => [
       q(Tembe),
       ],
-   q(6676) => [
+   q(6678) => [
       q(Lehali),
       ],
-   q(6677) => [
+   q(6679) => [
       q(Turumsa),
       ],
-   q(6678) => [
+   q(6680) => [
       q(Tenino),
       ],
-   q(6679) => [
+   q(6681) => [
       q(Toaripi),
       ],
-   q(6680) => [
+   q(6682) => [
       q(Tomoip),
       ],
-   q(6681) => [
+   q(6683) => [
       q(Tunni),
       ],
-   q(6682) => [
+   q(6684) => [
       q(Torona),
       ],
-   q(6683) => [
+   q(6685) => [
       q(Western Totonac),
       ],
-   q(6684) => [
+   q(6686) => [
       q(Touo),
       ],
-   q(6685) => [
+   q(6687) => [
       q(Tonkawa),
       ],
-   q(6686) => [
+   q(6688) => [
       q(Tirahi),
       ],
-   q(6687) => [
+   q(6689) => [
       q(Terebu),
       ],
-   q(6688) => [
+   q(6690) => [
       q(Copala Triqui),
       ],
-   q(6689) => [
+   q(6691) => [
       q(Turi),
       ],
-   q(6690) => [
+   q(6692) => [
       q(East Tarangan),
       ],
-   q(6691) => [
+   q(6693) => [
       q(Trinidadian Creole English),
       ],
-   q(6692) => [
+   q(6694) => [
       q(Lishan Didan),
       ],
-   q(6693) => [
+   q(6695) => [
       q(Turaka),
       ],
-   q(6694) => [
+   q(6696) => [
       q(Trio),
       ],
-   q(6695) => [
+   q(6697) => [
       q(Toram),
       ],
-   q(6696) => [
+   q(6698) => [
       q(Traveller Scottish),
       ],
-   q(6697) => [
+   q(6699) => [
       q(Tregami),
       ],
-   q(6698) => [
+   q(6700) => [
       q(Trinitario),
       ],
-   q(6699) => [
+   q(6701) => [
       q(Tarao Naga),
       ],
-   q(6700) => [
+   q(6702) => [
       q(Kok Borok),
       ],
-   q(6701) => [
+   q(6703) => [
       q(San Martin Itunyoso Triqui),
       ],
-   q(6702) => [
+   q(6704) => [
       q(Taushiro),
       ],
-   q(6703) => [
+   q(6705) => [
       q(Chicahuaxtla Triqui),
       ],
-   q(6704) => [
+   q(6706) => [
       q(Tunggare),
       ],
-   q(6705) => [
+   q(6707) => [
       q(Turoyo),
       q(Surayt),
       ],
-   q(6706) => [
+   q(6708) => [
       q(Taroko),
       ],
-   q(6707) => [
+   q(6709) => [
       q(Torwali),
       ],
-   q(6708) => [
+   q(6710) => [
       q(Tringgus-Sembaan Bidayuh),
       ],
-   q(6709) => [
+   q(6711) => [
       q(Turung),
       ],
-   q(6710) => [
+   q(6712) => [
       q(Tora),
       ],
-   q(6711) => [
+   q(6713) => [
       q(Tsaangi),
       ],
-   q(6712) => [
+   q(6714) => [
       q(Tsamai),
       ],
-   q(6713) => [
+   q(6715) => [
       q(Tswa),
       ],
-   q(6714) => [
+   q(6716) => [
       q(Tsakonian),
       ],
-   q(6715) => [
+   q(6717) => [
       q(Tunisian Sign Language),
       ],
-   q(6716) => [
+   q(6718) => [
       q(Tausug),
       ],
-   q(6717) => [
+   q(6719) => [
       q(Tsuvan),
       ],
-   q(6718) => [
+   q(6720) => [
       q(Tshangla),
       ],
-   q(6719) => [
+   q(6721) => [
       q(Tseku),
       ],
-   q(6720) => [
+   q(6722) => [
       q(Ts'un-Lao),
       ],
-   q(6721) => [
+   q(6723) => [
       q(Turkish Sign Language),
       q(Turk Isaret Dili),
       ],
-   q(6722) => [
+   q(6724) => [
       q(Northern Toussian),
       ],
-   q(6723) => [
+   q(6725) => [
       q(Thai Sign Language),
       ],
-   q(6724) => [
+   q(6726) => [
       q(Akei),
       ],
-   q(6725) => [
+   q(6727) => [
       q(Taiwan Sign Language),
       ],
-   q(6726) => [
+   q(6728) => [
       q(Tondi Songway Kiini),
       ],
-   q(6727) => [
+   q(6729) => [
       q(Tsou),
       ],
-   q(6728) => [
+   q(6730) => [
       q(Tsogo),
       ],
-   q(6729) => [
+   q(6731) => [
       q(Tsishingini),
       ],
-   q(6730) => [
+   q(6732) => [
       q(Mubami),
       ],
-   q(6731) => [
+   q(6733) => [
       q(Tebul Sign Language),
       ],
-   q(6732) => [
+   q(6734) => [
       q(Purepecha),
       ],
-   q(6733) => [
+   q(6735) => [
       q(Tutelo),
       ],
-   q(6734) => [
+   q(6736) => [
       q(Gaa),
       ],
-   q(6735) => [
+   q(6737) => [
       q(Tektiteko),
       ],
-   q(6736) => [
+   q(6738) => [
       q(Tauade),
       ],
-   q(6737) => [
+   q(6739) => [
       q(Bwanabwana),
       ],
-   q(6738) => [
+   q(6740) => [
       q(Tuotomb),
       ],
-   q(6739) => [
+   q(6741) => [
       q(Tutong),
       ],
-   q(6740) => [
+   q(6742) => [
       q(Upper Ta'oih),
       ],
-   q(6741) => [
+   q(6743) => [
       q(Tobati),
       ],
-   q(6742) => [
+   q(6744) => [
       q(Tooro),
       ],
-   q(6743) => [
+   q(6745) => [
       q(Totoro),
       ],
-   q(6744) => [
+   q(6746) => [
       q(Totela),
       ],
-   q(6745) => [
+   q(6747) => [
       q(Northern Tutchone),
       ],
-   q(6746) => [
+   q(6748) => [
       q(Towei),
       ],
-   q(6747) => [
+   q(6749) => [
       q(Lower Ta'oih),
       ],
-   q(6748) => [
+   q(6750) => [
       q(Tombelala),
       ],
-   q(6749) => [
+   q(6751) => [
       q(Tawallammat Tamajaq),
       ],
-   q(6750) => [
+   q(6752) => [
       q(Tera),
       ],
-   q(6751) => [
+   q(6753) => [
       q(Northeastern Thai),
       ],
-   q(6752) => [
+   q(6754) => [
       q(Muslim Tat),
       ],
-   q(6753) => [
+   q(6755) => [
       q(Torau),
       ],
-   q(6754) => [
+   q(6756) => [
       q(Titan),
       ],
-   q(6755) => [
+   q(6757) => [
       q(Long Wat),
       ],
-   q(6756) => [
+   q(6758) => [
       q(Sikaritai),
       ],
-   q(6757) => [
+   q(6759) => [
       q(Tsum),
       ],
-   q(6758) => [
+   q(6760) => [
       q(Wiarumus),
       ],
-   q(6759) => [
+   q(6761) => [
       q(Tubatulabal),
       ],
-   q(6760) => [
+   q(6762) => [
       q(Mutu),
       ],
-   q(6761) => [
+   q(6763) => [
       q(Tuxa),
       ],
-   q(6762) => [
+   q(6764) => [
       q(Tuyuca),
       ],
-   q(6763) => [
+   q(6765) => [
       q(Central Tunebo),
       ],
-   q(6764) => [
+   q(6766) => [
       q(Tunia),
       ],
-   q(6765) => [
+   q(6767) => [
       q(Taulil),
       ],
-   q(6766) => [
+   q(6768) => [
       q(Tupuri),
       ],
-   q(6767) => [
+   q(6769) => [
       q(Tugutil),
       ],
-   q(6768) => [
+   q(6770) => [
       q(Tula),
       ],
-   q(6769) => [
+   q(6771) => [
       q(Tunica),
       ],
-   q(6770) => [
+   q(6772) => [
       q(Tucano),
       ],
-   q(6771) => [
+   q(6773) => [
       q(Tedaga),
       ],
-   q(6772) => [
+   q(6774) => [
       q(Tuscarora),
       ],
-   q(6773) => [
+   q(6775) => [
       q(Tututni),
       ],
-   q(6774) => [
+   q(6776) => [
       q(Turkana),
       ],
-   q(6775) => [
+   q(6777) => [
       q(Tuxinawa),
       ],
-   q(6776) => [
+   q(6778) => [
       q(Tugen),
       ],
-   q(6777) => [
+   q(6779) => [
       q(Turka),
       ],
-   q(6778) => [
+   q(6780) => [
       q(Vaghua),
       ],
-   q(6779) => [
+   q(6781) => [
       q(Tsuvadi),
       ],
-   q(6780) => [
+   q(6782) => [
       q(Te'un),
       ],
-   q(6781) => [
+   q(6783) => [
       q(Southeast Ambrym),
       ],
-   q(6782) => [
+   q(6784) => [
       q(Tela-Masbuar),
       ],
-   q(6783) => [
+   q(6785) => [
       q(Tavoyan),
       ],
-   q(6784) => [
+   q(6786) => [
       q(Tidore),
       ],
-   q(6785) => [
+   q(6787) => [
       q(Taveta),
       ],
-   q(6786) => [
+   q(6788) => [
       q(Tutsa Naga),
       ],
-   q(6787) => [
+   q(6789) => [
       q(Tunen),
       ],
-   q(6788) => [
+   q(6790) => [
       q(Sedoa),
       ],
-   q(6789) => [
+   q(6791) => [
       q(Timor Pidgin),
       ],
-   q(6790) => [
+   q(6792) => [
       q(Twana),
       ],
-   q(6791) => [
+   q(6793) => [
       q(Western Tawbuid),
       ],
-   q(6792) => [
+   q(6794) => [
       q(Teshenawa),
       ],
-   q(6793) => [
+   q(6795) => [
       q(Twents),
       ],
-   q(6794) => [
+   q(6796) => [
       q(Tewa (Indonesia)),
       ],
-   q(6795) => [
+   q(6797) => [
       q(Northern Tiwa),
       ],
-   q(6796) => [
+   q(6798) => [
       q(Tereweng),
       ],
-   q(6797) => [
+   q(6799) => [
       q(Tai Don),
       ],
-   q(6798) => [
+   q(6800) => [
       q(Tawara),
       ],
-   q(6799) => [
+   q(6801) => [
       q(Tawang Monpa),
       ],
-   q(6800) => [
+   q(6802) => [
       q(Twendi),
       ],
-   q(6801) => [
+   q(6803) => [
       q(Tswapong),
       ],
-   q(6802) => [
+   q(6804) => [
       q(Ere),
       ],
-   q(6803) => [
+   q(6805) => [
       q(Tasawaq),
       ],
-   q(6804) => [
+   q(6806) => [
       q(Southwestern Tarahumara),
       ],
-   q(6805) => [
+   q(6807) => [
       q(Turiwara),
       ],
-   q(6806) => [
+   q(6808) => [
       q(Termanu),
       ],
-   q(6807) => [
+   q(6809) => [
       q(Tuwari),
       ],
-   q(6808) => [
+   q(6810) => [
       q(Tewe),
       ],
-   q(6809) => [
+   q(6811) => [
       q(Tawoyan),
       ],
-   q(6810) => [
+   q(6812) => [
       q(Tombonuo),
       ],
-   q(6811) => [
+   q(6813) => [
       q(Tokharian B),
       ],
-   q(6812) => [
+   q(6814) => [
       q(Tsetsaut),
       ],
-   q(6813) => [
+   q(6815) => [
       q(Totoli),
       ],
-   q(6814) => [
+   q(6816) => [
       q(Tangut),
       ],
-   q(6815) => [
+   q(6817) => [
       q(Thracian),
       ],
-   q(6816) => [
+   q(6818) => [
       q(Ikpeng),
       ],
-   q(6817) => [
+   q(6819) => [
       q(Tarjumo),
       ],
-   q(6818) => [
+   q(6820) => [
       q(Tomini),
       ],
-   q(6819) => [
+   q(6821) => [
       q(West Tarangan),
       ],
-   q(6820) => [
+   q(6822) => [
       q(Toto),
       ],
-   q(6821) => [
+   q(6823) => [
       q(Tii),
       ],
-   q(6822) => [
+   q(6824) => [
       q(Tartessian),
       ],
-   q(6823) => [
+   q(6825) => [
       q(Tonsea),
       ],
-   q(6824) => [
+   q(6826) => [
       q(Citak),
       ],
-   q(6825) => [
+   q(6827) => [
       q(Kayapo),
       ],
-   q(6826) => [
+   q(6828) => [
       q(Tatana),
       ],
-   q(6827) => [
+   q(6829) => [
       q(Tanosy Malagasy),
       ],
-   q(6828) => [
+   q(6830) => [
       q(Tauya),
       ],
-   q(6829) => [
+   q(6831) => [
       q(Kyanga),
       ],
-   q(6830) => [
+   q(6832) => [
       q(O'du),
       ],
-   q(6831) => [
+   q(6833) => [
       q(Teke-Tsaayi),
       ],
-   q(6832) => [
+   q(6834) => [
       q(Tai Do),
       ],
-   q(6833) => [
+   q(6835) => [
       q(Thu Lao),
       ],
-   q(6834) => [
+   q(6836) => [
       q(Kombai),
       ],
-   q(6835) => [
+   q(6837) => [
       q(Thaypan),
       ],
-   q(6836) => [
+   q(6838) => [
       q(Tai Daeng),
       ],
-   q(6837) => [
+   q(6839) => [
       q(Tay Sa Pa),
       ],
-   q(6838) => [
+   q(6840) => [
       q(Tay Tac),
       ],
-   q(6839) => [
+   q(6841) => [
       q(Kua),
       ],
-   q(6840) => [
+   q(6842) => [
       q(Teke-Tyee),
       ],
-   q(6841) => [
+   q(6843) => [
       q(Tay),
       ],
-   q(6842) => [
+   q(6844) => [
       q(Tanzanian Sign Language),
       ],
-   q(6843) => [
+   q(6845) => [
       q(Tzeltal),
       ],
-   q(6844) => [
+   q(6846) => [
       q(Tz'utujil),
       ],
-   q(6845) => [
+   q(6847) => [
       q(Talossan),
       ],
-   q(6846) => [
+   q(6848) => [
       q(Central Atlas Tamazight),
       ],
-   q(6847) => [
+   q(6849) => [
       q(Tugun),
       ],
-   q(6848) => [
+   q(6850) => [
       q(Tzotzil),
       ],
-   q(6849) => [
+   q(6851) => [
       q(Tabriak),
       ],
-   q(6850) => [
+   q(6852) => [
       q(Uamue),
       ],
-   q(6851) => [
+   q(6853) => [
       q(Kuan),
       ],
-   q(6852) => [
+   q(6854) => [
       q(Tairuma),
       ],
-   q(6853) => [
+   q(6855) => [
       q(Ubang),
       ],
-   q(6854) => [
+   q(6856) => [
       q(Ubi),
       ],
-   q(6855) => [
+   q(6857) => [
       q(Buhi'non Bikol),
       ],
-   q(6856) => [
+   q(6858) => [
       q(Ubir),
       ],
-   q(6857) => [
+   q(6859) => [
       q(Umbu-Ungu),
       ],
-   q(6858) => [
+   q(6860) => [
       q(Ubykh),
       ],
-   q(6859) => [
+   q(6861) => [
       q(Uda),
       ],
-   q(6860) => [
+   q(6862) => [
       q(Udihe),
       ],
-   q(6861) => [
+   q(6863) => [
       q(Muduga),
       ],
-   q(6862) => [
+   q(6864) => [
       q(Udi),
       ],
-   q(6863) => [
+   q(6865) => [
       q(Ujir),
       ],
-   q(6864) => [
+   q(6866) => [
       q(Wuzlam),
       ],
-   q(6865) => [
+   q(6867) => [
       q(Uduk),
       ],
-   q(6866) => [
+   q(6868) => [
       q(Kioko),
       ],
-   q(6867) => [
+   q(6869) => [
       q(Ufim),
       ],
-   q(6868) => [
+   q(6870) => [
       q(Kuku-Ugbanh),
       ],
-   q(6869) => [
+   q(6871) => [
       q(Ughele),
       ],
-   q(6870) => [
+   q(6872) => [
       q(Ugandan Sign Language),
       ],
-   q(6871) => [
+   q(6873) => [
       q(Ugong),
       ],
-   q(6872) => [
+   q(6874) => [
       q(Uruguayan Sign Language),
       ],
-   q(6873) => [
+   q(6875) => [
       q(Uhami),
       ],
-   q(6874) => [
+   q(6876) => [
       q(Damal),
       ],
-   q(6875) => [
+   q(6877) => [
       q(Uisai),
       ],
-   q(6876) => [
+   q(6878) => [
       q(Iyive),
       ],
-   q(6877) => [
+   q(6879) => [
       q(Tanjijili),
       ],
-   q(6878) => [
+   q(6880) => [
       q(Kaburi),
       ],
-   q(6879) => [
+   q(6881) => [
       q(Ukuriguma),
       ],
-   q(6880) => [
+   q(6882) => [
       q(Ukhwejo),
       ],
-   q(6881) => [
+   q(6883) => [
       q(Ukrainian Sign Language),
       ],
-   q(6882) => [
+   q(6884) => [
       q(Ukpe-Bayobiri),
       ],
-   q(6883) => [
+   q(6885) => [
       q(Ukwa),
       ],
-   q(6884) => [
+   q(6886) => [
       q(Urubu-Kaapor Sign Language),
       q(Kaapor Sign Language),
       ],
-   q(6885) => [
+   q(6887) => [
       q(Ukue),
       ],
-   q(6886) => [
+   q(6888) => [
       q(Ukwuani-Aboh-Ndoni),
       ],
-   q(6887) => [
+   q(6889) => [
       q(Kuuk-Yak),
       ],
-   q(6888) => [
+   q(6890) => [
       q(Fungwa),
       ],
-   q(6889) => [
+   q(6891) => [
       q(Ulukwumi),
       ],
-   q(6890) => [
+   q(6892) => [
       q(Ulch),
       ],
-   q(6891) => [
+   q(6893) => [
       q(Lule),
       ],
-   q(6892) => [
+   q(6894) => [
       q(Usku),
       q(Afra),
       ],
-   q(6893) => [
+   q(6895) => [
       q(Ulithian),
       ],
-   q(6894) => [
+   q(6896) => [
       q(Meriam),
       ],
-   q(6895) => [
+   q(6897) => [
       q(Ullatan),
       ],
-   q(6896) => [
+   q(6898) => [
       q(Ulumanda'),
       ],
-   q(6897) => [
+   q(6899) => [
       q(Unserdeutsch),
       ],
-   q(6898) => [
+   q(6900) => [
       q(Uma' Lung),
       ],
-   q(6899) => [
+   q(6901) => [
       q(Ulwa),
       ],
-   q(6900) => [
+   q(6902) => [
       q(Umatilla),
       ],
-   q(6901) => [
+   q(6903) => [
       q(Marrucinian),
       ],
-   q(6902) => [
+   q(6904) => [
       q(Umbindhamu),
       ],
-   q(6903) => [
+   q(6905) => [
       q(Umbuygamu),
       ],
-   q(6904) => [
+   q(6906) => [
       q(Ukit),
       ],
-   q(6905) => [
+   q(6907) => [
       q(Umon),
       ],
-   q(6906) => [
+   q(6908) => [
       q(Makyan Naga),
       ],
-   q(6907) => [
+   q(6909) => [
       q(Umotina),
       ],
-   q(6908) => [
+   q(6910) => [
       q(Umpila),
       ],
-   q(6909) => [
+   q(6911) => [
       q(Umbugarla),
       ],
-   q(6910) => [
+   q(6912) => [
       q(Pendau),
       ],
-   q(6911) => [
+   q(6913) => [
       q(Munsee),
       ],
-   q(6912) => [
+   q(6914) => [
       q(North Watut),
       ],
-   q(6913) => [
+   q(6915) => [
       q(Uneme),
       ],
-   q(6914) => [
+   q(6916) => [
       q(Ngarinyin),
       ],
-   q(6915) => [
+   q(6917) => [
       q(Enawene-Nawe),
       ],
-   q(6916) => [
+   q(6918) => [
       q(Unami),
       ],
-   q(6917) => [
+   q(6919) => [
       q(Kurnai),
       ],
-   q(6918) => [
+   q(6920) => [
       q(Mundari),
       ],
-   q(6919) => [
+   q(6921) => [
       q(Unubahe),
       ],
-   q(6920) => [
+   q(6922) => [
       q(Munda),
       ],
-   q(6921) => [
+   q(6923) => [
       q(Unde Kaili),
       ],
-   q(6922) => [
+   q(6924) => [
       q(Umeda),
       ],
-   q(6923) => [
+   q(6925) => [
       q(Uripiv-Wala-Rano-Atchin),
       ],
-   q(6924) => [
+   q(6926) => [
       q(Urarina),
       ],
-   q(6925) => [
+   q(6927) => [
       q(Urubu-Kaapor),
       q(Kaapor),
       ],
-   q(6926) => [
+   q(6928) => [
       q(Urningangg),
       ],
-   q(6927) => [
+   q(6929) => [
       q(Uru),
       ],
-   q(6928) => [
+   q(6930) => [
       q(Uradhi),
       ],
-   q(6929) => [
+   q(6931) => [
       q(Urigina),
       ],
-   q(6930) => [
+   q(6932) => [
       q(Urhobo),
       ],
-   q(6931) => [
+   q(6933) => [
       q(Urim),
       ],
-   q(6932) => [
+   q(6934) => [
       q(Urak Lawoi'),
       ],
-   q(6933) => [
+   q(6935) => [
       q(Urali),
       ],
-   q(6934) => [
+   q(6936) => [
       q(Urapmin),
       ],
-   q(6935) => [
+   q(6937) => [
       q(Uruangnirin),
       ],
-   q(6936) => [
+   q(6938) => [
       q(Ura (Papua New Guinea)),
       ],
-   q(6937) => [
+   q(6939) => [
       q(Uru-Pa-In),
       ],
-   q(6938) => [
+   q(6940) => [
       q(Lehalurup),
       q(Loyop),
       ],
-   q(6939) => [
+   q(6941) => [
       q(Urat),
       ],
-   q(6940) => [
+   q(6942) => [
       q(Urumi),
       ],
-   q(6941) => [
+   q(6943) => [
       q(Uruava),
       ],
-   q(6942) => [
+   q(6944) => [
       q(Sop),
       ],
-   q(6943) => [
+   q(6945) => [
       q(Urimo),
       ],
-   q(6944) => [
+   q(6946) => [
       q(Orya),
       ],
-   q(6945) => [
+   q(6947) => [
       q(Uru-Eu-Wau-Wau),
       ],
-   q(6946) => [
+   q(6948) => [
       q(Usarufa),
       ],
-   q(6947) => [
+   q(6949) => [
       q(Ushojo),
       ],
-   q(6948) => [
+   q(6950) => [
       q(Usui),
       ],
-   q(6949) => [
+   q(6951) => [
       q(Usaghade),
       ],
-   q(6950) => [
+   q(6952) => [
       q(Uspanteco),
       ],
-   q(6951) => [
+   q(6953) => [
       q(Uya),
       ],
-   q(6952) => [
+   q(6954) => [
       q(Otank),
       ],
-   q(6953) => [
+   q(6955) => [
       q(Ute-Southern Paiute),
       ],
-   q(6954) => [
+   q(6956) => [
       q(Amba (Solomon Islands)),
       ],
-   q(6955) => [
+   q(6957) => [
       q(Etulo),
       ],
-   q(6956) => [
+   q(6958) => [
       q(Utu),
       ],
-   q(6957) => [
+   q(6959) => [
       q(Urum),
       ],
-   q(6958) => [
+   q(6960) => [
       q(Kulon-Pazeh),
       ],
-   q(6959) => [
+   q(6961) => [
       q(Ura (Vanuatu)),
       ],
-   q(6960) => [
+   q(6962) => [
       q(U),
       ],
-   q(6961) => [
+   q(6963) => [
       q(West Uvean),
       q(Fagauvea),
       ],
-   q(6962) => [
+   q(6964) => [
       q(Uri),
       ],
-   q(6963) => [
+   q(6965) => [
       q(Lote),
       ],
-   q(6964) => [
+   q(6966) => [
       q(Kuku-Uwanh),
       ],
-   q(6965) => [
+   q(6967) => [
       q(Doko-Uyanga),
       ],
-   q(6966) => [
+   q(6968) => [
       q(Northern Uzbek),
       ],
-   q(6967) => [
+   q(6969) => [
       q(Southern Uzbek),
       ],
-   q(6968) => [
+   q(6970) => [
       q(Vaagri Booli),
       ],
-   q(6969) => [
+   q(6971) => [
       q(Vale),
       ],
-   q(6970) => [
+   q(6972) => [
       q(Vafsi),
       ],
-   q(6971) => [
+   q(6973) => [
       q(Vagla),
       ],
-   q(6972) => [
+   q(6974) => [
       q(Varhadi-Nagpuri),
       ],
-   q(6973) => [
+   q(6975) => [
       q(Sekele),
       q(Northwestern Kung),
       q(Northwestern Kung),
       q(Vasekele),
       ],
-   q(6974) => [
+   q(6976) => [
       q(Vehes),
       ],
-   q(6975) => [
+   q(6977) => [
       q(Vanimo),
       ],
-   q(6976) => [
+   q(6978) => [
       q(Valman),
       ],
-   q(6977) => [
+   q(6979) => [
       q(Vao),
       ],
-   q(6978) => [
+   q(6980) => [
       q(Vaiphei),
       ],
-   q(6979) => [
+   q(6981) => [
       q(Huarijio),
       ],
-   q(6980) => [
+   q(6982) => [
       q(Vasavi),
       ],
-   q(6981) => [
+   q(6983) => [
       q(Vanuma),
       ],
-   q(6982) => [
+   q(6984) => [
       q(Varli),
       ],
-   q(6983) => [
+   q(6985) => [
       q(Wayu),
       ],
-   q(6984) => [
+   q(6986) => [
       q(Southeast Babar),
       ],
-   q(6985) => [
+   q(6987) => [
       q(Southwestern Bontok),
       ],
-   q(6986) => [
+   q(6988) => [
       q(Venetian),
       ],
-   q(6987) => [
+   q(6989) => [
       q(Veddah),
       ],
-   q(6988) => [
+   q(6990) => [
       q(Veluws),
       ],
-   q(6989) => [
+   q(6991) => [
       q(Vemgo-Mabas),
       ],
-   q(6990) => [
+   q(6992) => [
       q(Ventureno),
       ],
-   q(6991) => [
+   q(6993) => [
       q(Veps),
       ],
-   q(6992) => [
+   q(6994) => [
       q(Mom Jango),
       ],
-   q(6993) => [
+   q(6995) => [
       q(Vaghri),
       ],
-   q(6994) => [
+   q(6996) => [
       q(Vlaamse Gebarentaal),
       q(Flemish Sign Language),
       ],
-   q(6995) => [
+   q(6997) => [
       q(Virgin Islands Creole English),
       ],
-   q(6996) => [
+   q(6998) => [
       q(Vidunda),
       ],
-   q(6997) => [
+   q(6999) => [
       q(Vili),
       ],
-   q(6998) => [
+   q(7000) => [
       q(Viemo),
       ],
-   q(6999) => [
+   q(7001) => [
       q(Vilela),
       ],
-   q(7000) => [
+   q(7002) => [
       q(Vinza),
       ],
-   q(7001) => [
+   q(7003) => [
       q(Vishavan),
       ],
-   q(7002) => [
+   q(7004) => [
       q(Viti),
       ],
-   q(7003) => [
+   q(7005) => [
       q(Iduna),
       ],
-   q(7004) => [
+   q(7006) => [
       q(Kariyarra),
       ],
-   q(7005) => [
+   q(7007) => [
       q(Ija-Zuba),
       ],
-   q(7006) => [
+   q(7008) => [
       q(Kujarge),
       ],
-   q(7007) => [
+   q(7009) => [
       q(Kaur),
       ],
-   q(7008) => [
+   q(7010) => [
       q(Kulisusu),
       ],
-   q(7009) => [
+   q(7011) => [
       q(Kamakan),
       ],
-   q(7010) => [
+   q(7012) => [
       q(Kodeoha),
       ],
-   q(7011) => [
+   q(7013) => [
       q(Korlai Creole Portuguese),
       ],
-   q(7012) => [
+   q(7014) => [
       q(Tenggarong Kutai Malay),
       ],
-   q(7013) => [
+   q(7015) => [
       q(Kurrama),
       ],
-   q(7014) => [
+   q(7016) => [
       q(Valpei),
       ],
-   q(7015) => [
+   q(7017) => [
       q(Vlaams),
       ],
-   q(7016) => [
+   q(7018) => [
       q(Martuyhunira),
       ],
-   q(7017) => [
+   q(7019) => [
       q(Barbaram),
       ],
-   q(7018) => [
+   q(7020) => [
       q(Juxtlahuaca Mixtec),
       ],
-   q(7019) => [
+   q(7021) => [
       q(Mudu Koraga),
       ],
-   q(7020) => [
+   q(7022) => [
       q(East Masela),
       ],
-   q(7021) => [
+   q(7023) => [
       q(Mainfrankisch),
       ],
-   q(7022) => [
+   q(7024) => [
       q(Lungalunga),
       ],
-   q(7023) => [
+   q(7025) => [
       q(Maraghei),
       ],
-   q(7024) => [
+   q(7026) => [
       q(Miwa),
       ],
-   q(7025) => [
+   q(7027) => [
       q(Ixtayutla Mixtec),
       ],
-   q(7026) => [
+   q(7028) => [
       q(Makhuwa-Shirima),
       ],
-   q(7027) => [
+   q(7029) => [
       q(Malgana),
       ],
-   q(7028) => [
+   q(7030) => [
       q(Mitlatongo Mixtec),
       ],
-   q(7029) => [
+   q(7031) => [
       q(Soyaltepec Mazatec),
       ],
-   q(7030) => [
+   q(7032) => [
       q(Soyaltepec Mixtec),
       ],
-   q(7031) => [
+   q(7033) => [
       q(Marenje),
       ],
-   q(7032) => [
+   q(7034) => [
       q(Moksela),
       ],
-   q(7033) => [
+   q(7035) => [
       q(Muluridyi),
       ],
-   q(7034) => [
+   q(7036) => [
       q(Valley Maidu),
       ],
-   q(7035) => [
+   q(7037) => [
       q(Makhuwa),
       ],
-   q(7036) => [
+   q(7038) => [
       q(Tamazola Mixtec),
       ],
-   q(7037) => [
+   q(7039) => [
       q(Ayautla Mazatec),
       ],
-   q(7038) => [
+   q(7040) => [
       q(Mazatlan Mazatec),
       ],
-   q(7039) => [
+   q(7041) => [
       q(Vano),
       q(Lovono),
       ],
-   q(7040) => [
+   q(7042) => [
       q(Vinmavis),
       q(Neve'ei),
       ],
-   q(7041) => [
+   q(7043) => [
       q(Vunapu),
       ],
-   q(7042) => [
+   q(7044) => [
       q(Voro),
       ],
-   q(7043) => [
+   q(7045) => [
       q(Vera'a),
       ],
-   q(7044) => [
+   q(7046) => [
       q(Varisi),
       ],
-   q(7045) => [
+   q(7047) => [
       q(Burmbar),
       q(Banam Bay),
       ],
-   q(7046) => [
+   q(7048) => [
       q(Moldova Sign Language),
       ],
-   q(7047) => [
+   q(7049) => [
       q(Venezuelan Sign Language),
       ],
-   q(7048) => [
+   q(7050) => [
       q(Valencian Sign Language),
       q(Llengua de signes valenciana),
       ],
-   q(7049) => [
+   q(7051) => [
       q(Vitou),
       ],
-   q(7050) => [
+   q(7052) => [
       q(Vumbu),
       ],
-   q(7051) => [
+   q(7053) => [
       q(Vunjo),
       ],
-   q(7052) => [
+   q(7054) => [
       q(Vute),
       ],
-   q(7053) => [
+   q(7055) => [
       q(Awa (China)),
       ],
-   q(7054) => [
+   q(7056) => [
       q(Walla Walla),
       ],
-   q(7055) => [
+   q(7057) => [
       q(Wab),
       ],
-   q(7056) => [
+   q(7058) => [
       q(Wasco-Wishram),
       ],
-   q(7057) => [
+   q(7059) => [
       q(Wandamen),
       ],
-   q(7058) => [
+   q(7060) => [
       q(Walser),
       ],
-   q(7059) => [
+   q(7061) => [
       q(Wakona),
       ],
-   q(7060) => [
+   q(7062) => [
       q(Wa'ema),
       ],
-   q(7061) => [
+   q(7063) => [
       q(Watubela),
       ],
-   q(7062) => [
+   q(7064) => [
       q(Wares),
       ],
-   q(7063) => [
+   q(7065) => [
       q(Waffa),
       ],
-   q(7064) => [
+   q(7066) => [
       q(Wampanoag),
       ],
-   q(7065) => [
+   q(7067) => [
       q(Wan),
       ],
-   q(7066) => [
+   q(7068) => [
       q(Wappo),
       ],
-   q(7067) => [
+   q(7069) => [
       q(Wapishana),
       ],
-   q(7068) => [
+   q(7070) => [
       q(Wageman),
       ],
-   q(7069) => [
+   q(7071) => [
       q(Kaninuwa),
       ],
-   q(7070) => [
+   q(7072) => [
       q(Waura),
       ],
-   q(7071) => [
+   q(7073) => [
       q(Waka),
       ],
-   q(7072) => [
+   q(7074) => [
       q(Waiwai),
       ],
-   q(7073) => [
+   q(7075) => [
       q(Watam),
       q(Marangis),
       ],
-   q(7074) => [
+   q(7076) => [
       q(Wayana),
       ],
-   q(7075) => [
+   q(7077) => [
       q(Wampur),
       ],
-   q(7076) => [
+   q(7078) => [
       q(Warao),
       ],
-   q(7077) => [
+   q(7079) => [
       q(Wabo),
       ],
-   q(7078) => [
+   q(7080) => [
       q(Waritai),
       ],
-   q(7079) => [
+   q(7081) => [
       q(Wanda),
       ],
-   q(7080) => [
+   q(7082) => [
       q(Vwanji),
       ],
-   q(7081) => [
+   q(7083) => [
       q(Alagwa),
       ],
-   q(7082) => [
+   q(7084) => [
       q(Waigali),
       ],
-   q(7083) => [
+   q(7085) => [
       q(Wakhi),
       ],
-   q(7084) => [
+   q(7086) => [
       q(Wa),
       ],
-   q(7085) => [
+   q(7087) => [
       q(Warlpiri),
       ],
-   q(7086) => [
+   q(7088) => [
       q(Waddar),
       ],
-   q(7087) => [
+   q(7089) => [
       q(Wagdi),
       ],
-   q(7088) => [
+   q(7090) => [
       q(Wanman),
       ],
-   q(7089) => [
+   q(7091) => [
       q(Wajarri),
       ],
-   q(7090) => [
+   q(7092) => [
       q(Woi),
       ],
-   q(7091) => [
+   q(7093) => [
       q(Yanomami),
       ],
-   q(7092) => [
+   q(7094) => [
       q(Waci Gbe),
       ],
-   q(7093) => [
+   q(7095) => [
       q(Wandji),
       ],
-   q(7094) => [
+   q(7096) => [
       q(Wadaginam),
       ],
-   q(7095) => [
+   q(7097) => [
       q(Wadjiginy),
       ],
-   q(7096) => [
+   q(7098) => [
       q(Wadikali),
       ],
-   q(7097) => [
+   q(7099) => [
       q(Wadjigu),
       ],
-   q(7098) => [
+   q(7100) => [
       q(Wadjabangayi),
       ],
-   q(7099) => [
+   q(7101) => [
       q(Wewaw),
       ],
-   q(7100) => [
+   q(7102) => [
       q(We Western),
       ],
-   q(7101) => [
+   q(7103) => [
       q(Wedau),
       ],
-   q(7102) => [
+   q(7104) => [
       q(Wergaia),
       ],
-   q(7103) => [
+   q(7105) => [
       q(Weh),
       ],
-   q(7104) => [
+   q(7106) => [
       q(Kiunum),
       ],
-   q(7105) => [
+   q(7107) => [
       q(Weme Gbe),
       ],
-   q(7106) => [
+   q(7108) => [
       q(Wemale),
       ],
-   q(7107) => [
+   q(7109) => [
       q(Westphalien),
       ],
-   q(7108) => [
+   q(7110) => [
       q(Weri),
       ],
-   q(7109) => [
+   q(7111) => [
       q(Cameroon Pidgin),
       ],
-   q(7110) => [
+   q(7112) => [
       q(Perai),
       ],
-   q(7111) => [
+   q(7113) => [
       q(Rawngtu Chin),
       ],
-   q(7112) => [
+   q(7114) => [
       q(Wejewa),
       ],
-   q(7113) => [
+   q(7115) => [
       q(Yafi),
       q(Zorop),
       ],
-   q(7114) => [
+   q(7116) => [
       q(Wagaya),
       ],
-   q(7115) => [
+   q(7117) => [
       q(Wagawaga),
       ],
-   q(7116) => [
+   q(7118) => [
       q(Wangganguru),
       ],
-   q(7117) => [
+   q(7119) => [
       q(Wahgi),
       ],
-   q(7118) => [
+   q(7120) => [
       q(Waigeo),
       ],
-   q(7119) => [
+   q(7121) => [
       q(Wirangu),
       ],
-   q(7120) => [
+   q(7122) => [
       q(Warrgamay),
       ],
-   q(7121) => [
+   q(7123) => [
       q(Manusela),
       ],
-   q(7122) => [
+   q(7124) => [
       q(North Wahgi),
       ],
-   q(7123) => [
+   q(7125) => [
       q(Wahau Kenyah),
       ],
-   q(7124) => [
+   q(7126) => [
       q(Wahau Kayan),
       ],
-   q(7125) => [
+   q(7127) => [
       q(Southern Toussian),
       ],
-   q(7126) => [
+   q(7128) => [
       q(Wichita),
       ],
-   q(7127) => [
+   q(7129) => [
       q(Wik-Epa),
       ],
-   q(7128) => [
+   q(7130) => [
       q(Wik-Keyangan),
       ],
-   q(7129) => [
+   q(7131) => [
       q(Wik-Ngathana),
       ],
-   q(7130) => [
+   q(7132) => [
       q(Wik-Me'anha),
       ],
-   q(7131) => [
+   q(7133) => [
       q(Minidien),
       ],
-   q(7132) => [
+   q(7134) => [
       q(Wik-Iiyanh),
       ],
-   q(7133) => [
+   q(7135) => [
       q(Wikalkan),
       ],
-   q(7134) => [
+   q(7136) => [
       q(Wilawila),
       ],
-   q(7135) => [
+   q(7137) => [
       q(Wik-Mungkan),
       ],
-   q(7136) => [
+   q(7138) => [
       q(Ho-Chunk),
       ],
-   q(7137) => [
+   q(7139) => [
       q(Wirafed),
       ],
-   q(7138) => [
+   q(7140) => [
       q(Wiru),
       ],
-   q(7139) => [
+   q(7141) => [
       q(Vitu),
       ],
-   q(7140) => [
+   q(7142) => [
       q(Wiyot),
       ],
-   q(7141) => [
+   q(7143) => [
       q(Waja),
       ],
-   q(7142) => [
+   q(7144) => [
       q(Warji),
       ],
-   q(7143) => [
+   q(7145) => [
       q(Kw'adza),
       ],
-   q(7144) => [
+   q(7146) => [
       q(Kumbaran),
       ],
-   q(7145) => [
+   q(7147) => [
       q(Wakde),
       q(Mo),
       ],
-   q(7146) => [
+   q(7148) => [
       q(Kalanadi),
       ],
-   q(7147) => [
+   q(7149) => [
       q(Kunduvadi),
       ],
-   q(7148) => [
+   q(7150) => [
       q(Wakawaka),
       ],
-   q(7149) => [
+   q(7151) => [
       q(Wangkayutyuru),
       ],
-   q(7150) => [
+   q(7152) => [
       q(Walio),
       ],
-   q(7151) => [
+   q(7153) => [
       q(Mwali Comorian),
       ],
-   q(7152) => [
+   q(7154) => [
       q(Wolane),
       ],
-   q(7153) => [
+   q(7155) => [
       q(Kunbarlang),
       ],
-   q(7154) => [
+   q(7156) => [
       q(Waioli),
       ],
-   q(7155) => [
+   q(7157) => [
       q(Wailaki),
       ],
-   q(7156) => [
+   q(7158) => [
       q(Wali (Sudan)),
       ],
-   q(7157) => [
+   q(7159) => [
       q(Middle Welsh),
       ],
-   q(7158) => [
+   q(7160) => [
       q(Wolio),
       ],
-   q(7159) => [
+   q(7161) => [
       q(Wailapa),
       ],
-   q(7160) => [
+   q(7162) => [
       q(Wallisian),
       ],
-   q(7161) => [
+   q(7163) => [
       q(Wuliwuli),
       ],
-   q(7162) => [
+   q(7164) => [
       q(Wichi Lhamtes Vejoz),
       ],
-   q(7163) => [
+   q(7165) => [
       q(Walak),
       ],
-   q(7164) => [
+   q(7166) => [
       q(Wali (Ghana)),
       ],
-   q(7165) => [
+   q(7167) => [
       q(Waling),
       ],
-   q(7166) => [
+   q(7168) => [
       q(Mawa (Nigeria)),
       ],
-   q(7167) => [
+   q(7169) => [
       q(Wambaya),
       ],
-   q(7168) => [
+   q(7170) => [
       q(Wamas),
       ],
-   q(7169) => [
+   q(7171) => [
       q(Mamainde),
       ],
-   q(7170) => [
+   q(7172) => [
       q(Wambule),
       ],
-   q(7171) => [
+   q(7173) => [
       q(Waima'a),
       ],
-   q(7172) => [
+   q(7174) => [
       q(Wamin),
       ],
-   q(7173) => [
+   q(7175) => [
       q(Maiwa (Indonesia)),
       ],
-   q(7174) => [
+   q(7176) => [
       q(Waamwang),
       ],
-   q(7175) => [
+   q(7177) => [
       q(Wom (Papua New Guinea)),
       ],
-   q(7176) => [
+   q(7178) => [
       q(Wambon),
       ],
-   q(7177) => [
+   q(7179) => [
       q(Walmajarri),
       ],
-   q(7178) => [
+   q(7180) => [
       q(Mwani),
       ],
-   q(7179) => [
+   q(7181) => [
       q(Womo),
       ],
-   q(7180) => [
+   q(7182) => [
       q(Wanambre),
       ],
-   q(7181) => [
+   q(7183) => [
       q(Wantoat),
       ],
-   q(7182) => [
+   q(7184) => [
       q(Wandarang),
       ],
-   q(7183) => [
+   q(7185) => [
       q(Waneci),
       ],
-   q(7184) => [
+   q(7186) => [
       q(Wanggom),
       ],
-   q(7185) => [
+   q(7187) => [
       q(Ndzwani Comorian),
       ],
-   q(7186) => [
+   q(7188) => [
       q(Wanukaka),
       ],
-   q(7187) => [
+   q(7189) => [
       q(Wanggamala),
       ],
-   q(7188) => [
+   q(7190) => [
       q(Wunumara),
       ],
-   q(7189) => [
+   q(7191) => [
       q(Wano),
       ],
-   q(7190) => [
+   q(7192) => [
       q(Wanap),
       ],
-   q(7191) => [
+   q(7193) => [
       q(Usan),
       ],
-   q(7192) => [
+   q(7194) => [
       q(Wintu),
       ],
-   q(7193) => [
+   q(7195) => [
       q(Wanyi),
       ],
-   q(7194) => [
+   q(7196) => [
       q(Tyaraity),
       ],
-   q(7195) => [
+   q(7197) => [
       q(We Northern),
       ],
-   q(7196) => [
+   q(7198) => [
       q(Wogeo),
       ],
-   q(7197) => [
+   q(7199) => [
       q(Wolani),
       ],
-   q(7198) => [
+   q(7200) => [
       q(Woleaian),
       ],
-   q(7199) => [
+   q(7201) => [
       q(Gambian Wolof),
       ],
-   q(7200) => [
+   q(7202) => [
       q(Wogamusin),
       ],
-   q(7201) => [
+   q(7203) => [
       q(Kamang),
       ],
-   q(7202) => [
+   q(7204) => [
       q(Longto),
       ],
-   q(7203) => [
+   q(7205) => [
       q(Wom (Nigeria)),
       ],
-   q(7204) => [
+   q(7206) => [
       q(Wongo),
       ],
-   q(7205) => [
+   q(7207) => [
       q(Manombai),
       ],
-   q(7206) => [
+   q(7208) => [
       q(Woria),
       ],
-   q(7207) => [
+   q(7209) => [
       q(Hanga Hundi),
       ],
-   q(7208) => [
+   q(7210) => [
       q(Wawonii),
       ],
-   q(7209) => [
+   q(7211) => [
       q(Weyto),
       ],
-   q(7210) => [
+   q(7212) => [
       q(Maco),
       ],
-   q(7211) => [
+   q(7213) => [
       q(Warapu),
       ],
-   q(7212) => [
+   q(7214) => [
       q(Warluwara),
       ],
-   q(7213) => [
+   q(7215) => [
       q(Warduji),
       ],
-   q(7214) => [
+   q(7216) => [
       q(Warungu),
       ],
-   q(7215) => [
+   q(7217) => [
       q(Wiradhuri),
       ],
-   q(7216) => [
+   q(7218) => [
       q(Wariyangga),
       ],
-   q(7217) => [
+   q(7219) => [
       q(Garrwa),
       ],
-   q(7218) => [
+   q(7220) => [
       q(Warlmanpa),
       ],
-   q(7219) => [
+   q(7221) => [
       q(Warumungu),
       ],
-   q(7220) => [
+   q(7222) => [
       q(Warnang),
       ],
-   q(7221) => [
+   q(7223) => [
       q(Worrorra),
       ],
-   q(7222) => [
+   q(7224) => [
       q(Waropen),
       ],
-   q(7223) => [
+   q(7225) => [
       q(Wardaman),
       ],
-   q(7224) => [
+   q(7226) => [
       q(Waris),
       ],
-   q(7225) => [
+   q(7227) => [
       q(Waru),
       ],
-   q(7226) => [
+   q(7228) => [
       q(Waruna),
       ],
-   q(7227) => [
+   q(7229) => [
       q(Gugu Warra),
       ],
-   q(7228) => [
+   q(7230) => [
       q(Wae Rana),
       ],
-   q(7229) => [
+   q(7231) => [
       q(Merwari),
       ],
-   q(7230) => [
+   q(7232) => [
       q(Waray (Australia)),
       ],
-   q(7231) => [
+   q(7233) => [
       q(Warembori),
       ],
-   q(7232) => [
+   q(7234) => [
       q(Wusi),
       ],
-   q(7233) => [
+   q(7235) => [
       q(Waskia),
       ],
-   q(7234) => [
+   q(7236) => [
       q(Owenia),
       ],
-   q(7235) => [
+   q(7237) => [
       q(Wasa),
       ],
-   q(7236) => [
+   q(7238) => [
       q(Wasu),
       ],
-   q(7237) => [
+   q(7239) => [
       q(Wotapuri-Katarqalai),
       ],
-   q(7238) => [
+   q(7240) => [
       q(Watiwa),
       ],
-   q(7239) => [
+   q(7241) => [
       q(Wathawurrung),
       ],
-   q(7240) => [
+   q(7242) => [
       q(Berta),
       ],
-   q(7241) => [
+   q(7243) => [
       q(Watakataui),
       ],
-   q(7242) => [
+   q(7244) => [
       q(Mewati),
       ],
-   q(7243) => [
+   q(7245) => [
       q(Wotu),
       ],
-   q(7244) => [
+   q(7246) => [
       q(Wikngenchera),
       ],
-   q(7245) => [
+   q(7247) => [
       q(Wunambal),
       ],
-   q(7246) => [
+   q(7248) => [
       q(Wudu),
       ],
-   q(7247) => [
+   q(7249) => [
       q(Wutunhua),
       ],
-   q(7248) => [
+   q(7250) => [
       q(Silimo),
       ],
-   q(7249) => [
+   q(7251) => [
       q(Wumbvu),
       ],
-   q(7250) => [
+   q(7252) => [
       q(Bungu),
       ],
-   q(7251) => [
+   q(7253) => [
       q(Wurrugu),
       ],
-   q(7252) => [
+   q(7254) => [
       q(Wutung),
       ],
-   q(7253) => [
+   q(7255) => [
       q(Wu Chinese),
       ],
-   q(7254) => [
+   q(7256) => [
       q(Wuvulu-Aua),
       ],
-   q(7255) => [
+   q(7257) => [
       q(Wulna),
       ],
-   q(7256) => [
+   q(7258) => [
       q(Wauyai),
       ],
-   q(7257) => [
+   q(7259) => [
       q(Waama),
       ],
-   q(7258) => [
+   q(7260) => [
       q(Wakabunga),
       ],
-   q(7259) => [
+   q(7261) => [
       q(Wetamut),
       q(Dorig),
       ],
-   q(7260) => [
+   q(7262) => [
       q(Warrwa),
       ],
-   q(7261) => [
+   q(7263) => [
       q(Wawa),
       ],
-   q(7262) => [
+   q(7264) => [
       q(Waxianghua),
       ],
-   q(7263) => [
+   q(7265) => [
       q(Wardandi),
       ],
-   q(7264) => [
+   q(7266) => [
       q(Wyandot),
       ],
-   q(7265) => [
+   q(7267) => [
       q(Wangaaybuwan-Ngiyambaa),
       ],
-   q(7266) => [
+   q(7268) => [
       q(Woiwurrung),
       ],
-   q(7267) => [
+   q(7269) => [
       q(Wymysorys),
       ],
-   q(7268) => [
+   q(7270) => [
       q(Wayoro),
       ],
-   q(7269) => [
+   q(7271) => [
       q(Western Fijian),
       ],
-   q(7270) => [
+   q(7272) => [
       q(Andalusian Arabic),
       ],
-   q(7271) => [
+   q(7273) => [
       q(Sambe),
       ],
-   q(7272) => [
+   q(7274) => [
       q(Kachari),
       ],
-   q(7273) => [
+   q(7275) => [
       q(Adai),
       ],
-   q(7274) => [
+   q(7276) => [
       q(Aequian),
       ],
-   q(7275) => [
+   q(7277) => [
       q(Aghwan),
       ],
-   q(7276) => [
+   q(7278) => [
       q(Kaimbe),
       ],
-   q(7277) => [
+   q(7279) => [
       q(Ararandewara),
       ],
-   q(7278) => [
+   q(7280) => [
       q(/Xam),
       q(Xam),
       ],
-   q(7279) => [
+   q(7281) => [
       q(Xamtanga),
       ],
-   q(7280) => [
+   q(7282) => [
       q(Khao),
       ],
-   q(7281) => [
+   q(7283) => [
       q(Apalachee),
       ],
-   q(7282) => [
+   q(7284) => [
       q(Aquitanian),
       ],
-   q(7283) => [
+   q(7285) => [
       q(Karami),
       ],
-   q(7284) => [
+   q(7286) => [
       q(Kamas),
       ],
-   q(7285) => [
+   q(7287) => [
       q(Katawixi),
       ],
-   q(7286) => [
+   q(7288) => [
       q(Kauwera),
       ],
-   q(7287) => [
+   q(7289) => [
       q(Xavante),
       ],
-   q(7288) => [
+   q(7290) => [
       q(Kawaiisu),
       ],
-   q(7289) => [
+   q(7291) => [
       q(Kayan Mahakam),
       ],
-   q(7290) => [
+   q(7292) => [
       q(Kamba (Brazil)),
       ],
-   q(7291) => [
+   q(7293) => [
       q(Lower Burdekin),
       ],
-   q(7292) => [
+   q(7294) => [
       q(Bactrian),
       ],
-   q(7293) => [
+   q(7295) => [
       q(Bindal),
       ],
-   q(7294) => [
+   q(7296) => [
       q(Bigambal),
       ],
-   q(7295) => [
+   q(7297) => [
       q(Bunganditj),
       ],
-   q(7296) => [
+   q(7298) => [
       q(Kombio),
       ],
-   q(7297) => [
+   q(7299) => [
       q(Birrpayi),
       ],
-   q(7298) => [
+   q(7300) => [
       q(Middle Breton),
       ],
-   q(7299) => [
+   q(7301) => [
       q(Kenaboi),
       ],
-   q(7300) => [
+   q(7302) => [
       q(Bolgarian),
       ],
-   q(7301) => [
+   q(7303) => [
       q(Bibbulman),
       ],
-   q(7302) => [
+   q(7304) => [
       q(Kambera),
       ],
-   q(7303) => [
+   q(7305) => [
       q(Kambiwa),
       ],
-   q(7304) => [
+   q(7306) => [
       q(Kabixi),
       ],
-   q(7305) => [
+   q(7307) => [
       q(Batyala),
       ],
-   q(7306) => [
+   q(7308) => [
       q(Cumbric),
       ],
-   q(7307) => [
+   q(7309) => [
       q(Camunic),
       ],
-   q(7308) => [
+   q(7310) => [
       q(Celtiberian),
       ],
-   q(7309) => [
+   q(7311) => [
       q(Cisalpine Gaulish),
       ],
-   q(7310) => [
+   q(7312) => [
       q(Chemakum),
       q(Chimakum),
       ],
-   q(7311) => [
+   q(7313) => [
       q(Classical Armenian),
       ],
-   q(7312) => [
+   q(7314) => [
       q(Comecrudo),
       ],
-   q(7313) => [
+   q(7315) => [
       q(Cotoname),
       ],
-   q(7314) => [
+   q(7316) => [
       q(Chorasmian),
       ],
-   q(7315) => [
+   q(7317) => [
       q(Carian),
       ],
-   q(7316) => [
+   q(7318) => [
       q(Classical Tibetan),
       ],
-   q(7317) => [
+   q(7319) => [
       q(Curonian),
       ],
-   q(7318) => [
+   q(7320) => [
       q(Chuvantsy),
       ],
-   q(7319) => [
+   q(7321) => [
       q(Coahuilteco),
       ],
-   q(7320) => [
+   q(7322) => [
       q(Cayuse),
       ],
-   q(7321) => [
+   q(7323) => [
       q(Darkinyung),
       ],
-   q(7322) => [
+   q(7324) => [
       q(Dacian),
       ],
-   q(7323) => [
+   q(7325) => [
       q(Dharuk),
       ],
-   q(7324) => [
+   q(7326) => [
       q(Edomite),
       ],
-   q(7325) => [
+   q(7327) => [
       q(Malayic Dayak),
       ],
-   q(7326) => [
+   q(7328) => [
       q(Eblan),
       ],
-   q(7327) => [
+   q(7329) => [
       q(Hdi),
       ],
-   q(7328) => [
+   q(7330) => [
       q(//Xegwi),
       q(Xegwi),
       ],
-   q(7329) => [
+   q(7331) => [
       q(Kelo),
       ],
-   q(7330) => [
+   q(7332) => [
       q(Kembayan),
       ],
-   q(7331) => [
+   q(7333) => [
       q(Epi-Olmec),
       ],
-   q(7332) => [
+   q(7334) => [
       q(Xerente),
       ],
-   q(7333) => [
+   q(7335) => [
       q(Kesawai),
       ],
-   q(7334) => [
+   q(7336) => [
       q(Xeta),
       ],
-   q(7335) => [
+   q(7337) => [
       q(Keoru-Ahia),
       ],
-   q(7336) => [
+   q(7338) => [
       q(Faliscan),
       ],
-   q(7337) => [
+   q(7339) => [
       q(Galatian),
       ],
-   q(7338) => [
+   q(7340) => [
       q(Gbin),
       ],
-   q(7339) => [
+   q(7341) => [
       q(Gudang),
       ],
-   q(7340) => [
+   q(7342) => [
       q(Gabrielino-Fernandeno),
       ],
-   q(7341) => [
+   q(7343) => [
       q(Goreng),
       ],
-   q(7342) => [
+   q(7344) => [
       q(Garingbal),
       ],
-   q(7343) => [
+   q(7345) => [
       q(Galindan),
       ],
-   q(7344) => [
+   q(7346) => [
       q(Dharumbal),
       q(Guwinmal),
       ],
-   q(7345) => [
+   q(7347) => [
       q(Garza),
       ],
-   q(7346) => [
+   q(7348) => [
       q(Unggumi),
       ],
-   q(7347) => [
+   q(7349) => [
       q(Guwa),
       ],
-   q(7348) => [
+   q(7350) => [
       q(Harami),
       ],
-   q(7349) => [
+   q(7351) => [
       q(Hunnic),
       ],
-   q(7350) => [
+   q(7352) => [
       q(Hadrami),
       ],
-   q(7351) => [
+   q(7353) => [
       q(Khetrani),
       ],
-   q(7352) => [
+   q(7354) => [
       q(Hernican),
       ],
-   q(7353) => [
+   q(7355) => [
       q(Hattic),
       ],
-   q(7354) => [
+   q(7356) => [
       q(Hurrian),
       ],
-   q(7355) => [
+   q(7357) => [
       q(Khua),
       ],
-   q(7356) => [
+   q(7358) => [
       q(Iberian),
       ],
-   q(7357) => [
+   q(7359) => [
       q(Xiri),
       ],
-   q(7358) => [
+   q(7360) => [
       q(Illyrian),
       ],
-   q(7359) => [
+   q(7361) => [
       q(Xinca),
       ],
-   q(7360) => [
+   q(7362) => [
       q(Xipinawa),
       ],
-   q(7361) => [
+   q(7363) => [
       q(Xiriana),
       ],
-   q(7362) => [
+   q(7364) => [
       q(Kisan),
       ],
-   q(7363) => [
+   q(7365) => [
       q(Indus Valley Language),
       ],
-   q(7364) => [
+   q(7366) => [
       q(Xipaya),
       ],
-   q(7365) => [
+   q(7367) => [
       q(Minjungbal),
       ],
-   q(7366) => [
+   q(7368) => [
       q(Jaitmatang),
       ],
-   q(7367) => [
+   q(7369) => [
       q(Kalkoti),
       ],
-   q(7368) => [
+   q(7370) => [
       q(Northern Nago),
       ],
-   q(7369) => [
+   q(7371) => [
       q(Kho'ini),
       ],
-   q(7370) => [
+   q(7372) => [
       q(Mendalam Kayan),
       ],
-   q(7371) => [
+   q(7373) => [
       q(Kereho),
       ],
-   q(7372) => [
+   q(7374) => [
       q(Khengkha),
       ],
-   q(7373) => [
+   q(7375) => [
       q(Kagoro),
       ],
-   q(7374) => [
+   q(7376) => [
       q(Karahawyana),
       ],
-   q(7375) => [
+   q(7377) => [
       q(Kenyan Sign Language),
       ],
-   q(7376) => [
+   q(7378) => [
       q(Kajali),
       ],
-   q(7377) => [
+   q(7379) => [
       q(Kaco'),
       ],
-   q(7378) => [
+   q(7380) => [
       q(Mainstream Kenyah),
       ],
-   q(7379) => [
+   q(7381) => [
       q(Kayan River Kayan),
       ],
-   q(7380) => [
+   q(7382) => [
       q(Kiorr),
       ],
-   q(7381) => [
+   q(7383) => [
       q(Kabatei),
       ],
-   q(7382) => [
+   q(7384) => [
       q(Koroni),
       ],
-   q(7383) => [
+   q(7385) => [
       q(Xakriaba),
       ],
-   q(7384) => [
+   q(7386) => [
       q(Kumbewaha),
       ],
-   q(7385) => [
+   q(7387) => [
       q(Kantosi),
       ],
-   q(7386) => [
+   q(7388) => [
       q(Kaamba),
       ],
-   q(7387) => [
+   q(7389) => [
       q(Kgalagadi),
       ],
-   q(7388) => [
+   q(7390) => [
       q(Kembra),
       ],
-   q(7389) => [
+   q(7391) => [
       q(Karore),
       ],
-   q(7390) => [
+   q(7392) => [
       q(Uma' Lasan),
       ],
-   q(7391) => [
+   q(7393) => [
       q(Kurtokha),
       ],
-   q(7392) => [
+   q(7394) => [
       q(Kamula),
       ],
-   q(7393) => [
+   q(7395) => [
       q(Loup B),
       ],
-   q(7394) => [
+   q(7396) => [
       q(Lycian),
       ],
-   q(7395) => [
+   q(7397) => [
       q(Lydian),
       ],
-   q(7396) => [
+   q(7398) => [
       q(Lemnian),
       ],
-   q(7397) => [
+   q(7399) => [
       q(Ligurian (Ancient)),
       ],
-   q(7398) => [
+   q(7400) => [
       q(Liburnian),
       ],
-   q(7399) => [
+   q(7401) => [
       q(Alanic),
       ],
-   q(7400) => [
+   q(7402) => [
       q(Loup A),
       ],
-   q(7401) => [
+   q(7403) => [
       q(Lepontic),
       ],
-   q(7402) => [
+   q(7404) => [
       q(Lusitanian),
       ],
-   q(7403) => [
+   q(7405) => [
       q(Cuneiform Luwian),
       ],
-   q(7404) => [
+   q(7406) => [
       q(Elymian),
       ],
-   q(7405) => [
+   q(7407) => [
       q(Mushungulu),
       ],
-   q(7406) => [
+   q(7408) => [
       q(Mbonga),
       ],
-   q(7407) => [
+   q(7409) => [
       q(Makhuwa-Marrevone),
       ],
-   q(7408) => [
+   q(7410) => [
       q(Mbudum),
       ],
-   q(7409) => [
+   q(7411) => [
       q(Median),
       ],
-   q(7410) => [
+   q(7412) => [
       q(Mingrelian),
       ],
-   q(7411) => [
+   q(7413) => [
       q(Mengaka),
       ],
-   q(7412) => [
+   q(7414) => [
       q(Kuku-Muminh),
       ],
-   q(7413) => [
+   q(7415) => [
       q(Majera),
       ],
-   q(7414) => [
+   q(7416) => [
       q(Ancient Macedonian),
       ],
-   q(7415) => [
+   q(7417) => [
       q(Malaysian Sign Language),
       ],
-   q(7416) => [
+   q(7418) => [
       q(Manado Malay),
       ],
-   q(7417) => [
+   q(7419) => [
       q(Manichaean Middle Persian),
       ],
-   q(7418) => [
+   q(7420) => [
       q(Morerebi),
       ],
-   q(7419) => [
+   q(7421) => [
       q(Kuku-Mu'inh),
       ],
-   q(7420) => [
+   q(7422) => [
       q(Kuku-Mangk),
       ],
-   q(7421) => [
+   q(7423) => [
       q(Meroitic),
       ],
-   q(7422) => [
+   q(7424) => [
       q(Moroccan Sign Language),
       ],
-   q(7423) => [
+   q(7425) => [
       q(Matbat),
       ],
-   q(7424) => [
+   q(7426) => [
       q(Kamu),
       ],
-   q(7425) => [
+   q(7427) => [
       q(Antankarana Malagasy),
       q(Tankarana Malagasy),
       ],
-   q(7426) => [
+   q(7428) => [
       q(Tsimihety Malagasy),
       ],
-   q(7427) => [
+   q(7429) => [
       q(Maden),
       ],
-   q(7428) => [
+   q(7430) => [
       q(Mayaguduna),
       ],
-   q(7429) => [
+   q(7431) => [
       q(Mori Bawah),
       ],
-   q(7430) => [
+   q(7432) => [
       q(Ancient North Arabian),
       ],
-   q(7431) => [
+   q(7433) => [
       q(Kanakanabu),
       ],
-   q(7432) => [
+   q(7434) => [
       q(Middle Mongolian),
       ],
-   q(7433) => [
+   q(7435) => [
       q(Kuanhua),
       ],
-   q(7434) => [
+   q(7436) => [
       q(Ngarigu),
       ],
-   q(7435) => [
+   q(7437) => [
       q(Nganakarti),
       ],
-   q(7436) => [
+   q(7438) => [
       q(Northern Kankanay),
       ],
-   q(7437) => [
+   q(7439) => [
       q(Anglo-Norman),
       ],
-   q(7438) => [
+   q(7440) => [
       q(Kangri),
       ],
-   q(7439) => [
+   q(7441) => [
       q(Kanashi),
       ],
-   q(7440) => [
+   q(7442) => [
       q(Narragansett),
       ],
-   q(7441) => [
+   q(7443) => [
       q(Nukunul),
       ],
-   q(7442) => [
+   q(7444) => [
       q(Nyiyaparli),
       ],
-   q(7443) => [
+   q(7445) => [
       q(Kenzi),
       q(Mattoki),
       ],
-   q(7444) => [
+   q(7446) => [
       q(O'chi'chi'),
       ],
-   q(7445) => [
+   q(7447) => [
       q(Kokoda),
       ],
-   q(7446) => [
+   q(7448) => [
       q(Soga),
       ],
-   q(7447) => [
+   q(7449) => [
       q(Kominimung),
       ],
-   q(7448) => [
+   q(7450) => [
       q(Xokleng),
       ],
-   q(7449) => [
+   q(7451) => [
       q(Komo (Sudan)),
       ],
-   q(7450) => [
+   q(7452) => [
       q(Konkomba),
       ],
-   q(7451) => [
+   q(7453) => [
       q(Xukuru),
       ],
-   q(7452) => [
+   q(7454) => [
       q(Kopar),
       ],
-   q(7453) => [
+   q(7455) => [
       q(Korubo),
       ],
-   q(7454) => [
+   q(7456) => [
       q(Kowaki),
       ],
-   q(7455) => [
+   q(7457) => [
       q(Pirriya),
       ],
-   q(7456) => [
+   q(7458) => [
       q(Pecheneg),
       ],
-   q(7457) => [
+   q(7459) => [
       q(Liberia Kpelle),
       ],
-   q(7458) => [
+   q(7460) => [
       q(Phrygian),
       ],
-   q(7459) => [
+   q(7461) => [
       q(Pictish),
       ],
-   q(7460) => [
+   q(7462) => [
       q(Mpalitjanh),
       ],
-   q(7461) => [
+   q(7463) => [
       q(Kulina Pano),
       ],
-   q(7462) => [
+   q(7464) => [
       q(Pumpokol),
       ],
-   q(7463) => [
+   q(7465) => [
       q(Kapinawa),
       ],
-   q(7464) => [
+   q(7466) => [
       q(Pochutec),
       ],
-   q(7465) => [
+   q(7467) => [
       q(Puyo-Paekche),
       ],
-   q(7466) => [
+   q(7468) => [
       q(Mohegan-Pequot),
       ],
-   q(7467) => [
+   q(7469) => [
       q(Parthian),
       ],
-   q(7468) => [
+   q(7470) => [
       q(Pisidian),
       ],
-   q(7469) => [
+   q(7471) => [
       q(Punthamara),
       ],
-   q(7470) => [
+   q(7472) => [
       q(Punic),
       ],
-   q(7471) => [
+   q(7473) => [
       q(Puyo),
       ],
-   q(7472) => [
+   q(7474) => [
       q(Karakhanid),
       ],
-   q(7473) => [
+   q(7475) => [
       q(Qatabanian),
       ],
-   q(7474) => [
+   q(7476) => [
       q(Kraho),
       ],
-   q(7475) => [
+   q(7477) => [
       q(Eastern Karaboro),
       ],
-   q(7476) => [
+   q(7478) => [
       q(Gundungurra),
       ],
-   q(7477) => [
+   q(7479) => [
       q(Kreye),
       ],
-   q(7478) => [
+   q(7480) => [
       q(Minang),
       ],
-   q(7479) => [
+   q(7481) => [
       q(Krikati-Timbira),
       ],
-   q(7480) => [
+   q(7482) => [
       q(Armazic),
       ],
-   q(7481) => [
+   q(7483) => [
       q(Arin),
       ],
-   q(7482) => [
+   q(7484) => [
       q(Karranga),
       ],
-   q(7483) => [
+   q(7485) => [
       q(Raetic),
       ],
-   q(7484) => [
+   q(7486) => [
       q(Aranama-Tamique),
       ],
-   q(7485) => [
+   q(7487) => [
       q(Marriammu),
       ],
-   q(7486) => [
+   q(7488) => [
       q(Karawa),
       ],
-   q(7487) => [
+   q(7489) => [
       q(Sabaean),
       ],
-   q(7488) => [
+   q(7490) => [
       q(Sambal),
       ],
-   q(7489) => [
+   q(7491) => [
       q(Scythian),
       ],
-   q(7490) => [
+   q(7492) => [
       q(Sidetic),
       ],
-   q(7491) => [
+   q(7493) => [
       q(Sempan),
       ],
-   q(7492) => [
+   q(7494) => [
       q(Shamang),
       ],
-   q(7493) => [
+   q(7495) => [
       q(Sio),
       ],
-   q(7494) => [
+   q(7496) => [
       q(South Slavey),
       ],
-   q(7495) => [
+   q(7497) => [
       q(Kasem),
       ],
-   q(7496) => [
+   q(7498) => [
       q(Sanga (Nigeria)),
       ],
-   q(7497) => [
+   q(7499) => [
       q(Solano),
       ],
-   q(7498) => [
+   q(7500) => [
       q(Silopi),
       ],
-   q(7499) => [
+   q(7501) => [
       q(Makhuwa-Saka),
       ],
-   q(7500) => [
+   q(7502) => [
       q(Sherpa),
       ],
-   q(7501) => [
+   q(7503) => [
       q(Assan),
       ],
-   q(7502) => [
+   q(7504) => [
       q(Sanuma),
       ],
-   q(7503) => [
+   q(7505) => [
       q(Sudovian),
       ],
-   q(7504) => [
+   q(7506) => [
       q(Saisiyat),
       ],
-   q(7505) => [
+   q(7507) => [
       q(Alcozauca Mixtec),
       ],
-   q(7506) => [
+   q(7508) => [
       q(Chazumba Mixtec),
       ],
-   q(7507) => [
+   q(7509) => [
       q(Katcha-Kadugli-Miri),
       ],
-   q(7508) => [
+   q(7510) => [
       q(Diuxi-Tilantongo Mixtec),
       ],
-   q(7509) => [
+   q(7511) => [
       q(Ketengban),
       ],
-   q(7510) => [
+   q(7512) => [
       q(Transalpine Gaulish),
       ],
-   q(7511) => [
+   q(7513) => [
       q(Yitha Yitha),
       ],
-   q(7512) => [
+   q(7514) => [
       q(Sinicahua Mixtec),
       ],
-   q(7513) => [
+   q(7515) => [
       q(San Juan Teita Mixtec),
       ],
-   q(7514) => [
+   q(7516) => [
       q(Tijaltepec Mixtec),
       ],
-   q(7515) => [
+   q(7517) => [
       q(Magdalena Penasco Mixtec),
       ],
-   q(7516) => [
+   q(7518) => [
       q(Northern Tlaxiaco Mixtec),
       ],
-   q(7517) => [
+   q(7519) => [
       q(Tokharian A),
       ],
-   q(7518) => [
+   q(7520) => [
       q(San Miguel Piedras Mixtec),
       ],
-   q(7519) => [
+   q(7521) => [
       q(Tumshuqese),
       ],
-   q(7520) => [
+   q(7522) => [
       q(Early Tripuri),
       ],
-   q(7521) => [
+   q(7523) => [
       q(Sindihui Mixtec),
       ],
-   q(7522) => [
+   q(7524) => [
       q(Tacahua Mixtec),
       ],
-   q(7523) => [
+   q(7525) => [
       q(Cuyamecalco Mixtec),
       ],
-   q(7524) => [
+   q(7526) => [
       q(Thawa),
       ],
-   q(7525) => [
+   q(7527) => [
       q(Tawande),
       ],
-   q(7526) => [
+   q(7528) => [
       q(Yoloxochitl Mixtec),
       ],
-   q(7527) => [
+   q(7529) => [
       q(Tasmanian),
       ],
-   q(7528) => [
+   q(7530) => [
       q(Alu Kurumba),
       ],
-   q(7529) => [
+   q(7531) => [
       q(Betta Kurumba),
       ],
-   q(7530) => [
+   q(7532) => [
       q(Umiida),
       ],
-   q(7531) => [
+   q(7533) => [
       q(Kunigami),
       ],
-   q(7532) => [
+   q(7534) => [
       q(Jennu Kurumba),
       ],
-   q(7533) => [
+   q(7535) => [
       q(Ngunawal),
       ],
-   q(7534) => [
+   q(7536) => [
       q(Umbrian),
       ],
-   q(7535) => [
+   q(7537) => [
       q(Unggaranggu),
       ],
-   q(7536) => [
+   q(7538) => [
       q(Kuo),
       ],
-   q(7537) => [
+   q(7539) => [
       q(Upper Umpqua),
       ],
-   q(7538) => [
+   q(7540) => [
       q(Urartian),
       ],
-   q(7539) => [
+   q(7541) => [
       q(Kuthant),
       ],
-   q(7540) => [
+   q(7542) => [
       q(Kxoe),
       ],
-   q(7541) => [
+   q(7543) => [
       q(Venetic),
       ],
-   q(7542) => [
+   q(7544) => [
       q(Kamviri),
       ],
-   q(7543) => [
+   q(7545) => [
       q(Vandalic),
       ],
-   q(7544) => [
+   q(7546) => [
       q(Volscian),
       ],
-   q(7545) => [
+   q(7547) => [
       q(Vestinian),
       ],
-   q(7546) => [
+   q(7548) => [
       q(Kwaza),
       ],
-   q(7547) => [
+   q(7549) => [
       q(Woccon),
       ],
-   q(7548) => [
+   q(7550) => [
       q(Wadi Wadi),
       ],
-   q(7549) => [
+   q(7551) => [
       q(Xwela Gbe),
       ],
-   q(7550) => [
+   q(7552) => [
       q(Kwegu),
       ],
-   q(7551) => [
+   q(7553) => [
       q(Wajuk),
       ],
-   q(7552) => [
+   q(7554) => [
       q(Wangkumara),
       ],
-   q(7553) => [
+   q(7555) => [
       q(Western Xwla Gbe),
       ],
-   q(7554) => [
+   q(7556) => [
       q(Written Oirat),
       ],
-   q(7555) => [
+   q(7557) => [
       q(Kwerba Mamberamo),
       ],
-   q(7556) => [
+   q(7558) => [
       q(Wotjobaluk),
       ],
-   q(7557) => [
+   q(7559) => [
       q(Wemba Wemba),
       ],
-   q(7558) => [
+   q(7560) => [
       q(Boro (Ghana)),
       ],
-   q(7559) => [
+   q(7561) => [
       q(Ke'o),
       ],
-   q(7560) => [
+   q(7562) => [
       q(Minkin),
       ],
-   q(7561) => [
+   q(7563) => [
       q(Koropo),
       ],
-   q(7562) => [
+   q(7564) => [
       q(Tambora),
       ],
-   q(7563) => [
+   q(7565) => [
       q(Yaygir),
       ],
-   q(7564) => [
+   q(7566) => [
       q(Yandjibara),
       ],
-   q(7565) => [
+   q(7567) => [
       q(Mayi-Yapi),
       ],
-   q(7566) => [
+   q(7568) => [
       q(Mayi-Kulan),
       ],
-   q(7567) => [
+   q(7569) => [
       q(Yalakalore),
       ],
-   q(7568) => [
+   q(7570) => [
       q(Mayi-Thakurti),
       ],
-   q(7569) => [
+   q(7571) => [
       q(Yorta Yorta),
       ],
-   q(7570) => [
+   q(7572) => [
       q(Zhang-Zhung),
       ],
-   q(7571) => [
+   q(7573) => [
       q(Zemgalian),
       ],
-   q(7572) => [
+   q(7574) => [
       q(Ancient Zapotec),
       ],
-   q(7573) => [
+   q(7575) => [
       q(Yaminahua),
       ],
-   q(7574) => [
+   q(7576) => [
       q(Yuhup),
       ],
-   q(7575) => [
+   q(7577) => [
       q(Pass Valley Yali),
       ],
-   q(7576) => [
+   q(7578) => [
       q(Yagua),
       ],
-   q(7577) => [
+   q(7579) => [
       q(Pume),
       ],
-   q(7578) => [
+   q(7580) => [
       q(Yaka (Democratic Republic of Congo)),
       ],
-   q(7579) => [
+   q(7581) => [
       q(Yamana),
       ],
-   q(7580) => [
+   q(7582) => [
       q(Yazgulyam),
       ],
-   q(7581) => [
+   q(7583) => [
       q(Yagnobi),
       ],
-   q(7582) => [
+   q(7584) => [
       q(Banda-Yangere),
       ],
-   q(7583) => [
+   q(7585) => [
       q(Yakama),
       ],
-   q(7584) => [
+   q(7586) => [
       q(Yalunka),
       ],
-   q(7585) => [
+   q(7587) => [
       q(Yamba),
       ],
-   q(7586) => [
+   q(7588) => [
       q(Mayangna),
       ],
-   q(7587) => [
+   q(7589) => [
       q(Yaqui),
       ],
-   q(7588) => [
+   q(7590) => [
       q(Yabarana),
       ],
-   q(7589) => [
+   q(7591) => [
       q(Nugunu (Cameroon)),
       ],
-   q(7590) => [
+   q(7592) => [
       q(Yambeta),
       ],
-   q(7591) => [
+   q(7593) => [
       q(Yuwana),
       ],
-   q(7592) => [
+   q(7594) => [
       q(Yangben),
       ],
-   q(7593) => [
+   q(7595) => [
       q(Yawalapiti),
       ],
-   q(7594) => [
+   q(7596) => [
       q(Yauma),
       ],
-   q(7595) => [
+   q(7597) => [
       q(Agwagwune),
       ],
-   q(7596) => [
+   q(7598) => [
       q(Lokaa),
       ],
-   q(7597) => [
+   q(7599) => [
       q(Yala),
       ],
-   q(7598) => [
+   q(7600) => [
       q(Yemba),
       ],
-   q(7599) => [
+   q(7601) => [
       q(West Yugur),
       ],
-   q(7600) => [
+   q(7602) => [
       q(Yakha),
       ],
-   q(7601) => [
+   q(7603) => [
       q(Yamphu),
       ],
-   q(7602) => [
+   q(7604) => [
       q(Hasha),
       ],
-   q(7603) => [
+   q(7605) => [
       q(Bokha),
       ],
-   q(7604) => [
+   q(7606) => [
       q(Yukuben),
       ],
-   q(7605) => [
+   q(7607) => [
       q(Yaben),
       ],
-   q(7606) => [
+   q(7608) => [
       q(Yabaana),
       ],
-   q(7607) => [
+   q(7609) => [
       q(Yabong),
       ],
-   q(7608) => [
+   q(7610) => [
       q(Yawiyo),
       ],
-   q(7609) => [
+   q(7611) => [
       q(Yaweyuha),
       ],
-   q(7610) => [
+   q(7612) => [
       q(Chesu),
       ],
-   q(7611) => [
+   q(7613) => [
       q(Lolopo),
       ],
-   q(7612) => [
+   q(7614) => [
       q(Yucuna),
       ],
-   q(7613) => [
+   q(7615) => [
       q(Chepya),
       ],
-   q(7614) => [
+   q(7616) => [
       q(Yanda),
       ],
-   q(7615) => [
+   q(7617) => [
       q(Eastern Yiddish),
       ],
-   q(7616) => [
+   q(7618) => [
       q(Yangum Dey),
       ],
-   q(7617) => [
+   q(7619) => [
       q(Yidgha),
       ],
-   q(7618) => [
+   q(7620) => [
       q(Yoidik),
       ],
-   q(7619) => [
+   q(7621) => [
       q(Ravula),
       ],
-   q(7620) => [
+   q(7622) => [
       q(Yeniche),
       ],
-   q(7621) => [
+   q(7623) => [
       q(Yimas),
       ],
-   q(7622) => [
+   q(7624) => [
       q(Yeni),
       ],
-   q(7623) => [
+   q(7625) => [
       q(Yevanic),
       ],
-   q(7624) => [
+   q(7626) => [
       q(Yela),
       ],
-   q(7625) => [
+   q(7627) => [
       q(Tarok),
       ],
-   q(7626) => [
+   q(7628) => [
       q(Nyankpa),
       ],
-   q(7627) => [
+   q(7629) => [
       q(Yetfa),
       ],
-   q(7628) => [
+   q(7630) => [
       q(Yerukula),
       ],
-   q(7629) => [
+   q(7631) => [
       q(Yapunda),
       ],
-   q(7630) => [
+   q(7632) => [
       q(Yeyi),
       ],
-   q(7631) => [
+   q(7633) => [
       q(Malyangapa),
       ],
-   q(7632) => [
+   q(7634) => [
       q(Yiningayi),
       ],
-   q(7633) => [
+   q(7635) => [
       q(Yangum Gel),
       ],
-   q(7634) => [
+   q(7636) => [
       q(Yagomi),
       ],
-   q(7635) => [
+   q(7637) => [
       q(Gepo),
       ],
-   q(7636) => [
+   q(7638) => [
       q(Yagaria),
       ],
-   q(7637) => [
+   q(7639) => [
       q(Yolnu Sign Language),
       ],
-   q(7638) => [
+   q(7640) => [
       q(Yugul),
       ],
-   q(7639) => [
+   q(7641) => [
       q(Yagwoia),
       ],
-   q(7640) => [
+   q(7642) => [
       q(Baha Buyang),
       ],
-   q(7641) => [
+   q(7643) => [
       q(Judeo-Iraqi Arabic),
       ],
-   q(7642) => [
+   q(7644) => [
       q(Hlepho Phowa),
       ],
-   q(7643) => [
+   q(7645) => [
       q(Yan-nhanu Sign Language),
       ],
-   q(7644) => [
+   q(7646) => [
       q(Yinggarda),
       ],
-   q(7645) => [
+   q(7647) => [
       q(Wusa Nasu),
       ],
-   q(7646) => [
+   q(7648) => [
       q(Western Yiddish),
       ],
-   q(7647) => [
+   q(7649) => [
       q(Yidiny),
       ],
-   q(7648) => [
+   q(7650) => [
       q(Yindjibarndi),
       ],
-   q(7649) => [
+   q(7651) => [
       q(Dongshanba Lalo),
       ],
-   q(7650) => [
+   q(7652) => [
       q(Yindjilandji),
       ],
-   q(7651) => [
+   q(7653) => [
       q(Yimchungru Naga),
       ],
-   q(7652) => [
+   q(7654) => [
       q(Yinchia),
       ],
-   q(7653) => [
+   q(7655) => [
       q(Pholo),
       ],
-   q(7654) => [
+   q(7656) => [
       q(Miqie),
       ],
-   q(7655) => [
+   q(7657) => [
       q(North Awyu),
       ],
-   q(7656) => [
+   q(7658) => [
       q(Yis),
       ],
-   q(7657) => [
+   q(7659) => [
       q(Eastern Lalu),
       ],
-   q(7658) => [
+   q(7660) => [
       q(Awu),
       ],
-   q(7659) => [
+   q(7661) => [
       q(Northern Nisu),
       ],
-   q(7660) => [
+   q(7662) => [
       q(Axi Yi),
       ],
-   q(7661) => [
+   q(7663) => [
       q(Azhe),
       ],
-   q(7662) => [
+   q(7664) => [
       q(Yakan),
       ],
-   q(7663) => [
+   q(7665) => [
       q(Northern Yukaghir),
       ],
-   q(7664) => [
+   q(7666) => [
       q(Yoke),
       ],
-   q(7665) => [
+   q(7667) => [
       q(Yakaikeke),
       ],
-   q(7666) => [
+   q(7668) => [
       q(Khlula),
       ],
-   q(7667) => [
+   q(7669) => [
       q(Kap),
       ],
-   q(7668) => [
+   q(7670) => [
       q(Kua-nsi),
       ],
-   q(7669) => [
+   q(7671) => [
       q(Yasa),
       ],
-   q(7670) => [
+   q(7672) => [
       q(Yekora),
       ],
-   q(7671) => [
+   q(7673) => [
       q(Kathu),
       ],
-   q(7672) => [
+   q(7674) => [
       q(Kuamasi),
       ],
-   q(7673) => [
+   q(7675) => [
       q(Yakoma),
       ],
-   q(7674) => [
+   q(7676) => [
       q(Yaul),
       ],
-   q(7675) => [
+   q(7677) => [
       q(Yaleba),
       ],
-   q(7676) => [
+   q(7678) => [
       q(Yele),
       ],
-   q(7677) => [
+   q(7679) => [
       q(Yelogu),
       ],
-   q(7678) => [
+   q(7680) => [
       q(Angguruk Yali),
       ],
-   q(7679) => [
+   q(7681) => [
       q(Yil),
       ],
-   q(7680) => [
+   q(7682) => [
       q(Limi),
       ],
-   q(7681) => [
+   q(7683) => [
       q(Langnian Buyang),
       ],
-   q(7682) => [
+   q(7684) => [
       q(Naluo Yi),
       ],
-   q(7683) => [
+   q(7685) => [
       q(Yalarnnga),
       ],
-   q(7684) => [
+   q(7686) => [
       q(Aribwaung),
       ],
-   q(7685) => [
+   q(7687) => [
       q(Nyalayu),
       q(Nyelayu),
       ],
-   q(7686) => [
+   q(7688) => [
       q(Yambes),
       ],
-   q(7687) => [
+   q(7689) => [
       q(Southern Muji),
       ],
-   q(7688) => [
+   q(7690) => [
       q(Muda),
       ],
-   q(7689) => [
+   q(7691) => [
       q(Yameo),
       ],
-   q(7690) => [
+   q(7692) => [
       q(Yamongeri),
       ],
-   q(7691) => [
+   q(7693) => [
       q(Mili),
       ],
-   q(7692) => [
+   q(7694) => [
       q(Moji),
       ],
-   q(7693) => [
+   q(7695) => [
       q(Makwe),
       ],
-   q(7694) => [
+   q(7696) => [
       q(Iamalele),
       ],
-   q(7695) => [
+   q(7697) => [
       q(Maay),
       ],
-   q(7696) => [
+   q(7698) => [
       q(Yamna),
       q(Sunum),
       ],
-   q(7697) => [
+   q(7699) => [
       q(Yangum Mon),
       ],
-   q(7698) => [
+   q(7700) => [
       q(Yamap),
       ],
-   q(7699) => [
+   q(7701) => [
       q(Qila Muji),
       ],
-   q(7700) => [
+   q(7702) => [
       q(Malasar),
       ],
-   q(7701) => [
+   q(7703) => [
       q(Mysian),
       ],
-   q(7702) => [
+   q(7704) => [
       q(Northern Muji),
       ],
-   q(7703) => [
+   q(7705) => [
       q(Muzi),
       ],
-   q(7704) => [
+   q(7706) => [
       q(Aluo),
       ],
-   q(7705) => [
+   q(7707) => [
       q(Yandruwandha),
       ],
-   q(7706) => [
+   q(7708) => [
       q(Lang'e),
       ],
-   q(7707) => [
+   q(7709) => [
       q(Yango),
       ],
-   q(7708) => [
+   q(7710) => [
       q(Naukan Yupik),
       ],
-   q(7709) => [
+   q(7711) => [
       q(Yangulam),
       ],
-   q(7710) => [
+   q(7712) => [
       q(Yana),
       ],
-   q(7711) => [
+   q(7713) => [
       q(Yong),
       ],
-   q(7712) => [
+   q(7714) => [
       q(Yendang),
       ],
-   q(7713) => [
+   q(7715) => [
       q(Yansi),
       ],
-   q(7714) => [
+   q(7716) => [
       q(Yahuna),
       ],
-   q(7715) => [
+   q(7717) => [
       q(Yoba),
       ],
-   q(7716) => [
+   q(7718) => [
       q(Yogad),
       ],
-   q(7717) => [
+   q(7719) => [
       q(Yonaguni),
       ],
-   q(7718) => [
+   q(7720) => [
       q(Yokuts),
       ],
-   q(7719) => [
+   q(7721) => [
       q(Yola),
       ],
-   q(7720) => [
+   q(7722) => [
       q(Yombe),
       ],
-   q(7721) => [
+   q(7723) => [
       q(Yongkom),
       ],
-   q(7722) => [
+   q(7724) => [
       q(Yotti),
       ],
-   q(7723) => [
+   q(7725) => [
       q(Yoron),
       ],
-   q(7724) => [
+   q(7726) => [
       q(Yoy),
       ],
-   q(7725) => [
+   q(7727) => [
       q(Phala),
       ],
-   q(7726) => [
+   q(7728) => [
       q(Labo Phowa),
       ],
-   q(7727) => [
+   q(7729) => [
       q(Phola),
       ],
-   q(7728) => [
+   q(7730) => [
       q(Phupha),
       ],
-   q(7729) => [
+   q(7731) => [
       q(Phuma),
       ],
-   q(7730) => [
+   q(7732) => [
       q(Ani Phowa),
       ],
-   q(7731) => [
+   q(7733) => [
       q(Alo Phola),
       ],
-   q(7732) => [
+   q(7734) => [
       q(Phupa),
       ],
-   q(7733) => [
+   q(7735) => [
       q(Phuza),
       ],
-   q(7734) => [
+   q(7736) => [
       q(Yerakai),
       ],
-   q(7735) => [
+   q(7737) => [
       q(Yareba),
       ],
-   q(7736) => [
+   q(7738) => [
       q(Yaoure),
       ],
-   q(7737) => [
+   q(7739) => [
       q(Yari),
       ],
-   q(7738) => [
+   q(7740) => [
       q(Nenets),
       ],
-   q(7739) => [
+   q(7741) => [
       q(Nhengatu),
       ],
-   q(7740) => [
+   q(7742) => [
       q(Yirrk-Mel),
       ],
-   q(7741) => [
+   q(7743) => [
       q(Yerong),
       ],
-   q(7742) => [
+   q(7744) => [
       q(Yarsun),
       ],
-   q(7743) => [
+   q(7745) => [
       q(Yarawata),
       ],
-   q(7744) => [
+   q(7746) => [
       q(Yarluyandi),
       ],
-   q(7745) => [
+   q(7747) => [
       q(Yassic),
       ],
-   q(7746) => [
+   q(7748) => [
       q(Samatao),
       ],
-   q(7747) => [
+   q(7749) => [
       q(Sonaga),
       ],
-   q(7748) => [
+   q(7750) => [
       q(Yugoslavian Sign Language),
       ],
-   q(7749) => [
+   q(7751) => [
       q(Sani),
       ],
-   q(7750) => [
+   q(7752) => [
       q(Nisi (China)),
       ],
-   q(7751) => [
+   q(7753) => [
       q(Southern Lolopo),
       ],
-   q(7752) => [
+   q(7754) => [
       q(Sirenik Yupik),
       ],
-   q(7753) => [
+   q(7755) => [
       q(Yessan-Mayo),
       ],
-   q(7754) => [
+   q(7756) => [
       q(Sanie),
       ],
-   q(7755) => [
+   q(7757) => [
       q(Talu),
       ],
-   q(7756) => [
+   q(7758) => [
       q(Tanglang),
       ],
-   q(7757) => [
+   q(7759) => [
       q(Thopho),
       ],
-   q(7758) => [
+   q(7760) => [
       q(Yout Wam),
       ],
-   q(7759) => [
+   q(7761) => [
       q(Yatay),
       ],
-   q(7760) => [
+   q(7762) => [
       q(Yucateco),
       q(Yucatec Maya),
       ],
-   q(7761) => [
+   q(7763) => [
       q(Yugambal),
       ],
-   q(7762) => [
+   q(7764) => [
       q(Yuchi),
       ],
-   q(7763) => [
+   q(7765) => [
       q(Judeo-Tripolitanian Arabic),
       ],
-   q(7764) => [
+   q(7766) => [
       q(Yue Chinese),
       q(Cantonese),
       ],
-   q(7765) => [
+   q(7767) => [
       q(Havasupai-Walapai-Yavapai),
       ],
-   q(7766) => [
+   q(7768) => [
       q(Yug),
       ],
-   q(7767) => [
+   q(7769) => [
       q(Yuruti),
       ],
-   q(7768) => [
+   q(7770) => [
       q(Karkar-Yuri),
       ],
-   q(7769) => [
+   q(7771) => [
       q(Yuki),
       ],
-   q(7770) => [
+   q(7772) => [
       q(Yulu),
       ],
-   q(7771) => [
+   q(7773) => [
       q(Quechan),
       ],
-   q(7772) => [
+   q(7774) => [
       q(Bena (Nigeria)),
       ],
-   q(7773) => [
+   q(7775) => [
       q(Yukpa),
       ],
-   q(7774) => [
+   q(7776) => [
       q(Yuqui),
       ],
-   q(7775) => [
+   q(7777) => [
       q(Yurok),
       ],
-   q(7776) => [
+   q(7778) => [
       q(Yopno),
       ],
-   q(7777) => [
+   q(7779) => [
       q(Yau (Morobe Province)),
       ],
-   q(7778) => [
+   q(7780) => [
       q(Southern Yukaghir),
       ],
-   q(7779) => [
+   q(7781) => [
       q(East Yugur),
       ],
-   q(7780) => [
+   q(7782) => [
       q(Yuracare),
       ],
-   q(7781) => [
+   q(7783) => [
       q(Yawa),
       ],
-   q(7782) => [
+   q(7784) => [
       q(Yavitero),
       ],
-   q(7783) => [
+   q(7785) => [
       q(Kalou),
       ],
-   q(7784) => [
+   q(7786) => [
       q(Yinhawangka),
       ],
-   q(7785) => [
+   q(7787) => [
       q(Western Lalu),
       ],
-   q(7786) => [
+   q(7788) => [
       q(Yawanawa),
       ],
-   q(7787) => [
+   q(7789) => [
       q(Wuding-Luquan Yi),
       ],
-   q(7788) => [
+   q(7790) => [
       q(Yawuru),
       ],
-   q(7789) => [
+   q(7791) => [
       q(Xishanba Lalo),
       q(Central Lalo),
       ],
-   q(7790) => [
+   q(7792) => [
       q(Wumeng Nasu),
       ],
-   q(7791) => [
+   q(7793) => [
       q(Yawarawarga),
       ],
-   q(7792) => [
+   q(7794) => [
       q(Mayawali),
       ],
-   q(7793) => [
+   q(7795) => [
       q(Yagara),
       ],
-   q(7794) => [
+   q(7796) => [
       q(Yardliyawarra),
       ],
-   q(7795) => [
+   q(7797) => [
       q(Yinwum),
       ],
-   q(7796) => [
+   q(7798) => [
       q(Yuyu),
       ],
-   q(7797) => [
+   q(7799) => [
       q(Yabula Yabula),
       ],
-   q(7798) => [
+   q(7800) => [
       q(Yir Yoront),
       ],
-   q(7799) => [
+   q(7801) => [
       q(Yau (Sandaun Province)),
       ],
-   q(7800) => [
+   q(7802) => [
       q(Ayizi),
       ],
-   q(7801) => [
+   q(7803) => [
       q(E'ma Buyang),
       ],
-   q(7802) => [
+   q(7804) => [
       q(Zokhuo),
       ],
-   q(7803) => [
+   q(7805) => [
       q(Sierra de Juarez Zapotec),
       ],
-   q(7804) => [
+   q(7806) => [
       q(San Juan Guelavia Zapotec),
       ],
-   q(7805) => [
+   q(7807) => [
       q(Ocotlan Zapotec),
       ],
-   q(7806) => [
+   q(7808) => [
       q(Cajonos Zapotec),
       ],
-   q(7807) => [
+   q(7809) => [
       q(Yareni Zapotec),
       ],
-   q(7808) => [
+   q(7810) => [
       q(Ayoquesco Zapotec),
       ],
-   q(7809) => [
+   q(7811) => [
       q(Zaghawa),
       ],
-   q(7810) => [
+   q(7812) => [
       q(Zangwal),
       ],
-   q(7811) => [
+   q(7813) => [
       q(Isthmus Zapotec),
       ],
-   q(7812) => [
+   q(7814) => [
       q(Zaramo),
       ],
-   q(7813) => [
+   q(7815) => [
       q(Zanaki),
       ],
-   q(7814) => [
+   q(7816) => [
       q(Zauzou),
       ],
-   q(7815) => [
+   q(7817) => [
       q(Miahuatlan Zapotec),
       ],
-   q(7816) => [
+   q(7818) => [
       q(Ozolotepec Zapotec),
       ],
-   q(7817) => [
+   q(7819) => [
       q(Aloapam Zapotec),
       ],
-   q(7818) => [
+   q(7820) => [
       q(Rincon Zapotec),
       ],
-   q(7819) => [
+   q(7821) => [
       q(Santo Domingo Albarradas Zapotec),
       ],
-   q(7820) => [
+   q(7822) => [
       q(Tabaa Zapotec),
       ],
-   q(7821) => [
+   q(7823) => [
       q(Zangskari),
       ],
-   q(7822) => [
+   q(7824) => [
       q(Yatzachi Zapotec),
       ],
-   q(7823) => [
+   q(7825) => [
       q(Mitla Zapotec),
       ],
-   q(7824) => [
+   q(7826) => [
       q(Xadani Zapotec),
       ],
-   q(7825) => [
+   q(7827) => [
       q(Zayse-Zergulla),
       q(Zaysete),
       ],
-   q(7826) => [
+   q(7828) => [
       q(Zari),
       ],
-   q(7827) => [
+   q(7829) => [
       q(Central Berawan),
       ],
-   q(7828) => [
+   q(7830) => [
       q(East Berawan),
       ],
-   q(7829) => [
+   q(7831) => [
       q(Batui),
       ],
-   q(7830) => [
+   q(7832) => [
       q(West Berawan),
       ],
-   q(7831) => [
+   q(7833) => [
       q(Coatecas Altas Zapotec),
       ],
-   q(7832) => [
+   q(7834) => [
       q(Central Hongshuihe Zhuang),
       ],
-   q(7833) => [
+   q(7835) => [
       q(Ngazidja Comorian),
       ],
-   q(7834) => [
+   q(7836) => [
       q(Zeeuws),
       ],
-   q(7835) => [
+   q(7837) => [
       q(Zenag),
       ],
-   q(7836) => [
+   q(7838) => [
       q(Eastern Hongshuihe Zhuang),
       ],
-   q(7837) => [
+   q(7839) => [
       q(Kinga),
       ],
-   q(7838) => [
+   q(7840) => [
       q(Guibei Zhuang),
       ],
-   q(7839) => [
+   q(7841) => [
       q(Minz Zhuang),
       ],
-   q(7840) => [
+   q(7842) => [
       q(Guibian Zhuang),
       ],
-   q(7841) => [
+   q(7843) => [
       q(Magori),
       ],
-   q(7842) => [
+   q(7844) => [
       q(Zhaba),
       ],
-   q(7843) => [
+   q(7845) => [
       q(Dai Zhuang),
       ],
-   q(7844) => [
+   q(7846) => [
       q(Zhire),
       ],
-   q(7845) => [
+   q(7847) => [
       q(Nong Zhuang),
       ],
-   q(7846) => [
+   q(7848) => [
       q(Zhoa),
       ],
-   q(7847) => [
+   q(7849) => [
       q(Zia),
       ],
-   q(7848) => [
+   q(7850) => [
       q(Zimbabwe Sign Language),
       ],
-   q(7849) => [
+   q(7851) => [
       q(Zimakani),
       ],
-   q(7850) => [
+   q(7852) => [
       q(Zialo),
       ],
-   q(7851) => [
+   q(7853) => [
       q(Mesme),
       ],
-   q(7852) => [
+   q(7854) => [
       q(Zinza),
       ],
-   q(7853) => [
+   q(7855) => [
       q(Ziriya),
       ],
-   q(7854) => [
+   q(7856) => [
       q(Zigula),
       ],
-   q(7855) => [
+   q(7857) => [
       q(Zizilivakan),
       ],
-   q(7856) => [
+   q(7858) => [
       q(Kaimbulawa),
       ],
-   q(7857) => [
+   q(7859) => [
       q(Koibal),
       ],
-   q(7858) => [
+   q(7860) => [
       q(Kadu),
       ],
-   q(7859) => [
+   q(7861) => [
       q(Koguryo),
       ],
-   q(7860) => [
+   q(7862) => [
       q(Khorezmian),
       ],
-   q(7861) => [
+   q(7863) => [
       q(Karankawa),
       ],
-   q(7862) => [
+   q(7864) => [
       q(Kanan),
       ],
-   q(7863) => [
+   q(7865) => [
       q(Kott),
       ],
-   q(7864) => [
+   q(7866) => [
       q(Sao Paulo Kaingang),
       ],
-   q(7865) => [
+   q(7867) => [
       q(Zakhring),
       ],
-   q(7866) => [
+   q(7868) => [
       q(Kitan),
       ],
-   q(7867) => [
+   q(7869) => [
       q(Kaurna),
       ],
-   q(7868) => [
+   q(7870) => [
       q(Krevinian),
       ],
-   q(7869) => [
+   q(7871) => [
       q(Khazar),
       ],
-   q(7870) => [
+   q(7872) => [
       q(Liujiang Zhuang),
       ],
-   q(7871) => [
+   q(7873) => [
       q(Malay (individual language)),
       ],
-   q(7872) => [
+   q(7874) => [
       q(Lianshan Zhuang),
       ],
-   q(7873) => [
+   q(7875) => [
       q(Liuqian Zhuang),
       ],
-   q(7874) => [
+   q(7876) => [
       q(Manda (Australia)),
       ],
-   q(7875) => [
+   q(7877) => [
       q(Zimba),
       ],
-   q(7876) => [
+   q(7878) => [
       q(Margany),
       ],
-   q(7877) => [
+   q(7879) => [
       q(Maridan),
       ],
-   q(7878) => [
+   q(7880) => [
       q(Mangerr),
       ],
-   q(7879) => [
+   q(7881) => [
       q(Mfinu),
       ],
-   q(7880) => [
+   q(7882) => [
       q(Marti Ke),
       ],
-   q(7881) => [
+   q(7883) => [
       q(Makolkol),
       ],
-   q(7882) => [
+   q(7884) => [
       q(Negeri Sembilan Malay),
       ],
-   q(7883) => [
+   q(7885) => [
       q(Maridjabin),
       ],
-   q(7884) => [
+   q(7886) => [
       q(Mandandanyi),
       ],
-   q(7885) => [
+   q(7887) => [
       q(Madngele),
       ],
-   q(7886) => [
+   q(7888) => [
       q(Marimanindji),
       ],
-   q(7887) => [
+   q(7889) => [
       q(Mbangwe),
       ],
-   q(7888) => [
+   q(7890) => [
       q(Molo),
       ],
-   q(7889) => [
+   q(7891) => [
       q(Mpuono),
       ],
-   q(7890) => [
+   q(7892) => [
       q(Mituku),
       ],
-   q(7891) => [
+   q(7893) => [
       q(Maranunggu),
       ],
-   q(7892) => [
+   q(7894) => [
       q(Mbesa),
       ],
-   q(7893) => [
+   q(7895) => [
       q(Maringarr),
       ],
-   q(7894) => [
+   q(7896) => [
       q(Muruwari),
       ],
-   q(7895) => [
+   q(7897) => [
       q(Mbariman-Gudhinma),
       ],
-   q(7896) => [
+   q(7898) => [
       q(Mbo (Democratic Republic of Congo)),
       ],
-   q(7897) => [
+   q(7899) => [
       q(Bomitaba),
       ],
-   q(7898) => [
+   q(7900) => [
       q(Mariyedi),
       ],
-   q(7899) => [
+   q(7901) => [
       q(Mbandja),
       ],
-   q(7900) => [
+   q(7902) => [
       q(Zan Gula),
       ],
-   q(7901) => [
+   q(7903) => [
       q(Zande (individual language)),
       ],
-   q(7902) => [
+   q(7904) => [
       q(Mang),
       ],
-   q(7903) => [
+   q(7905) => [
       q(Manangkari),
       ],
-   q(7904) => [
+   q(7906) => [
       q(Mangas),
       ],
-   q(7905) => [
+   q(7907) => [
       q(Copainala Zoque),
       ],
-   q(7906) => [
+   q(7908) => [
       q(Chimalapa Zoque),
       ],
-   q(7907) => [
+   q(7909) => [
       q(Zou),
       ],
-   q(7908) => [
+   q(7910) => [
       q(Asuncion Mixtepec Zapotec),
       ],
-   q(7909) => [
+   q(7911) => [
       q(Tabasco Zoque),
       ],
-   q(7910) => [
+   q(7912) => [
       q(Rayon Zoque),
       ],
-   q(7911) => [
+   q(7913) => [
       q(Francisco Leon Zoque),
       ],
-   q(7912) => [
+   q(7914) => [
       q(Lachiguiri Zapotec),
       ],
-   q(7913) => [
+   q(7915) => [
       q(Yautepec Zapotec),
       ],
-   q(7914) => [
+   q(7916) => [
       q(Choapan Zapotec),
       ],
-   q(7915) => [
+   q(7917) => [
       q(Southeastern Ixtlan Zapotec),
       ],
-   q(7916) => [
+   q(7918) => [
       q(Petapa Zapotec),
       ],
-   q(7917) => [
+   q(7919) => [
       q(San Pedro Quiatoni Zapotec),
       ],
-   q(7918) => [
+   q(7920) => [
       q(Guevea De Humboldt Zapotec),
       ],
-   q(7919) => [
+   q(7921) => [
       q(Totomachapan Zapotec),
       ],
-   q(7920) => [
+   q(7922) => [
       q(Santa Maria Quiegolani Zapotec),
       ],
-   q(7921) => [
+   q(7923) => [
       q(Quiavicuzas Zapotec),
       ],
-   q(7922) => [
+   q(7924) => [
       q(Tlacolulita Zapotec),
       ],
-   q(7923) => [
+   q(7925) => [
       q(Lachixio Zapotec),
       ],
-   q(7924) => [
+   q(7926) => [
       q(Mixtepec Zapotec),
       ],
-   q(7925) => [
+   q(7927) => [
       q(Santa Ines Yatzechi Zapotec),
       ],
-   q(7926) => [
+   q(7928) => [
       q(Amatlan Zapotec),
       ],
-   q(7927) => [
+   q(7929) => [
       q(El Alto Zapotec),
       ],
-   q(7928) => [
+   q(7930) => [
       q(Zoogocho Zapotec),
       ],
-   q(7929) => [
+   q(7931) => [
       q(Santiago Xanica Zapotec),
       ],
-   q(7930) => [
+   q(7932) => [
       q(Coatlan Zapotec),
       ],
-   q(7931) => [
+   q(7933) => [
       q(San Vicente Coatlan Zapotec),
       ],
-   q(7932) => [
+   q(7934) => [
       q(Yalalag Zapotec),
       ],
-   q(7933) => [
+   q(7935) => [
       q(Chichicapan Zapotec),
       ],
-   q(7934) => [
+   q(7936) => [
       q(Zaniza Zapotec),
       ],
-   q(7935) => [
+   q(7937) => [
       q(San Baltazar Loxicha Zapotec),
       ],
-   q(7936) => [
+   q(7938) => [
       q(Mazaltepec Zapotec),
       ],
-   q(7937) => [
+   q(7939) => [
       q(Texmelucan Zapotec),
       ],
-   q(7938) => [
+   q(7940) => [
       q(Qiubei Zhuang),
       ],
-   q(7939) => [
+   q(7941) => [
       q(Kara (Korea)),
       ],
-   q(7940) => [
+   q(7942) => [
       q(Mirgan),
       ],
-   q(7941) => [
+   q(7943) => [
       q(Zerenkel),
       ],
-   q(7942) => [
+   q(7944) => [
       q(Zaparo),
       ],
-   q(7943) => [
+   q(7945) => [
       q(Zarphatic),
       ],
-   q(7944) => [
+   q(7946) => [
       q(Mairasi),
       ],
-   q(7945) => [
+   q(7947) => [
       q(Sarasira),
       ],
-   q(7946) => [
+   q(7948) => [
       q(Kaskean),
       ],
-   q(7947) => [
+   q(7949) => [
       q(Zambian Sign Language),
       ],
-   q(7948) => [
+   q(7950) => [
       q(Standard Malay),
       ],
-   q(7949) => [
+   q(7951) => [
       q(Southern Rincon Zapotec),
       ],
-   q(7950) => [
+   q(7952) => [
       q(Sukurum),
       ],
-   q(7951) => [
+   q(7953) => [
       q(Elotepec Zapotec),
       ],
-   q(7952) => [
+   q(7954) => [
       q(Xanaguia Zapotec),
       ],
-   q(7953) => [
+   q(7955) => [
       q(Lapaguia-Guivini Zapotec),
       ],
-   q(7954) => [
+   q(7956) => [
       q(San Agustin Mixtepec Zapotec),
       ],
-   q(7955) => [
+   q(7957) => [
       q(Santa Catarina Albarradas Zapotec),
       ],
-   q(7956) => [
+   q(7958) => [
       q(Loxicha Zapotec),
       ],
-   q(7957) => [
+   q(7959) => [
       q(Quioquitani-Quieri Zapotec),
       ],
-   q(7958) => [
+   q(7960) => [
       q(Tilquiapan Zapotec),
       ],
-   q(7959) => [
+   q(7961) => [
       q(Tejalapan Zapotec),
       ],
-   q(7960) => [
+   q(7962) => [
       q(Guila Zapotec),
       ],
-   q(7961) => [
+   q(7963) => [
       q(Zaachila Zapotec),
       ],
-   q(7962) => [
+   q(7964) => [
       q(Yatee Zapotec),
       ],
-   q(7963) => [
+   q(7965) => [
       q(Zeem),
       ],
-   q(7964) => [
+   q(7966) => [
       q(Tokano),
       ],
-   q(7965) => [
+   q(7967) => [
       q(Kumzari),
       ],
-   q(7966) => [
+   q(7968) => [
       q(Zumaya),
       ],
-   q(7967) => [
+   q(7969) => [
       q(Zay),
       ],
-   q(7968) => [
+   q(7970) => [
       q(Yongbei Zhuang),
       ],
-   q(7969) => [
+   q(7971) => [
       q(Yang Zhuang),
       ],
-   q(7970) => [
+   q(7972) => [
       q(Youjiang Zhuang),
       ],
-   q(7971) => [
+   q(7973) => [
       q(Yongnan Zhuang),
       ],
-   q(7972) => [
+   q(7974) => [
       q(Zyphe Chin),
       ],
-   q(7973) => [
+   q(7975) => [
       q(Zuojiang Zhuang),
       ],
 };
 
 $Locale::Codes::Data{'language'}{'alias2id'} = {
    q(!xoo) => [
-      q(4973),
+      q(4975),
       q(0),
       ],
    q('are'are) => [
@@ -24288,39 +24294,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q('auhelawa) => [
-      q(3646),
+      q(3648),
       q(0),
       ],
    q('oroe) => [
-      q(1381),
+      q(1382),
       q(1),
       ],
    q(//ani) => [
-      q(2802),
+      q(2803),
       q(0),
       ],
    q(//gana) => [
-      q(2574),
+      q(2575),
       q(0),
       ],
    q(//xegwi) => [
-      q(7328),
+      q(7330),
       q(0),
       ],
    q(/gwi) => [
-      q(2685),
+      q(2686),
       q(0),
       ],
    q(/xam) => [
-      q(7278),
+      q(7280),
       q(0),
       ],
    q(=/hua) => [
-      q(2852),
+      q(2853),
       q(0),
       ],
    q(=/ungkue) => [
-      q(2541),
+      q(2542),
       q(1),
       ],
    q(a'ou) => [
@@ -24332,7 +24338,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(a-hmaos) => [
-      q(2779),
+      q(2780),
       q(1),
       ],
    q(a-pucikwar) => [
@@ -24348,7 +24354,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abadi) => [
-      q(3200),
+      q(3202),
       q(0),
       ],
    q(abaga) => [
@@ -24364,7 +24370,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abar) => [
-      q(4305),
+      q(4307),
       q(0),
       ],
    q(abau) => [
@@ -24388,11 +24394,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abinomn) => [
-      q(1446),
+      q(1447),
       q(0),
       ],
    q(abipon) => [
-      q(0984),
+      q(0985),
       q(0),
       ],
    q(abishira) => [
@@ -24432,7 +24438,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abun) => [
-      q(3323),
+      q(3325),
       q(0),
       ],
    q(abure) => [
@@ -24440,15 +24446,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(abureni) => [
-      q(4257),
+      q(4259),
       q(0),
       ],
    q(acatepec me'phaa) => [
-      q(6672),
+      q(6674),
       q(0),
       ],
    q(acatepec tlapanec) => [
-      q(6672),
+      q(6674),
       q(1),
       ],
    q(achagua) => [
@@ -24460,7 +24466,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ache) => [
-      q(2656),
+      q(2657),
       q(0),
       ],
    q(acheron) => [
@@ -24500,11 +24506,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(adai) => [
-      q(7273),
+      q(7275),
       q(0),
       ],
    q(adamawa fulfulde) => [
-      q(2379),
+      q(2380),
       q(0),
       ],
    q(adamorobe sign language) => [
@@ -24524,11 +24530,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(adara) => [
-      q(3169),
+      q(3171),
       q(0),
       ],
    q(adasen) => [
-      q(6531),
+      q(6533),
       q(0),
       ],
    q(adele) => [
@@ -24548,15 +24554,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(adithinngithigh) => [
-      q(2158),
+      q(2159),
       q(0),
       ],
    q(adivasi oriya) => [
-      q(5301),
+      q(5303),
       q(0),
       ],
    q(adiwasi garasia) => [
-      q(2414),
+      q(2415),
       q(0),
       ],
    q(adnyamathanha) => [
@@ -24588,11 +24594,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aekyom) => [
-      q(0971),
+      q(0972),
       q(0),
       ],
    q(aequian) => [
-      q(7274),
+      q(7276),
       q(0),
       ],
    q(aer) => [
@@ -24608,7 +24614,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(afghan persian) => [
-      q(5600),
+      q(5602),
       q(1),
       ],
    q(afghan sign language) => [
@@ -24620,7 +24626,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(afra) => [
-      q(6892),
+      q(6894),
       q(1),
       ],
    q(afrihili) => [
@@ -24652,7 +24658,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(agavotaguerra) => [
-      q(0961),
+      q(0962),
       q(0),
       ],
    q(aghem) => [
@@ -24664,7 +24670,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aghu-tharnggala) => [
-      q(2640),
+      q(2641),
       q(0),
       ],
    q(aghul) => [
@@ -24672,7 +24678,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aghwan) => [
-      q(7275),
+      q(7277),
       q(0),
       ],
    q(agi) => [
@@ -24680,11 +24686,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(agob) => [
-      q(3369),
+      q(3371),
       q(0),
       ],
    q(agoi) => [
-      q(2892),
+      q(2893),
       q(0),
       ],
    q(aguacateco) => [
@@ -24700,11 +24706,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aguna) => [
-      q(0936),
+      q(0937),
       q(0),
       ],
    q(agusan manobo) => [
-      q(4540),
+      q(4542),
       q(0),
       ],
    q(agutaynen) => [
@@ -24712,7 +24718,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(agwagwune) => [
-      q(7595),
+      q(7597),
       q(0),
       ],
    q(ahan) => [
@@ -24724,7 +24730,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aheu) => [
-      q(6503),
+      q(6505),
       q(0),
       ],
    q(ahirani) => [
@@ -24740,7 +24746,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ahwai) => [
-      q(4829),
+      q(4831),
       q(0),
       ],
    q(ai-cham) => [
@@ -24752,11 +24758,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aikana) => [
-      q(6378),
+      q(6380),
       q(0),
       ],
    q(aiklep) => [
-      q(4628),
+      q(4630),
       q(0),
       ],
    q(aimaq) => [
@@ -24800,7 +24806,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aiwoo) => [
-      q(4830),
+      q(4832),
       q(1),
       ],
    q(aja (benin)) => [
@@ -24820,15 +24826,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ajiya) => [
-      q(2903),
+      q(2904),
       q(1),
       ],
    q(ajumbu) => [
-      q(4580),
+      q(4582),
       q(0),
       ],
    q(ajyininka apurucayali) => [
-      q(1832),
+      q(1833),
       q(0),
       ],
    q(ak) => [
@@ -24836,7 +24842,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aka) => [
-      q(6160),
+      q(6162),
       q(0),
       ],
    q(aka-bea) => [
@@ -24888,11 +24894,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akebu) => [
-      q(3275),
+      q(3277),
       q(0),
       ],
    q(akei) => [
-      q(6724),
+      q(6726),
       q(0),
       ],
    q(akeu) => [
@@ -24912,7 +24918,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akkala sami) => [
-      q(6032),
+      q(6034),
       q(0),
       ],
    q(aklanon) => [
@@ -24924,11 +24930,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akoose) => [
-      q(1463),
+      q(1464),
       q(0),
       ],
    q(akoye) => [
-      q(4315),
+      q(4317),
       q(0),
       ],
    q(akpa) => [
@@ -24936,7 +24942,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akpes) => [
-      q(2889),
+      q(2890),
       q(0),
       ],
    q(akrukay) => [
@@ -24944,11 +24950,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akukem) => [
-      q(6184),
+      q(6186),
       q(0),
       ],
    q(akuku) => [
-      q(0999),
+      q(1000),
       q(0),
       ],
    q(akum) => [
@@ -24968,11 +24974,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(akyaung ari naga) => [
-      q(5046),
+      q(5048),
       q(0),
       ],
    q(al-sayyid bedouin sign language) => [
-      q(6344),
+      q(6346),
       q(0),
       ],
    q(alaba-k'abeena) => [
@@ -24984,7 +24990,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alabat island agta) => [
-      q(2179),
+      q(2180),
       q(0),
       ],
    q(alacalufan languages) => [
@@ -24992,7 +24998,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alacatlatzala mixtec) => [
-      q(4308),
+      q(4310),
       q(0),
       ],
    q(alago) => [
@@ -25000,7 +25006,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alagwa) => [
-      q(7081),
+      q(7083),
       q(0),
       ],
    q(alak) => [
@@ -25016,7 +25022,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alanic) => [
-      q(7399),
+      q(7401),
       q(0),
       ],
    q(alapmunte) => [
@@ -25036,11 +25042,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(albanian sign language) => [
-      q(6198),
+      q(6200),
       q(0),
       ],
    q(alcozauca mixtec) => [
-      q(7505),
+      q(7507),
       q(0),
       ],
    q(alege) => [
@@ -25048,7 +25054,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alekano) => [
-      q(2403),
+      q(2404),
       q(0),
       ],
    q(alemannic) => [
@@ -25100,11 +25106,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alo phola) => [
-      q(7731),
+      q(7733),
       q(0),
       ],
    q(aloapam zapotec) => [
-      q(7817),
+      q(7819),
       q(0),
       ],
    q(alor) => [
@@ -25124,11 +25130,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alu kurumba) => [
-      q(7528),
+      q(7530),
       q(0),
       ],
    q(alugu) => [
-      q(0933),
+      q(0934),
       q(0),
       ],
    q(alumu-tesu) => [
@@ -25140,7 +25146,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aluo) => [
-      q(7704),
+      q(7706),
       q(0),
       ],
    q(alur) => [
@@ -25152,7 +25158,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(alviri-vidari) => [
-      q(0955),
+      q(0956),
       q(0),
       ],
    q(alyawarr) => [
@@ -25164,7 +25170,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ama (sudan)) => [
-      q(5161),
+      q(5163),
       q(0),
       ],
    q(amahai) => [
@@ -25204,15 +25210,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amatlan zapotec) => [
-      q(7926),
+      q(7928),
       q(0),
       ],
    q(amba (solomon islands)) => [
-      q(6954),
+      q(6956),
       q(0),
       ],
    q(amba (uganda)) => [
-      q(5876),
+      q(5878),
       q(0),
       ],
    q(ambai) => [
@@ -25244,7 +25250,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ambo-pasco quechua) => [
-      q(5698),
+      q(5700),
       q(0),
       ],
    q(ambonese malay) => [
@@ -25280,7 +25286,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amganad ifugao) => [
-      q(2911),
+      q(2912),
       q(0),
       ],
    q(amharic) => [
@@ -25292,7 +25298,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amio-gelimi) => [
-      q(3876),
+      q(3878),
       q(1),
       ],
    q(amis) => [
@@ -25308,7 +25314,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(amoltepec mixtec) => [
-      q(4150),
+      q(4152),
       q(0),
       ],
    q(ampanang) => [
@@ -25336,7 +25342,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ana tinga dogon) => [
-      q(2159),
+      q(2160),
       q(0),
       ],
    q(anaang) => [
@@ -25352,7 +25358,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anam) => [
-      q(5395),
+      q(5397),
       q(0),
       ],
    q(anambe) => [
@@ -25360,11 +25366,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anamgura) => [
-      q(2961),
+      q(2962),
       q(0),
       ],
    q(anasi) => [
-      q(1385),
+      q(1386),
       q(0),
       ],
    q(anca) => [
@@ -25372,7 +25378,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ancient aramaic (up to 700 bce)) => [
-      q(5185),
+      q(5187),
       q(1),
       ],
    q(ancient greek (to 1453)) => [
@@ -25380,23 +25386,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(ancient hebrew) => [
-      q(2734),
+      q(2735),
       q(0),
       ],
    q(ancient macedonian) => [
-      q(7414),
+      q(7416),
       q(0),
       ],
    q(ancient north arabian) => [
-      q(7430),
+      q(7432),
       q(0),
       ],
    q(ancient zapotec) => [
-      q(7572),
+      q(7574),
       q(0),
       ],
    q(andaandi) => [
-      q(2012),
+      q(2013),
       q(0),
       ],
    q(andai) => [
@@ -25408,11 +25414,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(andalusian arabic) => [
-      q(7270),
+      q(7272),
       q(0),
       ],
    q(andaman creole hindi) => [
-      q(2736),
+      q(2737),
       q(0),
       ],
    q(andaqui) => [
@@ -25436,7 +25442,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(andio) => [
-      q(1613),
+      q(1614),
       q(0),
       ],
    q(andoa) => [
@@ -25452,7 +25458,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aneityum) => [
-      q(0930),
+      q(0931),
       q(0),
       ],
    q(anem) => [
@@ -25464,7 +25470,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anfillo) => [
-      q(4683),
+      q(4685),
       q(0),
       ],
    q(angaataha) => [
@@ -25488,11 +25494,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(angami naga) => [
-      q(4910),
+      q(4912),
       q(0),
       ],
    q(angguruk yali) => [
-      q(7678),
+      q(7680),
       q(0),
       ],
    q(angika) => [
@@ -25500,15 +25506,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(angkamuthi) => [
-      q(0959),
+      q(0960),
       q(0),
       ],
    q(anglo-norman) => [
-      q(7437),
+      q(7439),
       q(0),
       ],
    q(angloromani) => [
-      q(5807),
+      q(5809),
       q(0),
       ],
    q(angolar) => [
@@ -25524,23 +25530,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(angosturas tunebo) => [
-      q(6612),
+      q(6614),
       q(0),
       ],
    q(anguthimri) => [
-      q(0969),
+      q(0970),
       q(0),
       ],
    q(ani) => [
-      q(2802),
+      q(2803),
       q(1),
       ],
    q(ani phowa) => [
-      q(7730),
+      q(7732),
       q(0),
       ],
    q(anii) => [
-      q(1291),
+      q(1292),
       q(0),
       ],
    q(animere) => [
@@ -25552,7 +25558,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anjam) => [
-      q(1358),
+      q(1359),
       q(0),
       ],
    q(ankave) => [
@@ -25564,7 +25570,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anong) => [
-      q(5114),
+      q(5116),
       q(0),
       ],
    q(anor) => [
@@ -25584,7 +25590,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(antankarana malagasy) => [
-      q(7425),
+      q(7427),
       q(0),
       ],
    q(antigua and barbuda creole english) => [
@@ -25600,19 +25606,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anufo) => [
-      q(1758),
+      q(1759),
       q(0),
       ],
    q(anuki) => [
-      q(0938),
+      q(0939),
       q(0),
       ],
    q(anus) => [
-      q(0946),
+      q(0947),
       q(0),
       ],
    q(anuta) => [
-      q(0935),
+      q(0936),
       q(0),
       ],
    q(anyin) => [
@@ -25620,15 +25626,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(anyin morofo) => [
-      q(4554),
+      q(4556),
       q(0),
       ],
    q(ao naga) => [
-      q(4912),
+      q(4914),
       q(0),
       ],
    q(aoheng) => [
-      q(5534),
+      q(5536),
       q(0),
       ],
    q(aore) => [
@@ -25636,7 +25642,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ap ma) => [
-      q(3204),
+      q(3206),
       q(0),
       ],
    q(apache languages) => [
@@ -25644,7 +25650,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(apalachee) => [
-      q(7281),
+      q(7283),
       q(0),
       ],
    q(apalai) => [
@@ -25652,11 +25658,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(apali) => [
-      q(2263),
+      q(2264),
       q(0),
       ],
    q(apasco-apoala mixtec) => [
-      q(4310),
+      q(4312),
       q(0),
       ],
    q(apatani) => [
@@ -25688,7 +25694,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aquitanian) => [
-      q(7282),
+      q(7284),
       q(0),
       ],
    q(arabana) => [
@@ -25712,15 +25718,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arakwal) => [
-      q(5802),
+      q(5804),
       q(0),
       ],
    q(aralle-tabulahan) => [
-      q(0922),
+      q(0923),
       q(0),
       ],
    q(arammba) => [
-      q(6261),
+      q(6263),
       q(0),
       ],
    q(aranadan) => [
@@ -25728,11 +25734,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aranama-tamique) => [
-      q(7484),
+      q(7486),
       q(0),
       ],
    q(arandai) => [
-      q(3061),
+      q(3062),
       q(0),
       ],
    q(araona) => [
@@ -25748,7 +25754,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ararandewara) => [
-      q(7277),
+      q(7279),
       q(0),
       ],
    q(arauan languages) => [
@@ -25768,11 +25774,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arawete) => [
-      q(0978),
+      q(0979),
       q(0),
       ],
    q(arawum) => [
-      q(0973),
+      q(0974),
       q(0),
       ],
    q(arbereshe albanian) => [
@@ -25788,11 +25794,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ardhamagadhi prakrit) => [
-      q(5472),
+      q(5474),
       q(0),
       ],
    q(are) => [
-      q(4625),
+      q(4627),
       q(0),
       ],
    q(areba) => [
@@ -25804,7 +25810,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arequipa-la union quechua) => [
-      q(5730),
+      q(5732),
       q(0),
       ],
    q(argentine sign language) => [
@@ -25836,11 +25842,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aribwatsa) => [
-      q(3810),
+      q(3812),
       q(0),
       ],
    q(aribwaung) => [
-      q(7684),
+      q(7686),
       q(0),
       ],
    q(arifama-miniafia) => [
@@ -25864,11 +25870,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arin) => [
-      q(7481),
+      q(7483),
       q(0),
       ],
    q(aringa) => [
-      q(4075),
+      q(4077),
       q(0),
       ],
    q(arma) => [
@@ -25876,7 +25882,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(armazic) => [
-      q(7480),
+      q(7482),
       q(0),
       ],
    q(armenian) => [
@@ -25908,15 +25914,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(arpitan) => [
-      q(2373),
+      q(2374),
       q(0),
       ],
    q(arritinngithigh) => [
-      q(5851),
+      q(5853),
       q(0),
       ],
    q(arta) => [
-      q(0931),
+      q(0932),
       q(0),
       ],
    q(artificial languages) => [
@@ -25932,11 +25938,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(aruamu) => [
-      q(4551),
+      q(4553),
       q(0),
       ],
    q(aruek) => [
-      q(0947),
+      q(0948),
       q(0),
       ],
    q(arumanian) => [
@@ -25944,11 +25950,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(aruop) => [
-      q(4064),
+      q(4066),
       q(0),
       ],
    q(arutani) => [
-      q(0929),
+      q(0930),
       q(0),
       ],
    q(arvanitika albanian) => [
@@ -25960,7 +25966,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(asaro'o) => [
-      q(4574),
+      q(4576),
       q(0),
       ],
    q(asas) => [
@@ -25968,7 +25974,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ashaninka) => [
-      q(1799),
+      q(1800),
       q(0),
       ],
    q(ashe) => [
@@ -25976,11 +25982,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(asheninka pajonal) => [
-      q(1749),
+      q(1750),
       q(0),
       ],
    q(asheninka perene) => [
-      q(5598),
+      q(5600),
       q(0),
       ],
    q(ashkun) => [
@@ -25988,7 +25994,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(asho chin) => [
-      q(1871),
+      q(1872),
       q(0),
       ],
    q(ashtiani) => [
@@ -26000,7 +26006,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(askopan) => [
-      q(2229),
+      q(2230),
       q(0),
       ],
    q(asoa) => [
@@ -26012,11 +26018,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(assan) => [
-      q(7501),
+      q(7503),
       q(0),
       ],
    q(assangori) => [
-      q(6057),
+      q(6059),
       q(0),
       ],
    q(assiniboine) => [
@@ -26036,7 +26042,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(3),
       ],
    q(asu (nigeria)) => [
-      q(0942),
+      q(0943),
       q(0),
       ],
    q(asu (tanzania)) => [
@@ -26044,15 +26050,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(asue awyu) => [
-      q(5607),
+      q(5609),
       q(0),
       ],
    q(asumboa) => [
-      q(0932),
+      q(0933),
       q(0),
       ],
    q(asuncion mixtepec zapotec) => [
-      q(7908),
+      q(7910),
       q(0),
       ],
    q(asuri) => [
@@ -26076,11 +26082,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(atatlahuca mixtec) => [
-      q(4298),
+      q(4300),
       q(0),
       ],
    q(atayal) => [
-      q(6376),
+      q(6378),
       q(0),
       ],
    q(atemble) => [
@@ -26111,7 +26117,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0862),
       q(0),
       ],
-   q(atong) => [
+   q(atong (cameroon)) => [
+      q(0921),
+      q(0),
+      ],
+   q(atong (india)) => [
       q(0830),
       q(0),
       ],
@@ -26124,15 +26134,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(atsam) => [
-      q(1684),
+      q(1685),
       q(0),
       ],
    q(atsugewi) => [
-      q(0928),
+      q(0929),
       q(0),
       ],
    q(attapady kurumba) => [
-      q(5480),
+      q(5482),
       q(0),
       ],
    q(attie) => [
@@ -26140,31 +26150,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(atzingo matlatzinca) => [
-      q(5198),
+      q(5200),
       q(0),
       ],
    q(au) => [
-      q(0963),
+      q(0964),
       q(0),
       ],
    q(aulua) => [
-      q(0941),
+      q(0942),
       q(0),
       ],
    q(aura) => [
-      q(0951),
+      q(0952),
       q(0),
       ],
    q(aushi) => [
-      q(0937),
+      q(0938),
       q(0),
       ],
    q(aushiri) => [
-      q(0962),
+      q(0963),
       q(0),
       ],
    q(austral) => [
-      q(0948),
+      q(0949),
       q(0),
       ],
    q(australian aborigines sign language) => [
@@ -26192,23 +26202,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(auwe) => [
-      q(6117),
+      q(6119),
       q(0),
       ],
    q(auye) => [
-      q(0949),
+      q(0950),
       q(0),
       ],
    q(auyokawa) => [
-      q(0944),
+      q(0945),
       q(0),
       ],
    q(ava guarani) => [
-      q(4861),
+      q(4863),
       q(1),
       ],
    q(ava-canoeiro) => [
-      q(0965),
+      q(0966),
       q(0),
       ],
    q(avaric) => [
@@ -26216,15 +26226,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(avatime) => [
-      q(0960),
+      q(0961),
       q(0),
       ],
    q(avau) => [
-      q(0954),
+      q(0955),
       q(0),
       ],
    q(avava) => [
-      q(6586),
+      q(6588),
       q(1),
       ],
    q(avestan) => [
@@ -26232,31 +26242,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(avikam) => [
-      q(0956),
+      q(0957),
       q(0),
       ],
    q(avokaya) => [
-      q(0964),
+      q(0965),
       q(0),
       ],
    q(awa (china)) => [
-      q(7053),
+      q(7055),
       q(0),
       ],
    q(awa (papua new guinea)) => [
-      q(0966),
+      q(0967),
       q(0),
       ],
    q(awa-cuaiquer) => [
-      q(3699),
+      q(3701),
       q(0),
       ],
    q(awabakal) => [
-      q(0972),
+      q(0973),
       q(0),
       ],
    q(awad bing) => [
-      q(1083),
+      q(1084),
       q(0),
       ],
    q(awadhi) => [
@@ -26264,63 +26274,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(awak) => [
-      q(0975),
+      q(0976),
       q(0),
       ],
    q(awar) => [
-      q(0991),
+      q(0992),
       q(0),
       ],
    q(awara) => [
-      q(0982),
+      q(0983),
       q(0),
       ],
    q(awbono) => [
-      q(0970),
+      q(0971),
       q(0),
       ],
    q(aweer) => [
-      q(1352),
+      q(1353),
       q(0),
       ],
    q(awera) => [
-      q(0976),
+      q(0977),
       q(0),
       ],
    q(aweti) => [
-      q(0968),
+      q(0969),
       q(0),
       ],
    q(awing) => [
-      q(1018),
+      q(1019),
       q(0),
       ],
    q(awiyaana) => [
-      q(0952),
+      q(0953),
       q(0),
       ],
    q(awjilah) => [
-      q(0939),
+      q(0940),
       q(0),
       ],
    q(awngi) => [
-      q(0974),
+      q(0975),
       q(0),
       ],
    q(awngthim) => [
-      q(2686),
+      q(2687),
       q(0),
       ],
    q(awtuw) => [
-      q(3465),
+      q(3467),
       q(0),
       ],
    q(awu) => [
-      q(7658),
+      q(7660),
       q(0),
       ],
    q(awun) => [
-      q(0981),
+      q(0982),
       q(0),
       ],
    q(awutu) => [
@@ -26328,7 +26338,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(awyi) => [
-      q(0950),
+      q(0951),
       q(0),
       ],
    q(axamb) => [
@@ -26336,47 +26346,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(axi yi) => [
-      q(7660),
+      q(7662),
       q(0),
       ],
    q(ayabadhu) => [
-      q(0994),
+      q(0995),
       q(0),
       ],
    q(ayacucho quechua) => [
-      q(5696),
+      q(5698),
       q(0),
       ],
    q(ayangan ifugao) => [
-      q(2912),
+      q(2913),
       q(1),
       ],
    q(ayautla mazatec) => [
-      q(7037),
+      q(7039),
       q(0),
       ],
    q(ayere) => [
-      q(0995),
+      q(0996),
       q(0),
       ],
    q(ayerrerenge) => [
-      q(0985),
+      q(0986),
       q(0),
       ],
    q(ayi (papua new guinea)) => [
-      q(1004),
+      q(1005),
       q(0),
       ],
    q(ayiwo) => [
-      q(4830),
+      q(4832),
       q(0),
       ],
    q(ayizi) => [
-      q(7800),
+      q(7802),
       q(0),
       ],
    q(ayizo gbe) => [
-      q(0992),
+      q(0993),
       q(0),
       ],
    q(aymara) => [
@@ -26384,19 +26394,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ayoquesco zapotec) => [
-      q(7808),
+      q(7810),
       q(0),
       ],
    q(ayoreo) => [
-      q(1002),
+      q(1003),
       q(0),
       ],
    q(ayu) => [
-      q(1008),
+      q(1009),
       q(0),
       ],
    q(ayutla mixtec) => [
-      q(4317),
+      q(4319),
       q(0),
       ],
    q(azerbaijani) => [
@@ -26404,59 +26414,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(azha) => [
-      q(1011),
+      q(1012),
       q(0),
       ],
    q(azhe) => [
-      q(7661),
+      q(7663),
       q(0),
       ],
    q(azoyu me'phaa) => [
-      q(6655),
+      q(6657),
       q(0),
       ],
    q(azoyu tlapanec) => [
-      q(6655),
+      q(6657),
       q(1),
       ],
    q(baan) => [
-      q(1525),
+      q(1526),
       q(0),
       ],
    q(baangi) => [
-      q(1419),
+      q(1420),
       q(0),
       ],
    q(baatonum) => [
-      q(1037),
+      q(1038),
       q(0),
       ],
    q(baba) => [
-      q(1059),
+      q(1060),
       q(0),
       ],
    q(baba malay) => [
-      q(4131),
+      q(4133),
       q(0),
       ],
    q(babalia creole arabic) => [
-      q(1062),
+      q(1063),
       q(0),
       ],
    q(babango) => [
-      q(1049),
+      q(1050),
       q(0),
       ],
    q(babanki) => [
-      q(1047),
+      q(1048),
       q(0),
       ],
    q(babatana) => [
-      q(1021),
+      q(1022),
       q(0),
       ],
    q(babine) => [
-      q(1080),
+      q(1081),
       q(0),
       ],
    q(bable) => [
@@ -26464,159 +26474,159 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(babuza) => [
-      q(1618),
+      q(1619),
       q(0),
       ],
    q(bacama) => [
-      q(1086),
+      q(1087),
       q(0),
       ],
    q(bacanese malay) => [
-      q(1478),
+      q(1479),
       q(0),
       ],
    q(bactrian) => [
-      q(7292),
+      q(7294),
       q(0),
       ],
    q(bada (indonesia)) => [
-      q(1208),
+      q(1209),
       q(0),
       ],
    q(bada (nigeria)) => [
-      q(1032),
+      q(1033),
       q(0),
       ],
    q(badaga) => [
-      q(1151),
+      q(1152),
       q(0),
       ],
    q(bade) => [
-      q(1092),
+      q(1093),
       q(0),
       ],
    q(badeshi) => [
-      q(1113),
+      q(1114),
       q(0),
       ],
    q(badi kanum) => [
-      q(3333),
+      q(3335),
       q(0),
       ],
    q(badimaya) => [
-      q(1209),
+      q(1210),
       q(0),
       ],
    q(badjiri) => [
-      q(3060),
+      q(3061),
       q(0),
       ],
    q(badui) => [
-      q(1023),
+      q(1024),
       q(0),
       ],
    q(badyara) => [
-      q(5372),
+      q(5374),
       q(0),
       ],
    q(baeggu) => [
-      q(1519),
+      q(1520),
       q(0),
       ],
    q(baelelea) => [
-      q(1518),
+      q(1519),
       q(0),
       ],
    q(baetora) => [
-      q(1485),
+      q(1486),
       q(0),
       ],
    q(bafanji) => [
-      q(1144),
+      q(1145),
       q(0),
       ],
    q(bafaw-balong) => [
-      q(1560),
+      q(1561),
       q(0),
       ],
    q(bafia) => [
-      q(3597),
+      q(3599),
       q(0),
       ],
    q(bafut) => [
-      q(1138),
+      q(1139),
       q(0),
       ],
    q(baga binari) => [
-      q(1069),
+      q(1070),
       q(0),
       ],
    q(baga kaloum) => [
-      q(1401),
+      q(1402),
       q(0),
       ],
    q(baga koga) => [
-      q(1173),
+      q(1174),
       q(0),
       ],
    q(baga manduri) => [
-      q(1305),
+      q(1306),
       q(0),
       ],
    q(baga mboteni) => [
-      q(1171),
+      q(1172),
       q(0),
       ],
    q(baga sitemu) => [
-      q(1460),
+      q(1461),
       q(0),
       ],
    q(baga sobane) => [
-      q(1466),
+      q(1467),
       q(0),
       ],
    q(bagheli) => [
-      q(1158),
+      q(1159),
       q(0),
       ],
    q(bagirmi) => [
-      q(1310),
+      q(1311),
       q(0),
       ],
    q(bagirmi fulfulde) => [
-      q(2385),
+      q(2386),
       q(0),
       ],
    q(bago-kusuntu) => [
-      q(1402),
+      q(1403),
       q(0),
       ],
    q(bagri) => [
-      q(1175),
+      q(1176),
       q(0),
       ],
    q(bagupi) => [
-      q(1379),
+      q(1380),
       q(0),
       ],
    q(bagusa) => [
-      q(1398),
+      q(1399),
       q(0),
       ],
    q(bagvalal) => [
-      q(3665),
+      q(3667),
       q(0),
       ],
    q(baha buyang) => [
-      q(7640),
+      q(7642),
       q(0),
       ],
    q(baham) => [
-      q(1110),
+      q(1111),
       q(0),
       ],
    q(bahamas creole english) => [
-      q(1027),
+      q(1028),
       q(0),
       ],
    q(baharna arabic) => [
@@ -26624,155 +26634,155 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bahau) => [
-      q(1204),
+      q(1205),
       q(0),
       ],
    q(bahinemo) => [
-      q(1236),
+      q(1237),
       q(0),
       ],
    q(bahing) => [
-      q(1194),
+      q(1195),
       q(0),
       ],
    q(bahnar) => [
-      q(1104),
+      q(1105),
       q(0),
       ],
    q(bahonsuai) => [
-      q(1465),
+      q(1466),
       q(0),
       ],
    q(bai) => [
-      q(1097),
+      q(1098),
       q(0),
       ],
    q(baibai) => [
-      q(1042),
+      q(1043),
       q(0),
       ],
    q(baikeno) => [
-      q(1275),
+      q(1276),
       q(0),
       ],
    q(baima) => [
-      q(1403),
+      q(1404),
       q(0),
       ],
    q(baimak) => [
-      q(1325),
+      q(1326),
       q(0),
       ],
    q(bainouk-gunyaamolo) => [
-      q(1087),
+      q(1088),
       q(0),
       ],
    q(bainouk-gunyuno) => [
-      q(1022),
+      q(1023),
       q(0),
       ],
    q(bainouk-samik) => [
-      q(1064),
+      q(1065),
       q(0),
       ],
    q(baiso) => [
-      q(1467),
+      q(1468),
       q(0),
       ],
    q(baissa fali) => [
-      q(2326),
+      q(2327),
       q(0),
       ],
    q(bajan) => [
-      q(1246),
+      q(1247),
       q(0),
       ],
    q(bajelani) => [
-      q(1241),
+      q(1242),
       q(0),
       ],
    q(baka (cameroon)) => [
-      q(1255),
+      q(1256),
       q(0),
       ],
    q(baka (sudan)) => [
-      q(1095),
+      q(1096),
       q(0),
       ],
    q(bakairi) => [
-      q(1268),
+      q(1269),
       q(0),
       ],
    q(bakaka) => [
-      q(1421),
+      q(1422),
       q(0),
       ],
    q(bakhtiari) => [
-      q(1404),
+      q(1405),
       q(0),
       ],
    q(baki) => [
-      q(1260),
+      q(1261),
       q(0),
       ],
    q(bakoko) => [
-      q(1259),
+      q(1260),
       q(0),
       ],
    q(bakole) => [
-      q(3456),
+      q(3458),
       q(0),
       ],
    q(bakpinka) => [
-      q(1055),
+      q(1056),
       q(0),
       ],
    q(bakumpai) => [
-      q(1269),
+      q(1270),
       q(0),
       ],
    q(bakwe) => [
-      q(1250),
+      q(1251),
       q(0),
       ],
    q(balaesang) => [
-      q(1295),
+      q(1296),
       q(0),
       ],
    q(balangao) => [
-      q(1298),
+      q(1299),
       q(0),
       ],
    q(balangingi) => [
-      q(6231),
+      q(6233),
       q(0),
       ],
    q(balanta-ganja) => [
-      q(1247),
+      q(1248),
       q(0),
       ],
    q(balanta-kentohe) => [
-      q(1281),
+      q(1282),
       q(0),
       ],
    q(balantak) => [
-      q(1301),
+      q(1302),
       q(0),
       ],
    q(balau) => [
-      q(1283),
+      q(1284),
       q(0),
       ],
    q(baldemu) => [
-      q(1101),
+      q(1102),
       q(0),
       ],
    q(bali (democratic republic of congo)) => [
-      q(1078),
+      q(1079),
       q(0),
       ],
    q(bali (nigeria)) => [
-      q(1076),
+      q(1077),
       q(0),
       ],
    q(balinese) => [
@@ -26780,27 +26790,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(balinese malay) => [
-      q(4287),
+      q(4289),
       q(0),
       ],
    q(balkan gagauz turkish) => [
-      q(1182),
+      q(1183),
       q(0),
       ],
    q(balkan romani) => [
-      q(5815),
+      q(5817),
       q(0),
       ],
    q(balo) => [
-      q(1410),
+      q(1411),
       q(0),
       ],
    q(baloi) => [
-      q(1229),
+      q(1230),
       q(0),
       ],
    q(balti) => [
-      q(1154),
+      q(1155),
       q(0),
       ],
    q(baltic languages) => [
@@ -26808,11 +26818,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(baltic romani) => [
-      q(5813),
+      q(5815),
       q(0),
       ],
    q(baluan-pam) => [
-      q(1293),
+      q(1294),
       q(0),
       ],
    q(baluchi) => [
@@ -26820,19 +26830,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bamako sign language) => [
-      q(1355),
+      q(1356),
       q(0),
       ],
    q(bamali) => [
-      q(1053),
+      q(1054),
       q(0),
       ],
    q(bambalang) => [
-      q(1316),
+      q(1317),
       q(0),
       ],
    q(bambam) => [
-      q(5635),
+      q(5637),
       q(0),
       ],
    q(bambara) => [
@@ -26840,15 +26850,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bambassi) => [
-      q(4675),
+      q(4677),
       q(0),
       ],
    q(bambili-bambui) => [
-      q(1034),
+      q(1035),
       q(0),
       ],
    q(bamenyam) => [
-      q(1067),
+      q(1068),
       q(0),
       ],
    q(bamileke languages) => [
@@ -26856,47 +26866,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bamu) => [
-      q(1068),
+      q(1069),
       q(0),
       ],
    q(bamukumbit) => [
-      q(1415),
+      q(1416),
       q(0),
       ],
    q(bamun) => [
-      q(1035),
+      q(1036),
       q(0),
       ],
    q(bamunka) => [
-      q(1528),
+      q(1529),
       q(0),
       ],
    q(bamwe) => [
-      q(1308),
+      q(1309),
       q(0),
       ],
    q(ban khor sign language) => [
-      q(1145),
+      q(1146),
       q(0),
       ],
    q(bana) => [
-      q(1085),
+      q(1086),
       q(0),
       ],
    q(banam bay) => [
-      q(7045),
+      q(7047),
       q(1),
       ],
    q(banao itneg) => [
-      q(1251),
+      q(1252),
       q(0),
       ],
    q(banaro) => [
-      q(1611),
+      q(1612),
       q(0),
       ],
    q(banda (indonesia)) => [
-      q(1330),
+      q(1331),
       q(0),
       ],
    q(banda languages) => [
@@ -26904,111 +26914,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(banda malay) => [
-      q(1387),
+      q(1388),
       q(0),
       ],
    q(banda-bambari) => [
-      q(3928),
+      q(3930),
       q(0),
       ],
    q(banda-banda) => [
-      q(1376),
+      q(1377),
       q(0),
       ],
    q(banda-mbres) => [
-      q(1406),
+      q(1407),
       q(0),
       ],
    q(banda-ndele) => [
-      q(1146),
+      q(1147),
       q(0),
       ],
    q(banda-yangere) => [
-      q(7582),
+      q(7584),
       q(0),
       ],
    q(bandi) => [
-      q(1612),
+      q(1613),
       q(0),
       ],
    q(bandial) => [
-      q(1405),
+      q(1406),
       q(0),
       ],
    q(bandjalang) => [
-      q(1112),
+      q(1113),
       q(0),
       ],
    q(bangala) => [
-      q(1572),
+      q(1573),
       q(0),
       ],
    q(bangandu) => [
-      q(1165),
+      q(1166),
       q(0),
       ],
    q(bangba) => [
-      q(1041),
+      q(1042),
       q(0),
       ],
    q(banggai) => [
-      q(1184),
+      q(1185),
       q(0),
       ],
    q(banggarla) => [
-      q(1231),
+      q(1232),
       q(0),
       ],
    q(bangi) => [
-      q(1334),
+      q(1335),
       q(0),
       ],
    q(bangime) => [
-      q(1955),
+      q(1956),
       q(0),
       ],
    q(bangingih sama) => [
-      q(6231),
+      q(6233),
       q(1),
       ],
    q(bangka) => [
-      q(4224),
+      q(4226),
       q(0),
       ],
    q(bangolan) => [
-      q(1168),
+      q(1169),
       q(0),
       ],
    q(bangubangu) => [
-      q(1348),
+      q(1349),
       q(0),
       ],
    q(bangwinji) => [
-      q(1454),
+      q(1455),
       q(0),
       ],
    q(baniva) => [
-      q(1536),
+      q(1537),
       q(0),
       ],
    q(baniwa) => [
-      q(1549),
+      q(1550),
       q(0),
       ],
    q(banjar) => [
-      q(1242),
+      q(1243),
       q(0),
       ],
    q(bankagooma) => [
-      q(1587),
+      q(1588),
       q(0),
       ],
    q(bankal) => [
-      q(3107),
+      q(3108),
       q(0),
       ],
    q(bankan tey dogon) => [
-      q(1973),
+      q(1974),
       q(0),
       ],
    q(bankon) => [
@@ -27016,23 +27026,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bannoni) => [
-      q(1075),
+      q(1076),
       q(0),
       ],
    q(bantawa) => [
-      q(1030),
+      q(1031),
       q(0),
       ],
    q(bantayanon) => [
-      q(1157),
+      q(1158),
       q(0),
       ],
    q(bantik) => [
-      q(1342),
+      q(1343),
       q(0),
       ],
    q(bantoanon) => [
-      q(1340),
+      q(1341),
       q(0),
       ],
    q(bantu (other)) => [
@@ -27044,139 +27054,139 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(baoule) => [
-      q(1071),
+      q(1072),
       q(0),
       ],
    q(bara malagasy) => [
-      q(1200),
+      q(1201),
       q(0),
       ],
    q(baraamu) => [
-      q(1424),
+      q(1425),
       q(0),
       ],
    q(barababaraba) => [
-      q(5759),
+      q(5761),
       q(0),
       ],
    q(barai) => [
-      q(1038),
+      q(1039),
       q(0),
       ],
    q(barakai) => [
-      q(1028),
+      q(1029),
       q(0),
       ],
    q(baram kayan) => [
-      q(3758),
+      q(3760),
       q(0),
       ],
    q(barama) => [
-      q(1043),
+      q(1044),
       q(0),
       ],
    q(barambu) => [
-      q(1432),
+      q(1433),
       q(0),
       ],
    q(baramu) => [
-      q(1326),
+      q(1327),
       q(0),
       ],
    q(barapasi) => [
-      q(1435),
+      q(1436),
       q(0),
       ],
    q(baras) => [
-      q(1438),
+      q(1439),
       q(0),
       ],
    q(barasana-eduria) => [
-      q(1458),
+      q(1459),
       q(0),
       ],
    q(barbacoas) => [
-      q(1375),
+      q(1376),
       q(0),
       ],
    q(barbaram) => [
-      q(7017),
+      q(7019),
       q(0),
       ],
    q(barbareno) => [
-      q(1357),
+      q(1358),
       q(0),
       ],
    q(barclayville grebo) => [
-      q(2629),
+      q(2630),
       q(0),
       ],
    q(bardi) => [
-      q(1072),
+      q(1073),
       q(0),
       ],
    q(bare) => [
-      q(1024),
+      q(1025),
       q(0),
       ],
    q(barein) => [
-      q(1516),
+      q(1517),
       q(0),
       ],
    q(bargam) => [
-      q(4379),
+      q(4381),
       q(0),
       ],
    q(bari) => [
-      q(1135),
+      q(1136),
       q(0),
       ],
    q(bariai) => [
-      q(1070),
+      q(1071),
       q(0),
       ],
    q(bariji) => [
-      q(1232),
+      q(1233),
       q(0),
       ],
    q(barikanchi) => [
-      q(1580),
+      q(1581),
       q(0),
       ],
    q(barikewa) => [
-      q(3062),
+      q(3063),
       q(0),
       ],
    q(barok) => [
-      q(1239),
+      q(1240),
       q(0),
       ],
    q(barombi) => [
-      q(1045),
+      q(1046),
       q(0),
       ],
    q(barro negro tunebo) => [
-      q(6391),
+      q(6393),
       q(0),
       ],
    q(barrow point) => [
-      q(1390),
+      q(1391),
       q(0),
       ],
    q(baruga) => [
-      q(1253),
+      q(1254),
       q(0),
       ],
    q(baruya) => [
-      q(1605),
+      q(1606),
       q(0),
       ],
    q(barwe) => [
-      q(1547),
+      q(1548),
       q(0),
       ],
    q(barzani jewish neo-aramaic) => [
-      q(1234),
+      q(1235),
       q(0),
       ],
    q(basa) => [
@@ -27188,27 +27198,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(basa (nigeria)) => [
-      q(1634),
+      q(1635),
       q(0),
       ],
    q(basa-gumna) => [
-      q(1456),
+      q(1457),
       q(0),
       ],
    q(basa-gurmana) => [
-      q(1501),
+      q(1502),
       q(0),
       ],
    q(basap) => [
-      q(1089),
+      q(1090),
       q(0),
       ],
    q(basay) => [
-      q(1604),
+      q(1605),
       q(0),
       ],
    q(bashkardi) => [
-      q(1451),
+      q(1452),
       q(0),
       ],
    q(bashkir) => [
@@ -27216,7 +27226,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(basketo) => [
-      q(1464),
+      q(1465),
       q(0),
       ],
    q(basque) => [
@@ -27228,35 +27238,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bassa) => [
-      q(1461),
+      q(1462),
       q(0),
       ],
    q(bassa-kontagora) => [
-      q(1462),
+      q(1463),
       q(0),
       ],
    q(bassari) => [
-      q(1448),
+      q(1449),
       q(0),
       ],
    q(bassossi) => [
-      q(1453),
+      q(1454),
       q(0),
       ],
    q(bata) => [
-      q(1470),
+      q(1471),
       q(0),
       ],
    q(batad ifugao) => [
-      q(2912),
+      q(2913),
       q(0),
       ],
    q(batak) => [
-      q(1589),
+      q(1590),
       q(0),
       ],
    q(batak alas-kluet) => [
-      q(1493),
+      q(1494),
       q(0),
       ],
    q(batak angkola) => [
@@ -27264,11 +27274,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(batak dairi) => [
-      q(1472),
+      q(1473),
       q(0),
       ],
    q(batak karo) => [
-      q(1491),
+      q(1492),
       q(0),
       ],
    q(batak languages) => [
@@ -27276,151 +27286,151 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(batak mandailing) => [
-      q(1480),
+      q(1481),
       q(0),
       ],
    q(batak simalungun) => [
-      q(1486),
+      q(1487),
       q(0),
       ],
    q(batak toba) => [
-      q(1039),
+      q(1040),
       q(0),
       ],
    q(batanga) => [
-      q(1338),
+      q(1339),
       q(0),
       ],
    q(batek) => [
-      q(1484),
+      q(1485),
       q(0),
       ],
    q(bateri) => [
-      q(1489),
+      q(1490),
       q(0),
       ],
    q(bathari) => [
-      q(1196),
+      q(1197),
       q(0),
       ],
    q(bati (cameroon)) => [
-      q(1471),
+      q(1472),
       q(0),
       ],
    q(bati (indonesia)) => [
-      q(1534),
+      q(1535),
       q(0),
       ],
    q(bats) => [
-      q(1048),
+      q(1049),
       q(0),
       ],
    q(batu) => [
-      q(1488),
+      q(1489),
       q(0),
       ],
    q(batui) => [
-      q(7829),
+      q(7831),
       q(0),
       ],
    q(batuley) => [
-      q(1036),
+      q(1037),
       q(0),
       ],
    q(batyala) => [
-      q(7305),
+      q(7307),
       q(0),
       ],
    q(bau) => [
-      q(1040),
+      q(1041),
       q(0),
       ],
    q(bau bidayuh) => [
-      q(6135),
+      q(6137),
       q(0),
       ],
    q(bauchi) => [
-      q(1450),
+      q(1451),
       q(0),
       ],
    q(baure) => [
-      q(1426),
+      q(1427),
       q(0),
       ],
    q(bauria) => [
-      q(1164),
+      q(1165),
       q(0),
       ],
    q(bauwaki) => [
-      q(1551),
+      q(1552),
       q(0),
       ],
    q(bauzi) => [
-      q(1540),
+      q(1541),
       q(0),
       ],
    q(bavarian) => [
-      q(1031),
+      q(1032),
       q(0),
       ],
    q(bawm chin) => [
-      q(1176),
+      q(1177),
       q(0),
       ],
    q(bay miwok) => [
-      q(4356),
+      q(4358),
       q(0),
       ],
    q(bayali) => [
-      q(1252),
+      q(1253),
       q(0),
       ],
    q(baybayanon) => [
-      q(1539),
+      q(1540),
       q(0),
       ],
    q(baygo) => [
-      q(1595),
+      q(1596),
       q(0),
       ],
    q(bayono) => [
-      q(1600),
+      q(1601),
       q(0),
       ],
    q(bayot) => [
-      q(1088),
+      q(1089),
       q(0),
       ],
    q(bayungu) => [
-      q(1575),
+      q(1576),
       q(0),
       ],
    q(bazigar) => [
-      q(1152),
+      q(1153),
       q(0),
       ],
    q(beami) => [
-      q(1124),
+      q(1125),
       q(0),
       ],
    q(beaver) => [
-      q(1114),
+      q(1115),
       q(0),
       ],
    q(beba) => [
-      q(1150),
+      q(1151),
       q(0),
       ],
    q(bebele) => [
-      q(1115),
+      q(1116),
       q(0),
       ],
    q(bebeli) => [
-      q(1123),
+      q(1124),
       q(0),
       ],
    q(bebil) => [
-      q(1581),
+      q(1582),
       q(0),
       ],
    q(bedawiyet) => [
@@ -27428,35 +27438,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(bedjond) => [
-      q(1249),
+      q(1250),
       q(0),
       ],
    q(bedoanas) => [
-      q(1117),
+      q(1118),
       q(0),
       ],
    q(beeke) => [
-      q(1257),
+      q(1258),
       q(0),
       ],
    q(beele) => [
-      q(1582),
+      q(1583),
       q(0),
       ],
    q(beembe) => [
-      q(1126),
+      q(1127),
       q(0),
       ],
    q(beezen) => [
-      q(1350),
+      q(1351),
       q(0),
       ],
    q(befang) => [
-      q(1061),
+      q(1062),
       q(0),
       ],
    q(begbere-ejar) => [
-      q(1417),
+      q(1418),
       q(1),
       ],
    q(beja) => [
@@ -27464,27 +27474,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bekati') => [
-      q(1122),
+      q(1123),
       q(0),
       ],
    q(bekwarra) => [
-      q(1273),
+      q(1274),
       q(0),
       ],
    q(bekwel) => [
-      q(1274),
+      q(1275),
       q(0),
       ],
    q(belait) => [
-      q(1120),
+      q(1121),
       q(0),
       ],
    q(belanda bor) => [
-      q(1567),
+      q(1568),
       q(0),
       ],
    q(belanda viri) => [
-      q(1524),
+      q(1525),
       q(0),
       ],
    q(belarusian) => [
@@ -27492,27 +27502,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(belhariya) => [
-      q(1609),
+      q(1610),
       q(0),
       ],
    q(beli (papua new guinea)) => [
-      q(1133),
+      q(1134),
       q(0),
       ],
    q(beli (sudan)) => [
-      q(1289),
+      q(1290),
       q(0),
       ],
    q(belize kriol english) => [
-      q(1621),
+      q(1622),
       q(0),
       ],
    q(bella coola) => [
-      q(1279),
+      q(1280),
       q(0),
       ],
    q(bellari) => [
-      q(1442),
+      q(1443),
       q(0),
       ],
    q(bemba) => [
@@ -27524,47 +27534,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(bembe) => [
-      q(1303),
+      q(1304),
       q(0),
       ],
    q(ben tey dogon) => [
-      q(1970),
+      q(1971),
       q(0),
       ],
    q(bena (nigeria)) => [
-      q(7772),
+      q(7774),
       q(0),
       ],
    q(bena (tanzania)) => [
-      q(1134),
+      q(1135),
       q(0),
       ],
    q(benabena) => [
-      q(1119),
+      q(1120),
       q(0),
       ],
    q(bench) => [
-      q(1079),
+      q(1080),
       q(0),
       ],
    q(bende) => [
-      q(1103),
+      q(1104),
       q(0),
       ],
    q(bendi) => [
-      q(1082),
+      q(1083),
       q(0),
       ],
    q(beneraf) => [
-      q(1346),
+      q(1347),
       q(1),
       ],
    q(beng) => [
-      q(4859),
+      q(4861),
       q(0),
       ],
    q(benga) => [
-      q(1333),
+      q(1334),
       q(0),
       ],
    q(bengali) => [
@@ -27572,39 +27582,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(benggoi) => [
-      q(1183),
+      q(1184),
       q(0),
       ],
    q(bengkala sign language) => [
-      q(1420),
+      q(1421),
       q(0),
       ],
    q(bentong) => [
-      q(1345),
+      q(1346),
       q(0),
       ],
    q(benyadu') => [
-      q(1592),
+      q(1593),
       q(0),
       ],
    q(beothuk) => [
-      q(1497),
+      q(1498),
       q(0),
       ],
    q(bepour) => [
-      q(1213),
+      q(1214),
       q(0),
       ],
    q(bera) => [
-      q(1425),
+      q(1426),
       q(0),
       ],
    q(berakou) => [
-      q(1586),
+      q(1587),
       q(0),
       ],
    q(berau malay) => [
-      q(1520),
+      q(1521),
       q(0),
       ],
    q(berber languages) => [
@@ -27612,107 +27622,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(berbice creole dutch) => [
-      q(1423),
+      q(1424),
       q(0),
       ],
    q(berik) => [
-      q(1263),
+      q(1264),
       q(0),
       ],
    q(berinomo) => [
-      q(1223),
+      q(1224),
       q(0),
       ],
    q(berom) => [
-      q(1361),
+      q(1362),
       q(0),
       ],
    q(berta) => [
-      q(7240),
+      q(7242),
       q(0),
       ],
    q(berti) => [
-      q(1607),
+      q(1608),
       q(0),
       ],
    q(besisi) => [
-      q(4277),
+      q(4279),
       q(0),
       ],
    q(besme) => [
-      q(1127),
+      q(1128),
       q(0),
       ],
    q(besoa) => [
-      q(1125),
+      q(1126),
       q(0),
       ],
    q(betaf) => [
-      q(1139),
+      q(1140),
       q(0),
       ],
    q(betawi) => [
-      q(1131),
+      q(1132),
       q(0),
       ],
    q(bete) => [
-      q(1594),
+      q(1595),
       q(0),
       ],
    q(bete-bendi) => [
-      q(1487),
+      q(1488),
       q(0),
       ],
    q(beti (cote d'ivoire)) => [
-      q(2278),
+      q(2279),
       q(0),
       ],
    q(betta kurumba) => [
-      q(7529),
+      q(7531),
       q(0),
       ],
    q(bezhta) => [
-      q(3178),
+      q(3180),
       q(0),
       ],
    q(bhadrawahi) => [
-      q(1188),
+      q(1189),
       q(0),
       ],
    q(bhalay) => [
-      q(1206),
+      q(1207),
       q(0),
       ],
    q(bharia) => [
-      q(1185),
+      q(1186),
       q(0),
       ],
    q(bhatola) => [
-      q(1479),
+      q(1480),
       q(0),
       ],
    q(bhatri) => [
-      q(1181),
+      q(1182),
       q(0),
       ],
    q(bhattiyali) => [
-      q(1202),
+      q(1203),
       q(0),
       ],
    q(bhaya) => [
-      q(1189),
+      q(1190),
       q(0),
       ],
    q(bhele) => [
-      q(1207),
+      q(1208),
       q(0),
       ],
    q(bhilali) => [
-      q(1193),
+      q(1194),
       q(0),
       ],
    q(bhili) => [
-      q(1186),
+      q(1187),
       q(0),
       ],
    q(bhojpuri) => [
@@ -27720,103 +27730,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bhoti kinnauri) => [
-      q(4821),
+      q(4823),
       q(0),
       ],
    q(bhujel) => [
-      q(1596),
+      q(1597),
       q(0),
       ],
    q(bhunjia) => [
-      q(1203),
+      q(1204),
       q(0),
       ],
    q(biafada) => [
-      q(1214),
+      q(1215),
       q(0),
       ],
    q(biage) => [
-      q(1093),
+      q(1094),
       q(0),
       ],
    q(biak) => [
-      q(1205),
+      q(1206),
       q(0),
       ],
    q(biali) => [
-      q(1121),
+      q(1122),
       q(0),
       ],
    q(bian marind) => [
-      q(1392),
+      q(1393),
       q(0),
       ],
    q(biangai) => [
-      q(1215),
+      q(1216),
       q(0),
       ],
    q(biao) => [
-      q(1599),
+      q(1600),
       q(0),
       ],
    q(biao mon) => [
-      q(1321),
+      q(1322),
       q(0),
       ],
    q(biao-jiao mien) => [
-      q(1233),
+      q(1234),
       q(0),
       ],
    q(biatah bidayuh) => [
-      q(1476),
+      q(1477),
       q(0),
       ],
    q(bibbulman) => [
-      q(7301),
+      q(7303),
       q(0),
       ],
    q(bidhawal) => [
-      q(2931),
+      q(2932),
       q(0),
       ],
    q(bidiyo) => [
-      q(1212),
+      q(1213),
       q(0),
       ],
    q(bidyara) => [
-      q(1601),
+      q(1602),
       q(0),
       ],
    q(bidyogo) => [
-      q(1235),
+      q(1236),
       q(0),
       ],
    q(biem) => [
-      q(1304),
+      q(1305),
       q(0),
       ],
    q(bierebo) => [
-      q(1336),
+      q(1337),
       q(0),
       ],
    q(bieria) => [
-      q(1429),
+      q(1430),
       q(0),
       ],
    q(biete) => [
-      q(1224),
+      q(1225),
       q(0),
       ],
    q(big nambas) => [
-      q(4961),
+      q(4963),
       q(0),
       ],
    q(biga) => [
-      q(1187),
+      q(1188),
       q(0),
       ],
    q(bigambal) => [
-      q(7294),
+      q(7296),
       q(0),
       ],
    q(bihari languages) => [
@@ -27824,11 +27834,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bijori) => [
-      q(1227),
+      q(1228),
       q(0),
       ],
    q(bikaru) => [
-      q(1211),
+      q(1212),
       q(0),
       ],
    q(bikol) => [
@@ -27836,31 +27846,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bikya) => [
-      q(1590),
+      q(1591),
       q(0),
       ],
    q(bila) => [
-      q(1220),
+      q(1221),
       q(0),
       ],
    q(bilakura) => [
-      q(1407),
+      q(1408),
       q(0),
       ],
    q(bilaspuri) => [
-      q(3299),
+      q(3301),
       q(0),
       ],
    q(bilba) => [
-      q(1396),
+      q(1397),
       q(0),
       ],
    q(bilbil) => [
-      q(1445),
+      q(1446),
       q(0),
       ],
    q(bile) => [
-      q(1217),
+      q(1218),
       q(0),
       ],
    q(bilin) => [
@@ -27868,55 +27878,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(bilma kanuri) => [
-      q(1320),
+      q(1321),
       q(0),
       ],
    q(biloxi) => [
-      q(1288),
+      q(1289),
       q(0),
       ],
    q(bilua) => [
-      q(1278),
+      q(1279),
       q(0),
       ],
    q(bilur) => [
-      q(1571),
+      q(1572),
       q(0),
       ],
    q(bima) => [
-      q(1198),
+      q(1199),
       q(0),
       ],
    q(bimin) => [
-      q(1195),
+      q(1196),
       q(0),
       ],
    q(bimoba) => [
-      q(1218),
+      q(1219),
       q(0),
       ],
    q(bina (nigeria)) => [
-      q(1598),
+      q(1599),
       q(0),
       ],
    q(bina (papua new guinea)) => [
-      q(1315),
+      q(1316),
       q(0),
       ],
    q(binahari) => [
-      q(1588),
+      q(1589),
       q(0),
       ],
    q(binandere) => [
-      q(1191),
+      q(1192),
       q(0),
       ],
    q(bindal) => [
-      q(7293),
+      q(7295),
       q(0),
       ],
    q(bine) => [
-      q(1362),
+      q(1363),
       q(0),
       ],
    q(bini) => [
@@ -27924,91 +27934,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(binji) => [
-      q(1380),
+      q(1381),
       q(0),
       ],
    q(binongan itneg) => [
-      q(3009),
+      q(3010),
       q(0),
       ],
    q(bintauna) => [
-      q(1331),
+      q(1332),
       q(0),
       ],
    q(bintulu) => [
-      q(1349),
+      q(1350),
       q(0),
       ],
    q(binukid) => [
-      q(1256),
+      q(1257),
       q(0),
       ],
    q(binumarien) => [
-      q(1245),
+      q(1246),
       q(0),
       ],
    q(bipi) => [
-      q(1221),
+      q(1222),
       q(0),
       ],
    q(birale) => [
-      q(1570),
+      q(1571),
       q(0),
       ],
    q(birao) => [
-      q(1437),
+      q(1438),
       q(0),
       ],
    q(birgit) => [
-      q(1474),
+      q(1475),
       q(0),
       ],
    q(birhor) => [
-      q(1228),
+      q(1229),
       q(0),
       ],
    q(biri) => [
-      q(1629),
+      q(1630),
       q(0),
       ],
    q(biritai) => [
-      q(1412),
+      q(1413),
       q(0),
       ],
    q(birked) => [
-      q(1430),
+      q(1431),
       q(0),
       ],
    q(birri) => [
-      q(1532),
+      q(1533),
       q(0),
       ],
    q(birrpayi) => [
-      q(7297),
+      q(7299),
       q(0),
       ],
    q(birwa) => [
-      q(1431),
+      q(1432),
       q(0),
       ],
    q(bisa) => [
-      q(1210),
+      q(1211),
       q(1),
       ],
    q(biseni) => [
-      q(2934),
+      q(2935),
       q(0),
       ],
    q(bishnupriya) => [
-      q(1395),
+      q(1396),
       q(0),
       ],
    q(bishuo) => [
-      q(1548),
+      q(1549),
       q(0),
       ],
    q(bisis) => [
-      q(1347),
+      q(1348),
       q(0),
       ],
    q(bislama) => [
@@ -28016,55 +28026,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bisorio) => [
-      q(1222),
+      q(1223),
       q(0),
       ],
    q(bissa) => [
-      q(1210),
+      q(1211),
       q(0),
       ],
    q(bisu) => [
-      q(1620),
+      q(1621),
       q(0),
       ],
    q(bit) => [
-      q(1169),
+      q(1170),
       q(0),
       ],
    q(bitare) => [
-      q(1439),
+      q(1440),
       q(0),
       ],
    q(bitur) => [
-      q(4153),
+      q(4155),
       q(0),
       ],
    q(biwat) => [
-      q(1553),
+      q(1554),
       q(0),
       ],
    q(biyo) => [
-      q(1602),
+      q(1603),
       q(0),
       ],
    q(biyom) => [
-      q(1383),
+      q(1384),
       q(0),
       ],
    q(blablanga) => [
-      q(1292),
+      q(1293),
       q(0),
       ],
    q(blafe) => [
-      q(1142),
+      q(1143),
       q(0),
       ],
    q(blagar) => [
-      q(1129),
+      q(1130),
       q(0),
       ],
    q(blang) => [
-      q(1294),
+      q(1295),
       q(0),
       ],
    q(blin) => [
@@ -28084,83 +28094,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bo (laos)) => [
-      q(1170),
+      q(1171),
       q(0),
       ],
    q(bo (papua new guinea)) => [
-      q(1393),
+      q(1394),
       q(0),
       ],
    q(bo-rukul) => [
-      q(4115),
+      q(4117),
       q(0),
       ],
    q(bo-ung) => [
-      q(4596),
+      q(4598),
       q(0),
       ],
    q(boano (maluku)) => [
-      q(1625),
+      q(1626),
       q(0),
       ],
    q(boano (sulawesi)) => [
-      q(1623),
+      q(1624),
       q(0),
       ],
    q(bobongko) => [
-      q(1161),
+      q(1162),
       q(0),
       ],
    q(bobot) => [
-      q(1492),
+      q(1493),
       q(0),
       ],
    q(bodo (central african republic)) => [
-      q(1372),
+      q(1373),
       q(0),
       ],
    q(bodo (india)) => [
-      q(1443),
+      q(1444),
       q(0),
       ],
    q(bodo gadaba) => [
-      q(2427),
+      q(2428),
       q(0),
       ],
    q(bodo parja) => [
-      q(1109),
+      q(1110),
       q(0),
       ],
    q(bofi) => [
-      q(1140),
+      q(1141),
       q(0),
       ],
    q(boga) => [
-      q(1537),
+      q(1538),
       q(0),
       ],
    q(bogaya) => [
-      q(1365),
+      q(1366),
       q(0),
       ],
    q(boghom) => [
-      q(1513),
+      q(1514),
       q(0),
       ],
    q(boguru) => [
-      q(1416),
+      q(1417),
       q(0),
       ],
    q(bohtan neo-aramaic) => [
-      q(1197),
+      q(1198),
       q(0),
       ],
    q(boikin) => [
-      q(1617),
+      q(1618),
       q(0),
       ],
    q(bokha) => [
-      q(7603),
+      q(7605),
       q(0),
       ],
    q(bokmal, norwegian) => [
@@ -28168,243 +28178,243 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(boko (benin)) => [
-      q(1399),
+      q(1400),
       q(0),
       ],
    q(boko (democratic republic of congo)) => [
-      q(1267),
+      q(1268),
       q(0),
       ],
    q(bokobaru) => [
-      q(1508),
+      q(1509),
       q(0),
       ],
    q(bokoto) => [
-      q(1107),
+      q(1108),
       q(0),
       ],
    q(bokyi) => [
-      q(1276),
+      q(1277),
       q(0),
       ],
    q(bola) => [
-      q(1341),
+      q(1342),
       q(0),
       ],
    q(bolango) => [
-      q(1280),
+      q(1281),
       q(0),
       ],
    q(bole) => [
-      q(1360),
+      q(1361),
       q(0),
       ],
    q(bolgarian) => [
-      q(7300),
+      q(7302),
       q(0),
       ],
    q(bolgo) => [
-      q(1530),
+      q(1531),
       q(0),
       ],
    q(bolia) => [
-      q(1285),
+      q(1286),
       q(0),
       ],
    q(bolinao) => [
-      q(6120),
+      q(6122),
       q(0),
       ],
    q(bolivian sign language) => [
-      q(1527),
+      q(1528),
       q(0),
       ],
    q(bolo) => [
-      q(1297),
+      q(1298),
       q(0),
       ],
    q(boloki) => [
-      q(1271),
+      q(1272),
       q(0),
       ],
    q(bolon) => [
-      q(1354),
+      q(1355),
       q(0),
       ],
    q(bolondo) => [
-      q(1624),
+      q(1625),
       q(0),
       ],
    q(bolongan) => [
-      q(1286),
+      q(1287),
       q(0),
       ],
    q(bolyu) => [
-      q(5504),
+      q(5506),
       q(0),
       ],
    q(bom) => [
-      q(1307),
+      q(1308),
       q(0),
       ],
    q(boma) => [
-      q(1356),
+      q(1357),
       q(0),
       ],
    q(bomboli) => [
-      q(1313),
+      q(1314),
       q(0),
       ],
    q(bomboma) => [
-      q(1559),
+      q(1560),
       q(0),
       ],
    q(bomitaba) => [
-      q(7897),
+      q(7899),
       q(0),
       ],
    q(bomu) => [
-      q(1318),
+      q(1319),
       q(0),
       ],
    q(bomwali) => [
-      q(1324),
+      q(1325),
       q(0),
       ],
    q(bon gula) => [
-      q(2542),
+      q(2543),
       q(0),
       ],
    q(bonan) => [
-      q(5408),
+      q(5410),
       q(0),
       ],
    q(bondei) => [
-      q(1368),
+      q(1369),
       q(0),
       ],
    q(bondo) => [
-      q(1156),
+      q(1157),
       q(0),
       ],
    q(bondoukou kulango) => [
-      q(3768),
+      q(3770),
       q(0),
       ],
    q(bondum dom dogon) => [
-      q(1971),
+      q(1972),
       q(0),
       ],
    q(bonerate) => [
-      q(1327),
+      q(1328),
       q(0),
       ],
    q(bonerif) => [
-      q(1346),
+      q(1347),
       q(0),
       ],
    q(bonggi) => [
-      q(1094),
+      q(1095),
       q(0),
       ],
    q(bonggo) => [
-      q(1377),
+      q(1378),
       q(0),
       ],
    q(bongili) => [
-      q(1500),
+      q(1501),
       q(0),
       ],
    q(bongo) => [
-      q(1367),
+      q(1368),
       q(0),
       ],
    q(bongu) => [
-      q(1391),
+      q(1392),
       q(0),
       ],
    q(bonjo) => [
-      q(1359),
+      q(1360),
       q(0),
       ],
    q(bonkeng) => [
-      q(1522),
+      q(1523),
       q(0),
       ],
    q(bonkiman) => [
-      q(1364),
+      q(1365),
       q(0),
       ],
    q(bontok) => [
-      q(1329),
+      q(1330),
       q(0),
       ],
    q(boo) => [
-      q(1399),
+      q(1400),
       q(1),
       ],
    q(bookan) => [
-      q(1328),
+      q(1329),
       q(0),
       ],
    q(boon) => [
-      q(1337),
+      q(1338),
       q(0),
       ],
    q(boor) => [
-      q(1521),
+      q(1522),
       q(0),
       ],
    q(bora) => [
-      q(1351),
+      q(1352),
       q(0),
       ],
    q(borana-arsi-guji oromo) => [
-      q(2418),
+      q(2419),
       q(0),
       ],
    q(border kuna) => [
-      q(3678),
+      q(3680),
       q(0),
       ],
    q(borei) => [
-      q(2404),
+      q(2405),
       q(0),
       ],
    q(borgu fulfulde) => [
-      q(2382),
+      q(2383),
       q(0),
       ],
    q(borna (ethiopia)) => [
-      q(1555),
+      q(1556),
       q(1),
       ],
    q(boro (ethiopia)) => [
-      q(1555),
+      q(1556),
       q(0),
       ],
    q(boro (ghana)) => [
-      q(7558),
+      q(7560),
       q(0),
       ],
    q(borong) => [
-      q(3609),
+      q(3611),
       q(0),
       ],
    q(bororo) => [
-      q(1366),
+      q(1367),
       q(0),
       ],
    q(boruca) => [
-      q(1433),
+      q(1434),
       q(0),
       ],
    q(boselewa) => [
-      q(1546),
+      q(1547),
       q(0),
       ],
    q(bosngun) => [
-      q(1414),
+      q(1415),
       q(0),
       ],
    q(bosnian) => [
@@ -28412,27 +28422,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bote-majhi) => [
-      q(1311),
+      q(1312),
       q(0),
       ],
    q(botlikh) => [
-      q(1378),
+      q(1379),
       q(0),
       ],
    q(botolan sambal) => [
-      q(5911),
+      q(5913),
       q(0),
       ],
    q(bouna kulango) => [
-      q(4939),
+      q(4941),
       q(0),
       ],
    q(bouyei) => [
-      q(5381),
+      q(5383),
       q(0),
       ],
    q(bozaba) => [
-      q(1626),
+      q(1627),
       q(0),
       ],
    q(bragat) => [
@@ -28440,7 +28450,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(brahui) => [
-      q(1427),
+      q(1428),
       q(0),
       ],
    q(braj) => [
@@ -28448,15 +28458,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(brazilian sign language) => [
-      q(1630),
+      q(1631),
       q(0),
       ],
    q(brem) => [
-      q(1507),
+      q(1508),
       q(0),
       ],
    q(breri) => [
-      q(1436),
+      q(1437),
       q(0),
       ],
    q(breton) => [
@@ -28464,115 +28474,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bribri) => [
-      q(1615),
+      q(1616),
       q(0),
       ],
    q(brithenig) => [
-      q(1631),
+      q(1632),
       q(0),
       ],
    q(british sign language) => [
-      q(1143),
+      q(1144),
       q(0),
       ],
    q(brokkat) => [
-      q(1434),
+      q(1435),
       q(0),
       ],
    q(brokpake) => [
-      q(6002),
+      q(6004),
       q(0),
       ],
    q(brokskat) => [
-      q(1262),
+      q(1263),
       q(0),
       ],
    q(brooke's point palawano) => [
-      q(5503),
+      q(5505),
       q(0),
       ],
    q(broome pearling lugger pidgin) => [
-      q(1382),
+      q(1383),
       q(0),
       ],
    q(brunei) => [
-      q(3719),
+      q(3721),
       q(0),
       ],
    q(brunei bisaya) => [
-      q(1447),
+      q(1448),
       q(0),
       ],
    q(bu) => [
-      q(3093),
+      q(3094),
       q(0),
       ],
    q(bu-nao bunu) => [
-      q(1563),
+      q(1564),
       q(0),
       ],
    q(bua) => [
-      q(1494),
+      q(1495),
       q(0),
       ],
    q(bualkhaw chin) => [
-      q(1668),
+      q(1669),
       q(0),
       ],
    q(buamu) => [
-      q(1371),
+      q(1372),
       q(0),
       ],
    q(bube) => [
-      q(1517),
+      q(1518),
       q(0),
       ],
    q(bubi) => [
-      q(1512),
+      q(1513),
       q(0),
       ],
    q(bubia) => [
-      q(1060),
+      q(1061),
       q(0),
       ],
    q(budeh stieng) => [
-      q(6270),
+      q(6272),
       q(0),
       ],
    q(budibud) => [
-      q(1483),
+      q(1484),
       q(0),
       ],
    q(budong-budong) => [
-      q(1111),
+      q(1112),
       q(0),
       ],
    q(budu) => [
-      q(1510),
+      q(1511),
       q(0),
       ],
    q(budukh) => [
-      q(1098),
+      q(1099),
       q(0),
       ],
    q(buduma) => [
-      q(1100),
+      q(1101),
       q(0),
       ],
    q(budza) => [
-      q(1230),
+      q(1231),
       q(0),
       ],
    q(bugan) => [
-      q(1044),
+      q(1045),
       q(0),
       ],
    q(bugawac) => [
-      q(1502),
+      q(1503),
       q(0),
       ],
    q(bughotu) => [
-      q(1178),
+      q(1179),
       q(0),
       ],
    q(buginese) => [
@@ -28580,43 +28590,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(buglere) => [
-      q(5885),
+      q(5887),
       q(0),
       ],
    q(bugun) => [
-      q(1166),
+      q(1167),
       q(0),
       ],
    q(buhi'non bikol) => [
-      q(6855),
+      q(6857),
       q(0),
       ],
    q(buhid) => [
-      q(1272),
+      q(1273),
       q(0),
       ],
    q(buhutu) => [
-      q(1573),
+      q(1574),
       q(0),
       ],
    q(bukar-sadung bidayuh) => [
-      q(5953),
+      q(5955),
       q(0),
       ],
    q(bukat) => [
-      q(1526),
+      q(1527),
       q(0),
       ],
    q(bukharic) => [
-      q(1192),
+      q(1193),
       q(0),
       ],
    q(bukit malay) => [
-      q(1535),
+      q(1536),
       q(0),
       ],
    q(bukitan) => [
-      q(1265),
+      q(1266),
       q(0),
       ],
    q(bukiyip) => [
@@ -28624,15 +28634,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(buksa) => [
-      q(6547),
+      q(6549),
       q(0),
       ],
    q(bukusu) => [
-      q(1576),
+      q(1577),
       q(0),
       ],
    q(bukwen) => [
-      q(1515),
+      q(1516),
       q(0),
       ],
    q(bulgarian) => [
@@ -28640,47 +28650,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bulgarian sign language) => [
-      q(1409),
+      q(1410),
       q(0),
       ],
    q(bulgebi) => [
-      q(1317),
+      q(1318),
       q(0),
       ],
    q(buli (ghana)) => [
-      q(1561),
+      q(1562),
       q(0),
       ],
    q(buli (indonesia)) => [
-      q(1628),
+      q(1629),
       q(0),
       ],
    q(bullom so) => [
-      q(1514),
+      q(1515),
       q(0),
       ],
    q(bulo stieng) => [
-      q(6259),
+      q(6261),
       q(0),
       ],
    q(bulu (cameroon)) => [
-      q(1503),
+      q(1504),
       q(0),
       ],
    q(bulu (papua new guinea)) => [
-      q(1240),
+      q(1241),
       q(0),
       ],
    q(bum) => [
-      q(1323),
+      q(1324),
       q(0),
       ],
    q(bumaji) => [
-      q(1603),
+      q(1604),
       q(0),
       ],
    q(bumang) => [
-      q(1531),
+      q(1532),
       q(0),
       ],
    q(bumbita arapesh) => [
@@ -28688,91 +28698,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(bumthangkha) => [
-      q(3400),
+      q(3402),
       q(0),
       ],
    q(bun) => [
-      q(1511),
+      q(1512),
       q(0),
       ],
    q(buna) => [
-      q(1529),
+      q(1530),
       q(0),
       ],
    q(bunaba) => [
-      q(1073),
+      q(1074),
       q(0),
       ],
    q(bunak) => [
-      q(1148),
+      q(1149),
       q(0),
       ],
    q(bunama) => [
-      q(1091),
+      q(1092),
       q(0),
       ],
    q(bundeli) => [
-      q(1344),
+      q(1345),
       q(0),
       ],
    q(bung) => [
-      q(1400),
+      q(1401),
       q(0),
       ],
    q(bungain) => [
-      q(1509),
+      q(1510),
       q(0),
       ],
    q(bunganditj) => [
-      q(7295),
+      q(7297),
       q(0),
       ],
    q(bungku) => [
-      q(1277),
+      q(1278),
       q(0),
       ],
    q(bungu) => [
-      q(7250),
+      q(7252),
       q(0),
       ],
    q(bunoge dogon) => [
-      q(2004),
+      q(2005),
       q(0),
       ],
    q(bunun) => [
-      q(1339),
+      q(1340),
       q(0),
       ],
    q(buol) => [
-      q(1282),
+      q(1283),
       q(0),
       ],
    q(bura-pabir) => [
-      q(1558),
+      q(1559),
       q(0),
       ],
    q(burak) => [
-      q(1606),
+      q(1607),
       q(0),
       ],
    q(buraka) => [
-      q(1258),
+      q(1259),
       q(0),
       ],
    q(burarra) => [
-      q(1533),
+      q(1534),
       q(0),
       ],
    q(burate) => [
-      q(1477),
+      q(1478),
       q(0),
       ],
    q(burduna) => [
-      q(1579),
+      q(1580),
       q(0),
       ],
    q(bure) => [
-      q(1523),
+      q(1524),
       q(0),
       ],
    q(buriat) => [
@@ -28780,11 +28790,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(burji) => [
-      q(1237),
+      q(1238),
       q(0),
       ],
    q(burmbar) => [
-      q(7045),
+      q(7047),
       q(0),
       ],
    q(burmese) => [
@@ -28792,19 +28802,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(burmeso) => [
-      q(1632),
+      q(1633),
       q(0),
       ],
    q(buru (indonesia)) => [
-      q(4290),
+      q(4292),
       q(0),
       ],
    q(buru (nigeria)) => [
-      q(1418),
+      q(1419),
       q(0),
       ],
    q(burui) => [
-      q(1444),
+      q(1445),
       q(0),
       ],
    q(burumakok) => [
@@ -28812,19 +28822,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(burun) => [
-      q(1096),
+      q(1097),
       q(0),
       ],
    q(burunge) => [
-      q(1106),
+      q(1107),
       q(0),
       ],
    q(burushaski) => [
-      q(1455),
+      q(1456),
       q(0),
       ],
    q(burusu) => [
-      q(1413),
+      q(1414),
       q(0),
       ],
    q(buruwai) => [
@@ -28832,147 +28842,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(busa) => [
-      q(1411),
+      q(1412),
       q(0),
       ],
    q(busam) => [
-      q(1584),
+      q(1585),
       q(0),
       ],
    q(busami) => [
-      q(1457),
+      q(1458),
       q(0),
       ],
    q(busang kayan) => [
-      q(1141),
+      q(1142),
       q(0),
       ],
    q(bushi) => [
-      q(1495),
+      q(1496),
       q(0),
       ],
    q(bushoong) => [
-      q(1498),
+      q(1499),
       q(0),
       ],
    q(businenge tongo) => [
-      q(2065),
+      q(2066),
       q(1),
       ],
    q(buso) => [
-      q(1459),
+      q(1460),
       q(0),
       ],
    q(busoa) => [
-      q(1506),
+      q(1507),
       q(0),
       ],
    q(bussa) => [
-      q(2129),
+      q(2130),
       q(0),
       ],
    q(busuu) => [
-      q(1248),
+      q(1249),
       q(0),
       ],
    q(butbut kalinga) => [
-      q(3741),
+      q(3743),
       q(0),
       ],
    q(butmas-tur) => [
-      q(1343),
+      q(1344),
       q(0),
       ],
    q(butuanon) => [
-      q(1490),
+      q(1491),
       q(0),
       ],
    q(buwal) => [
-      q(1201),
+      q(1202),
       q(0),
       ],
    q(buxinhua) => [
-      q(1169),
+      q(1170),
       q(1),
       ],
    q(buyu) => [
-      q(1597),
+      q(1598),
       q(0),
       ],
    q(buyuan jinuo) => [
-      q(3105),
+      q(3106),
       q(0),
       ],
    q(bwa) => [
-      q(1562),
+      q(1563),
       q(0),
       ],
    q(bwaidoka) => [
-      q(1544),
+      q(1545),
       q(0),
       ],
    q(bwanabwana) => [
-      q(6737),
+      q(6739),
       q(0),
       ],
    q(bwatoo) => [
-      q(1541),
+      q(1542),
       q(0),
       ],
    q(bwe karen) => [
-      q(1545),
+      q(1546),
       q(0),
       ],
    q(bwela) => [
-      q(1552),
+      q(1553),
       q(0),
       ],
    q(bwile) => [
-      q(1543),
+      q(1544),
       q(0),
       ],
    q(bwisi) => [
-      q(1565),
+      q(1566),
       q(0),
       ],
    q(byangsi) => [
-      q(1118),
+      q(1119),
       q(0),
       ],
    q(byep) => [
-      q(4350),
+      q(4352),
       q(0),
       ],
    q(c'lela) => [
-      q(2138),
+      q(2139),
       q(0),
       ],
    q(caac) => [
-      q(4544),
+      q(4546),
       q(0),
       ],
    q(cabecar) => [
-      q(1750),
+      q(1751),
       q(0),
       ],
    q(cabiyari) => [
-      q(1659),
+      q(1660),
       q(0),
       ],
    q(cacaloxtepec mixtec) => [
-      q(4314),
+      q(4316),
       q(0),
       ],
    q(cacaopera) => [
-      q(1690),
+      q(1691),
       q(0),
       ],
    q(cacgia roglai) => [
-      q(5836),
+      q(5838),
       q(0),
       ],
    q(cacua) => [
-      q(1676),
+      q(1677),
       q(0),
       ],
    q(caddo) => [
@@ -28984,215 +28994,215 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cafundo creole) => [
-      q(1681),
+      q(1682),
       q(0),
       ],
    q(cagua) => [
-      q(1664),
+      q(1665),
       q(0),
       ],
    q(cahuarano) => [
-      q(1644),
+      q(1645),
       q(0),
       ],
    q(cahuilla) => [
-      q(1723),
+      q(1724),
       q(0),
       ],
    q(cahungwarya) => [
-      q(4733),
+      q(4735),
       q(0),
       ],
    q(cajamarca quechua) => [
-      q(5699),
+      q(5701),
       q(0),
       ],
    q(cajatambo north lima quechua) => [
-      q(5704),
+      q(5706),
       q(0),
       ],
    q(cajonos zapotec) => [
-      q(7806),
+      q(7808),
       q(0),
       ],
    q(cajun french) => [
-      q(2370),
+      q(2371),
       q(0),
       ],
    q(caka) => [
-      q(1765),
+      q(1766),
       q(0),
       ],
    q(cakchiquel) => [
-      q(1646),
+      q(1647),
       q(1),
       ],
    q(cakchiquel-quiche mixed language) => [
-      q(1767),
+      q(1768),
       q(0),
       ],
    q(cakfem-mushere) => [
-      q(1766),
+      q(1767),
       q(0),
       ],
    q(calamian tagbanwa) => [
-      q(6388),
+      q(6390),
       q(0),
       ],
    q(calderon highland quichua) => [
-      q(5680),
+      q(5682),
       q(0),
       ],
    q(callawalla) => [
-      q(1655),
+      q(1656),
       q(0),
       ],
    q(calo) => [
-      q(5818),
+      q(5820),
       q(0),
       ],
    q(caluyanun) => [
-      q(1780),
+      q(1781),
       q(0),
       ],
    q(cameroon mambila) => [
-      q(4171),
+      q(4173),
       q(0),
       ],
    q(cameroon pidgin) => [
-      q(7109),
+      q(7111),
       q(0),
       ],
    q(camling) => [
-      q(5735),
+      q(5737),
       q(0),
       ],
    q(campalagian) => [
-      q(1787),
+      q(1788),
       q(0),
       ],
    q(campidanese sardinian) => [
-      q(6218),
+      q(6220),
       q(0),
       ],
    q(camsa) => [
-      q(3188),
+      q(3190),
       q(0),
       ],
    q(camtho) => [
-      q(1793),
+      q(1794),
       q(0),
       ],
    q(camunic) => [
-      q(7307),
+      q(7309),
       q(0),
       ],
    q(canar highland quichua) => [
-      q(5727),
+      q(5729),
       q(0),
       ],
    q(candoshi-shapra) => [
-      q(1675),
+      q(1676),
       q(0),
       ],
    q(canela) => [
-      q(5744),
+      q(5746),
       q(0),
       ],
    q(canichana) => [
-      q(1658),
+      q(1659),
       q(0),
       ],
    q(cantonese) => [
-      q(7764),
+      q(7766),
       q(1),
       ],
    q(cao lan) => [
-      q(4368),
+      q(4370),
       q(0),
       ],
    q(cao miao) => [
-      q(1825),
+      q(1826),
       q(0),
       ],
    q(capanahua) => [
-      q(3179),
+      q(3181),
       q(0),
       ],
    q(capiznon) => [
-      q(1837),
+      q(1838),
       q(0),
       ],
    q(cappadocian greek) => [
-      q(1833),
+      q(1834),
       q(0),
       ],
    q(caquinte) => [
-      q(1823),
+      q(1824),
       q(0),
       ],
    q(car nicobarese) => [
-      q(1652),
+      q(1653),
       q(0),
       ],
    q(cara) => [
-      q(1711),
+      q(1712),
       q(0),
       ],
    q(carabayo) => [
-      q(1678),
+      q(1679),
       q(0),
       ],
    q(caramanta) => [
-      q(1847),
+      q(1848),
       q(0),
       ],
    q(carapana) => [
-      q(1660),
+      q(1661),
       q(0),
       ],
    q(carian) => [
-      q(7315),
+      q(7317),
       q(0),
       ],
    q(caribbean hindustani) => [
-      q(2807),
+      q(2808),
       q(0),
       ],
    q(caribbean javanese) => [
-      q(3164),
+      q(3166),
       q(0),
       ],
    q(carijona) => [
-      q(1661),
+      q(1662),
       q(0),
       ],
    q(carolina algonquian) => [
-      q(1857),
+      q(1858),
       q(0),
       ],
    q(carolinian) => [
-      q(1647),
+      q(1648),
       q(0),
       ],
    q(carpathian romani) => [
-      q(5805),
+      q(5807),
       q(0),
       ],
    q(carrier) => [
-      q(1862),
+      q(1863),
       q(0),
       ],
    q(cashibo-cacataibo) => [
-      q(1672),
+      q(1673),
       q(0),
       ],
    q(cashinahua) => [
-      q(1673),
+      q(1674),
       q(0),
       ],
    q(casiguran dumagat agta) => [
-      q(2005),
+      q(2006),
       q(0),
       ],
    q(castilian) => [
@@ -29208,15 +29218,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(catalan sign language) => [
-      q(1866),
+      q(1867),
       q(0),
       ],
    q(catawba) => [
-      q(1718),
+      q(1719),
       q(0),
       ],
    q(cauca) => [
-      q(1679),
+      q(1680),
       q(0),
       ],
    q(caucasian languages) => [
@@ -29224,23 +29234,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cavinena) => [
-      q(1654),
+      q(1655),
       q(0),
       ],
    q(cayubaba) => [
-      q(1930),
+      q(1931),
       q(0),
       ],
    q(cayuga) => [
-      q(1657),
+      q(1658),
       q(0),
       ],
    q(cayuse) => [
-      q(7320),
+      q(7322),
       q(0),
       ],
    q(cebaara senoufo) => [
-      q(5966),
+      q(5968),
       q(0),
       ],
    q(cebuano) => [
@@ -29248,7 +29258,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(celtiberian) => [
-      q(7308),
+      q(7310),
       q(0),
       ],
    q(celtic languages) => [
@@ -29256,11 +29266,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cemuhi) => [
-      q(1648),
+      q(1649),
       q(0),
       ],
    q(cen) => [
-      q(1708),
+      q(1709),
       q(0),
       ],
    q(central american indian languages) => [
@@ -29268,35 +29278,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central asmat) => [
-      q(1803),
+      q(1804),
       q(0),
       ],
    q(central atlas tamazight) => [
-      q(6846),
+      q(6848),
       q(0),
       ],
    q(central awyu) => [
-      q(0979),
+      q(0980),
       q(0),
       ],
    q(central aymara) => [
-      q(1005),
+      q(1006),
       q(0),
       ],
    q(central bai) => [
-      q(1063),
+      q(1064),
       q(0),
       ],
    q(central berawan) => [
-      q(7827),
+      q(7829),
       q(0),
       ],
    q(central bikol) => [
-      q(1074),
+      q(1075),
       q(0),
       ],
    q(central bontok) => [
-      q(3819),
+      q(3821),
       q(0),
       ],
    q(central cagayan agta) => [
@@ -29304,31 +29314,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central dusun) => [
-      q(2163),
+      q(2164),
       q(0),
       ],
    q(central grebo) => [
-      q(2626),
+      q(2627),
       q(0),
       ],
    q(central hongshuihe zhuang) => [
-      q(7832),
+      q(7834),
       q(0),
       ],
    q(central huasteca nahuatl) => [
-      q(4767),
+      q(4769),
       q(0),
       ],
    q(central huishui hmong) => [
-      q(2778),
+      q(2779),
       q(0),
       ],
    q(central huishui miao) => [
-      q(2778),
+      q(2779),
       q(1),
       ],
    q(central kanuri) => [
-      q(3480),
+      q(3482),
       q(0),
       ],
    q(central khmer) => [
@@ -29336,19 +29346,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central kurdish) => [
-      q(1754),
+      q(1755),
       q(0),
       ],
    q(central lalo) => [
-      q(7789),
+      q(7791),
       q(1),
       ],
    q(central maewo) => [
-      q(4634),
+      q(4636),
       q(0),
       ],
    q(central malay) => [
-      q(5610),
+      q(5612),
       q(0),
       ],
    q(central malayo-polynesian languages) => [
@@ -29356,79 +29366,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central masela) => [
-      q(4670),
+      q(4672),
       q(0),
       ],
    q(central mashan hmong) => [
-      q(2788),
+      q(2789),
       q(0),
       ],
    q(central mashan miao) => [
-      q(2788),
+      q(2789),
       q(1),
       ],
    q(central mazahua) => [
-      q(4125),
+      q(4127),
       q(0),
       ],
    q(central melanau) => [
-      q(4210),
+      q(4212),
       q(0),
       ],
    q(central mnong) => [
-      q(1790),
+      q(1791),
       q(0),
       ],
    q(central nahuatl) => [
-      q(4869),
+      q(4871),
       q(0),
       ],
    q(central nicobarese) => [
-      q(4761),
+      q(4763),
       q(0),
       ],
    q(central ojibwa) => [
-      q(5217),
+      q(5219),
       q(0),
       ],
    q(central okinawan) => [
-      q(5883),
+      q(5885),
       q(0),
       ],
    q(central palawano) => [
-      q(5486),
+      q(5488),
       q(0),
       ],
    q(central pame) => [
-      q(5374),
+      q(5376),
       q(0),
       ],
    q(central pashto) => [
-      q(5622),
+      q(5624),
       q(0),
       ],
    q(central pomo) => [
-      q(5561),
+      q(5563),
       q(0),
       ],
    q(central puebla nahuatl) => [
-      q(4780),
+      q(4782),
       q(0),
       ],
    q(central sama) => [
-      q(6121),
+      q(6123),
       q(0),
       ],
    q(central siberian yupik) => [
-      q(2299),
+      q(2300),
       q(0),
       ],
    q(central sierra miwok) => [
-      q(1876),
+      q(1877),
       q(0),
       ],
    q(central subanen) => [
-      q(6334),
+      q(6336),
       q(0),
       ],
    q(central sudanic languages) => [
@@ -29436,55 +29446,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(central tagbanwa) => [
-      q(6488),
+      q(6490),
       q(0),
       ],
    q(central tarahumara) => [
-      q(6370),
+      q(6372),
       q(0),
       ],
    q(central tunebo) => [
-      q(6763),
+      q(6765),
       q(0),
       ],
    q(central yupik) => [
-      q(2300),
+      q(2301),
       q(0),
       ],
    q(central-eastern niger fulfulde) => [
-      q(2389),
+      q(2390),
       q(0),
       ],
    q(centuum) => [
-      q(1709),
+      q(1710),
       q(0),
       ],
    q(cerma) => [
-      q(1784),
+      q(1785),
       q(0),
       ],
    q(chabu) => [
-      q(5905),
+      q(5907),
       q(0),
       ],
    q(chachapoyas quechua) => [
-      q(5685),
+      q(5687),
       q(0),
       ],
    q(chachi) => [
-      q(1665),
+      q(1666),
       q(0),
       ],
    q(chacobo) => [
-      q(1650),
+      q(1651),
       q(0),
       ],
    q(chadian arabic) => [
-      q(6026),
+      q(6028),
       q(0),
       ],
    q(chadian sign language) => [
-      q(1702),
+      q(1703),
       q(0),
       ],
    q(chadic languages) => [
@@ -29492,7 +29502,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chadong) => [
-      q(1703),
+      q(1704),
       q(0),
       ],
    q(chagatai) => [
@@ -29500,51 +29510,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chaima) => [
-      q(1741),
+      q(1742),
       q(0),
       ],
    q(chak) => [
-      q(1755),
+      q(1756),
       q(0),
       ],
    q(chakali) => [
-      q(1773),
+      q(1774),
       q(0),
       ],
    q(chakma) => [
-      q(1689),
+      q(1690),
       q(0),
       ],
    q(chala) => [
-      q(1776),
+      q(1777),
       q(0),
       ],
    q(chaldean neo-aramaic) => [
-      q(1770),
+      q(1771),
       q(0),
       ],
    q(chalikha) => [
-      q(6478),
+      q(6480),
       q(0),
       ],
    q(chamacoco) => [
-      q(1706),
+      q(1707),
       q(0),
       ],
    q(chamalal) => [
-      q(1745),
+      q(1746),
       q(0),
       ],
    q(chamari) => [
-      q(1694),
+      q(1695),
       q(0),
       ],
    q(chambeali) => [
-      q(1695),
+      q(1696),
       q(0),
       ],
    q(chambri) => [
-      q(1649),
+      q(1650),
       q(0),
       ],
    q(chamic languages) => [
@@ -29552,7 +29562,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chamicuro) => [
-      q(1680),
+      q(1681),
       q(0),
       ],
    q(chamorro) => [
@@ -29560,55 +29570,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chane) => [
-      q(1645),
+      q(1646),
       q(0),
       ],
    q(chang naga) => [
-      q(4740),
+      q(4742),
       q(0),
       ],
    q(changriwa) => [
-      q(1714),
+      q(1715),
       q(0),
       ],
    q(changthang) => [
-      q(1794),
+      q(1795),
       q(0),
       ],
    q(chantyal) => [
-      q(1727),
+      q(1728),
       q(0),
       ],
    q(chara) => [
-      q(1843),
+      q(1844),
       q(0),
       ],
    q(chaudangsi) => [
-      q(1699),
+      q(1700),
       q(0),
       ],
    q(chaura) => [
-      q(1860),
+      q(1861),
       q(0),
       ],
    q(chavacano) => [
-      q(1667),
+      q(1668),
       q(0),
       ],
    q(chayahuita) => [
-      q(1674),
+      q(1675),
       q(0),
       ],
    q(chayuco mixtec) => [
-      q(4303),
+      q(4305),
       q(0),
       ],
    q(chazumba mixtec) => [
-      q(7506),
+      q(7508),
       q(0),
       ],
    q(che) => [
-      q(5867),
+      q(5869),
       q(0),
       ],
    q(chechen) => [
@@ -29616,39 +29626,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cheke holo) => [
-      q(4516),
+      q(4518),
       q(0),
       ],
    q(chemakum) => [
-      q(7310),
+      q(7312),
       q(0),
       ],
    q(chenapian) => [
-      q(1748),
+      q(1749),
       q(0),
       ],
    q(chenchu) => [
-      q(1692),
+      q(1693),
       q(0),
       ],
    q(chenoua) => [
-      q(1805),
+      q(1806),
       q(0),
       ],
    q(chepang) => [
-      q(1698),
+      q(1699),
       q(0),
       ],
    q(chepya) => [
-      q(7613),
+      q(7615),
       q(0),
       ],
    q(cheq wong) => [
-      q(1927),
+      q(1928),
       q(1),
       ],
    q(cherepon) => [
-      q(1835),
+      q(1836),
       q(0),
       ],
    q(cherokee) => [
@@ -29656,11 +29666,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chesu) => [
-      q(7610),
+      q(7612),
       q(0),
       ],
    q(chetco) => [
-      q(1888),
+      q(1889),
       q(0),
       ],
    q(chewa) => [
@@ -29668,7 +29678,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(chewong) => [
-      q(1927),
+      q(1928),
       q(0),
       ],
    q(cheyenne) => [
@@ -29676,23 +29686,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chhattisgarhi) => [
-      q(2801),
+      q(2802),
       q(0),
       ],
    q(chhintange) => [
-      q(1895),
+      q(1896),
       q(0),
       ],
    q(chhulung) => [
-      q(1915),
+      q(1916),
       q(0),
       ],
    q(chiangmai sign language) => [
-      q(1867),
+      q(1868),
       q(0),
       ],
    q(chiapanec) => [
-      q(1738),
+      q(1739),
       q(0),
       ],
    q(chibcha) => [
@@ -29704,7 +29714,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chicahuaxtla triqui) => [
-      q(6703),
+      q(6705),
       q(0),
       ],
    q(chichewa) => [
@@ -29712,95 +29722,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chichicapan zapotec) => [
-      q(7933),
+      q(7935),
       q(0),
       ],
    q(chichimeca-jonaz) => [
-      q(5409),
+      q(5411),
       q(0),
       ],
    q(chichonyi-chidzihana-chikauma) => [
-      q(1815),
+      q(1816),
       q(1),
       ],
    q(chickasaw) => [
-      q(1731),
+      q(1732),
       q(0),
       ],
    q(chicomuceltec) => [
-      q(1809),
+      q(1810),
       q(0),
       ],
    q(chidigo) => [
-      q(2039),
+      q(2040),
       q(1),
       ],
    q(chiduruma) => [
-      q(2174),
+      q(2175),
       q(1),
       ],
    q(chiga) => [
-      q(1716),
+      q(1717),
       q(0),
       ],
    q(chigmecatitlan mixtec) => [
-      q(4304),
+      q(4306),
       q(0),
       ],
    q(chilcotin) => [
-      q(1769),
+      q(1770),
       q(0),
       ],
    q(chilean quechua) => [
-      q(1842),
+      q(1843),
       q(0),
       ],
    q(chilean sign language) => [
-      q(1870),
+      q(1871),
       q(0),
       ],
    q(chilisso) => [
-      q(1772),
+      q(1773),
       q(0),
       ],
    q(chiltepec chinantec) => [
-      q(1865),
+      q(1866),
       q(0),
       ],
    q(chimakum) => [
-      q(7310),
+      q(7312),
       q(1),
       ],
    q(chimalapa zoque) => [
-      q(7906),
+      q(7908),
       q(0),
       ],
    q(chimariko) => [
-      q(1732),
+      q(1733),
       q(0),
       ],
    q(chimborazo highland quichua) => [
-      q(5682),
+      q(5684),
       q(0),
       ],
    q(chimila) => [
-      q(1663),
+      q(1664),
       q(0),
       ],
    q(china buriat) => [
-      q(1585),
+      q(1586),
       q(0),
       ],
    q(chinali) => [
-      q(1734),
+      q(1735),
       q(0),
       ],
    q(chinbon chin) => [
-      q(1795),
+      q(1796),
       q(0),
       ],
    q(chincha quechua) => [
-      q(5720),
+      q(5722),
       q(0),
       ],
    q(chinese) => [
@@ -29812,11 +29822,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chinese pidgin english) => [
-      q(1834),
+      q(1835),
       q(0),
       ],
    q(chinese sign language) => [
-      q(1875),
+      q(1876),
       q(0),
       ],
    q(chini) => [
@@ -29824,7 +29834,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(chinook) => [
-      q(1721),
+      q(1722),
       q(0),
       ],
    q(chinook jargon) => [
@@ -29832,7 +29842,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chipaya) => [
-      q(1651),
+      q(1652),
       q(0),
       ],
    q(chipewyan) => [
@@ -29840,59 +29850,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chipiajes) => [
-      q(1662),
+      q(1663),
       q(0),
       ],
    q(chippewa) => [
-      q(1740),
+      q(1741),
       q(0),
       ],
    q(chiquian ancash quechua) => [
-      q(5719),
+      q(5721),
       q(0),
       ],
    q(chiquihuitlan mazatec) => [
-      q(4119),
+      q(4121),
       q(0),
       ],
    q(chiquitano) => [
-      q(1656),
+      q(1657),
       q(0),
       ],
    q(chiripa) => [
-      q(4861),
+      q(4863),
       q(0),
       ],
    q(chiru) => [
-      q(1693),
+      q(1694),
       q(0),
       ],
    q(chitimacha) => [
-      q(1894),
+      q(1895),
       q(0),
       ],
    q(chitkuli kinnauri) => [
-      q(1735),
+      q(1736),
       q(0),
       ],
    q(chittagonian) => [
-      q(1891),
+      q(1892),
       q(0),
       ],
    q(chitwania tharu) => [
-      q(6497),
+      q(6499),
       q(0),
       ],
    q(choapan zapotec) => [
-      q(7914),
+      q(7916),
       q(0),
       ],
    q(chocangacakha) => [
-      q(1717),
+      q(1718),
       q(0),
       ],
    q(chochotec) => [
-      q(1829),
+      q(1830),
       q(0),
       ],
    q(choctaw) => [
@@ -29900,59 +29910,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chodri) => [
-      q(1696),
+      q(1697),
       q(0),
       ],
    q(chokri naga) => [
-      q(5053),
+      q(5055),
       q(0),
       ],
    q(chokwe) => [
-      q(1746),
+      q(1747),
       q(0),
       ],
    q(chol) => [
-      q(1900),
+      q(1901),
       q(0),
       ],
    q(cholon) => [
-      q(1725),
+      q(1726),
       q(0),
       ],
    q(chong) => [
-      q(1814),
+      q(1815),
       q(0),
       ],
    q(choni) => [
-      q(1691),
+      q(1692),
       q(0),
       ],
    q(chonyi-dzihana-kauma) => [
-      q(1815),
+      q(1816),
       q(0),
       ],
    q(chopi) => [
-      q(1682),
+      q(1683),
       q(0),
       ],
    q(chorasmian) => [
-      q(7314),
+      q(7316),
       q(0),
       ],
    q(chorti) => [
-      q(1638),
+      q(1639),
       q(0),
       ],
    q(chothe naga) => [
-      q(4778),
+      q(4780),
       q(0),
       ],
    q(chrau) => [
-      q(1861),
+      q(1862),
       q(0),
       ],
    q(chru) => [
-      q(1743),
+      q(1744),
       q(0),
       ],
    q(chuang) => [
@@ -29960,43 +29970,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(chuanqiandian cluster miao) => [
-      q(1841),
+      q(1842),
       q(0),
       ],
    q(chuave) => [
-      q(1752),
+      q(1753),
       q(0),
       ],
    q(chug) => [
-      q(1921),
+      q(1922),
       q(0),
       ],
    q(chuj) => [
-      q(1640),
+      q(1641),
       q(0),
       ],
    q(chuka) => [
-      q(1906),
+      q(1907),
       q(0),
       ],
    q(chukot) => [
-      q(1762),
+      q(1763),
       q(0),
       ],
    q(chukwa) => [
-      q(1919),
+      q(1920),
       q(0),
       ],
    q(chulym) => [
-      q(1781),
+      q(1782),
       q(0),
       ],
    q(chumburung) => [
-      q(4779),
+      q(4781),
       q(0),
       ],
    q(churahi) => [
-      q(1697),
+      q(1698),
       q(0),
       ],
    q(church slavic) => [
@@ -30008,7 +30018,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(chut) => [
-      q(5926),
+      q(5928),
       q(0),
       ],
    q(chuukese) => [
@@ -30016,7 +30026,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chuvantsy) => [
-      q(7318),
+      q(7320),
       q(0),
       ],
    q(chuvash) => [
@@ -30024,43 +30034,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(chuwabu) => [
-      q(1726),
+      q(1727),
       q(0),
       ],
    q(ci gbe) => [
-      q(1730),
+      q(1731),
       q(0),
       ],
    q(cia-cia) => [
-      q(1729),
+      q(1730),
       q(0),
       ],
    q(cibak) => [
-      q(1756),
+      q(1757),
       q(0),
       ],
    q(cicipu) => [
-      q(0967),
+      q(0968),
       q(0),
       ],
    q(cimbrian) => [
-      q(1736),
+      q(1737),
       q(0),
       ],
    q(cinda-regi-tiyal) => [
-      q(1701),
+      q(1702),
       q(0),
       ],
    q(cineni) => [
-      q(1733),
+      q(1734),
       q(0),
       ],
    q(cinta larga) => [
-      q(1737),
+      q(1738),
       q(0),
       ],
    q(cisalpine gaulish) => [
-      q(7309),
+      q(7311),
       q(0),
       ],
    q(cishingini) => [
@@ -30068,31 +30078,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(citak) => [
-      q(6824),
+      q(6826),
       q(0),
       ],
    q(ciwogai) => [
-      q(6476),
+      q(6478),
       q(0),
       ],
    q(clallam) => [
-      q(1777),
+      q(1778),
       q(0),
       ],
    q(classical armenian) => [
-      q(7311),
+      q(7313),
       q(0),
       ],
    q(classical mandaic) => [
-      q(4691),
+      q(4693),
       q(0),
       ],
    q(classical mongolian) => [
-      q(1785),
+      q(1786),
       q(0),
       ],
    q(classical nahuatl) => [
-      q(4768),
+      q(4770),
       q(0),
       ],
    q(classical nepal bhasa) => [
@@ -30104,7 +30114,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(classical quechua) => [
-      q(5714),
+      q(5716),
       q(0),
       ],
    q(classical syriac) => [
@@ -30112,119 +30122,119 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(classical tibetan) => [
-      q(7316),
+      q(7318),
       q(0),
       ],
    q(coahuilteco) => [
-      q(7319),
+      q(7321),
       q(0),
       ],
    q(coast miwok) => [
-      q(1872),
+      q(1873),
       q(0),
       ],
    q(coastal kadazan) => [
-      q(3774),
+      q(3776),
       q(0),
       ],
    q(coastal konjo) => [
-      q(3378),
+      q(3380),
       q(0),
       ],
    q(coatecas altas zapotec) => [
-      q(7831),
+      q(7833),
       q(0),
       ],
    q(coatepec nahuatl) => [
-      q(4737),
+      q(4739),
       q(0),
       ],
    q(coatlan mixe) => [
-      q(4165),
+      q(4167),
       q(0),
       ],
    q(coatlan zapotec) => [
-      q(7930),
+      q(7932),
       q(0),
       ],
    q(coatzospan mixtec) => [
-      q(4318),
+      q(4320),
       q(0),
       ],
    q(cocama-cocamilla) => [
-      q(1811),
+      q(1812),
       q(0),
       ],
    q(cochimi) => [
-      q(1816),
+      q(1817),
       q(0),
       ],
    q(cocopa) => [
-      q(1810),
+      q(1811),
       q(0),
       ],
    q(cocos islands malay) => [
-      q(1808),
+      q(1809),
       q(0),
       ],
    q(coeur d'alene) => [
-      q(1846),
+      q(1847),
       q(0),
       ],
    q(cofan) => [
-      q(1820),
+      q(1821),
       q(0),
       ],
    q(cogui) => [
-      q(3508),
+      q(3510),
       q(0),
       ],
    q(col) => [
-      q(3926),
+      q(3928),
       q(0),
       ],
    q(colombian sign language) => [
-      q(1877),
+      q(1878),
       q(0),
       ],
    q(colonia tovar german) => [
-      q(2450),
+      q(2451),
       q(0),
       ],
    q(colorado) => [
-      q(1813),
+      q(1814),
       q(0),
       ],
    q(columbia-wenatchi) => [
-      q(1818),
+      q(1819),
       q(0),
       ],
    q(comaltepec chinantec) => [
-      q(1688),
+      q(1689),
       q(0),
       ],
    q(comanche) => [
-      q(1819),
+      q(1820),
       q(0),
       ],
    q(comecrudo) => [
-      q(7312),
+      q(7314),
       q(0),
       ],
    q(como karim) => [
-      q(1712),
+      q(1713),
       q(0),
       ],
    q(comox) => [
-      q(1821),
+      q(1822),
       q(0),
       ],
    q(con) => [
-      q(1802),
+      q(1803),
       q(0),
       ],
    q(congo swahili) => [
-      q(6299),
+      q(6301),
       q(0),
       ],
    q(cook islands maori) => [
@@ -30232,19 +30242,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(coong) => [
-      q(1796),
+      q(1797),
       q(0),
       ],
    q(coos) => [
-      q(1886),
+      q(1887),
       q(0),
       ],
    q(copainala zoque) => [
-      q(7905),
+      q(7907),
       q(0),
       ],
    q(copala triqui) => [
-      q(6688),
+      q(6690),
       q(0),
       ],
    q(coptic) => [
@@ -30252,11 +30262,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(coquille) => [
-      q(1822),
+      q(1823),
       q(0),
       ],
    q(cori) => [
-      q(1863),
+      q(1864),
       q(0),
       ],
    q(cornish) => [
@@ -30264,7 +30274,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(corongo ancash quechua) => [
-      q(5713),
+      q(5715),
       q(0),
       ],
    q(corsican) => [
@@ -30272,35 +30282,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(costa rican sign language) => [
-      q(1880),
+      q(1881),
       q(0),
       ],
    q(cotabato manobo) => [
-      q(4553),
+      q(4555),
       q(0),
       ],
    q(cotoname) => [
-      q(7313),
+      q(7315),
       q(0),
       ],
    q(cowlitz) => [
-      q(1826),
+      q(1827),
       q(0),
       ],
    q(coxima) => [
-      q(3519),
+      q(3521),
       q(0),
       ],
    q(coyaima) => [
-      q(1828),
+      q(1829),
       q(0),
       ],
    q(coyotepec popoloca) => [
-      q(5365),
+      q(5367),
       q(0),
       ],
    q(coyutla totonac) => [
-      q(6634),
+      q(6636),
       q(0),
       ],
    q(cree) => [
@@ -30352,7 +30362,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(croatia sign language) => [
-      q(1879),
+      q(1880),
       q(0),
       ],
    q(croatian) => [
@@ -30360,79 +30370,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cross river mbembe) => [
-      q(4236),
+      q(4238),
       q(0),
       ],
    q(crow) => [
-      q(1855),
+      q(1856),
       q(0),
       ],
    q(cruzeno) => [
-      q(1864),
+      q(1865),
       q(0),
       ],
    q(cua) => [
-      q(1902),
+      q(1903),
       q(0),
       ],
    q(cuba) => [
-      q(1671),
+      q(1672),
       q(1),
       ],
    q(cuba sign language) => [
-      q(1869),
+      q(1870),
       q(0),
       ],
    q(cubeo) => [
-      q(1903),
+      q(1904),
       q(0),
       ],
    q(cuiba) => [
-      q(1907),
+      q(1908),
       q(0),
       ],
    q(culina) => [
-      q(1910),
+      q(1911),
       q(0),
       ],
    q(cumanagoto) => [
-      q(1912),
+      q(1913),
       q(0),
       ],
    q(cumbric) => [
-      q(7306),
+      q(7308),
       q(0),
       ],
    q(cumeral) => [
-      q(1911),
+      q(1912),
       q(0),
       ],
    q(cun) => [
-      q(1914),
+      q(1915),
       q(0),
       ],
    q(cuneiform luwian) => [
-      q(7403),
+      q(7405),
       q(0),
       ],
    q(cung) => [
-      q(1905),
+      q(1906),
       q(0),
       ],
    q(cupeno) => [
-      q(1913),
+      q(1914),
       q(0),
       ],
    q(curonian) => [
-      q(7317),
+      q(7319),
       q(0),
       ],
    q(curripaco) => [
-      q(3524),
+      q(3526),
       q(0),
       ],
    q(cusco quechua) => [
-      q(5697),
+      q(5699),
       q(0),
       ],
    q(cushitic languages) => [
@@ -30440,23 +30450,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(cutchi-swahili) => [
-      q(1686),
+      q(1687),
       q(0),
       ],
    q(cuvok) => [
-      q(1918),
+      q(1919),
       q(0),
       ],
    q(cuyamecalco mixtec) => [
-      q(7523),
+      q(7525),
       q(0),
       ],
    q(cuyonon) => [
-      q(1931),
+      q(1932),
       q(0),
       ],
    q(cwi bwamu) => [
-      q(1564),
+      q(1565),
       q(0),
       ],
    q(cypriot arabic) => [
@@ -30468,111 +30478,111 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(czech sign language) => [
-      q(1868),
+      q(1869),
       q(0),
       ],
    q(da'a kaili) => [
-      q(3771),
+      q(3773),
       q(0),
       ],
    q(da-hua miao) => [
-      q(2779),
+      q(2780),
       q(2),
       ],
    q(daai chin) => [
-      q(1947),
+      q(1948),
       q(0),
       ],
    q(daakaka) => [
-      q(1374),
+      q(1375),
       q(0),
       ],
    q(daantanai') => [
-      q(4002),
+      q(4004),
       q(0),
       ],
    q(daasanach) => [
-      q(2149),
+      q(2150),
       q(0),
       ],
    q(daba) => [
-      q(1968),
+      q(1969),
       q(0),
       ],
    q(dabarre) => [
-      q(1969),
+      q(1970),
       q(0),
       ],
    q(dabe) => [
-      q(1958),
+      q(1959),
       q(0),
       ],
    q(dacian) => [
-      q(7322),
+      q(7324),
       q(0),
       ],
    q(dadi dadi) => [
-      q(1977),
+      q(1978),
       q(0),
       ],
    q(dadibi) => [
-      q(4471),
+      q(4473),
       q(0),
       ],
    q(dadiya) => [
-      q(1957),
+      q(1958),
       q(0),
       ],
    q(daga) => [
-      q(2020),
+      q(2021),
       q(0),
       ],
    q(dagaari dioula) => [
-      q(2006),
+      q(2007),
       q(0),
       ],
    q(dagba) => [
-      q(2011),
+      q(2012),
       q(0),
       ],
    q(dagbani) => [
-      q(1941),
+      q(1942),
       q(0),
       ],
    q(dagik) => [
-      q(1988),
+      q(1989),
       q(0),
       ],
    q(dagoman) => [
-      q(2013),
+      q(2014),
       q(0),
       ],
    q(dahalik) => [
-      q(2078),
+      q(2079),
       q(0),
       ],
    q(dahalo) => [
-      q(1945),
+      q(1946),
       q(0),
       ],
    q(daho-doo) => [
-      q(1949),
+      q(1950),
       q(0),
       ],
    q(dai) => [
-      q(2042),
+      q(2043),
       q(0),
       ],
    q(dai zhuang) => [
-      q(7843),
+      q(7845),
       q(0),
       ],
    q(dair) => [
-      q(2133),
+      q(2134),
       q(0),
       ],
    q(dakka) => [
-      q(2073),
+      q(2074),
       q(0),
       ],
    q(dakota) => [
@@ -30580,67 +30590,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dakpakha) => [
-      q(2072),
+      q(2073),
       q(0),
       ],
    q(dalabon) => [
-      q(4842),
+      q(4844),
       q(0),
       ],
    q(dalmatian) => [
-      q(2079),
+      q(2080),
       q(0),
       ],
    q(daloa bete) => [
-      q(1130),
+      q(1131),
       q(0),
       ],
    q(dama) => [
-      q(2089),
+      q(2090),
       q(0),
       ],
    q(damakawa) => [
-      q(1946),
+      q(1947),
       q(0),
       ],
    q(damal) => [
-      q(6874),
+      q(6876),
       q(0),
       ],
    q(dambi) => [
-      q(1938),
+      q(1939),
       q(0),
       ],
    q(dameli) => [
-      q(2088),
+      q(2089),
       q(0),
       ],
    q(dampelas) => [
-      q(2092),
+      q(2093),
       q(0),
       ],
    q(dan) => [
-      q(2103),
+      q(2104),
       q(0),
       ],
    q(danaru) => [
-      q(2106),
+      q(2107),
       q(0),
       ],
    q(danau) => [
-      q(2108),
+      q(2109),
       q(0),
       ],
    q(dandami maria) => [
-      q(1948),
+      q(1949),
       q(0),
       ],
    q(dangaleat) => [
-      q(1937),
+      q(1938),
       q(0),
       ],
    q(dangaura tharu) => [
-      q(6502),
+      q(6504),
       q(0),
       ],
    q(danish) => [
@@ -30648,7 +30658,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(danish sign language) => [
-      q(2151),
+      q(2152),
       q(0),
       ],
    q(dano) => [
@@ -30656,35 +30666,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(danu) => [
-      q(2109),
+      q(2110),
       q(0),
       ],
    q(dao) => [
-      q(1954),
+      q(1955),
       q(0),
       ],
    q(daonda) => [
-      q(2099),
+      q(2100),
       q(0),
       ],
    q(dar daju daju) => [
-      q(2059),
+      q(2060),
       q(0),
       ],
    q(dar fur daju) => [
-      q(1944),
+      q(1945),
       q(0),
       ],
    q(dar sila daju) => [
-      q(1950),
+      q(1951),
       q(0),
       ],
    q(darai) => [
-      q(2147),
+      q(2148),
       q(0),
       ],
    q(darang deng) => [
-      q(4292),
+      q(4294),
       q(1),
       ],
    q(dargwa) => [
@@ -30692,83 +30702,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dari) => [
-      q(5600),
+      q(5602),
       q(0),
       ],
    q(darkinyung) => [
-      q(7321),
+      q(7323),
       q(0),
       ],
    q(darlong) => [
-      q(2080),
+      q(2081),
       q(0),
       ],
    q(darmiya) => [
-      q(2135),
+      q(2136),
       q(0),
       ],
    q(daro-matu melanau) => [
-      q(2141),
+      q(2142),
       q(0),
       ],
    q(dass) => [
-      q(2126),
+      q(2127),
       q(0),
       ],
    q(datooga) => [
-      q(6405),
+      q(6407),
       q(0),
       ],
    q(daungwurrung) => [
-      q(2018),
+      q(2019),
       q(0),
       ],
    q(daur) => [
-      q(2155),
+      q(2156),
       q(0),
       ],
    q(davawenyo) => [
-      q(1952),
+      q(1953),
       q(0),
       ],
    q(daw) => [
-      q(3691),
+      q(3693),
       q(0),
       ],
    q(dawawa) => [
-      q(2196),
+      q(2197),
       q(0),
       ],
    q(dawera-daweloor) => [
-      q(1987),
+      q(1988),
       q(0),
       ],
    q(dawida) => [
-      q(1951),
+      q(1952),
       q(1),
       ],
    q(dawro) => [
-      q(2194),
+      q(2195),
       q(0),
       ],
    q(day) => [
-      q(1943),
+      q(1944),
       q(0),
       ],
    q(dayi) => [
-      q(1953),
+      q(1954),
       q(0),
       ],
    q(dazaga) => [
-      q(2208),
+      q(2209),
       q(0),
       ],
    q(deccan) => [
-      q(1975),
+      q(1976),
       q(0),
       ],
    q(dedua) => [
-      q(1989),
+      q(1990),
       q(0),
       ],
    q(defaka) => [
@@ -30776,43 +30786,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(defi gbe) => [
-      q(2425),
+      q(2426),
       q(0),
       ],
    q(deg) => [
-      q(4713),
+      q(4715),
       q(0),
       ],
    q(degaru) => [
-      q(2017),
+      q(2018),
       q(0),
       ],
    q(degema) => [
-      q(1992),
+      q(1993),
       q(0),
       ],
    q(degenan) => [
-      q(2007),
+      q(2008),
       q(0),
       ],
    q(degexit'an) => [
-      q(2969),
+      q(2970),
       q(0),
       ],
    q(dehu) => [
-      q(2031),
+      q(2032),
       q(0),
       ],
    q(dehwari) => [
-      q(1993),
+      q(1994),
       q(0),
       ],
    q(dek) => [
-      q(1995),
+      q(1996),
       q(0),
       ],
    q(dela-oenale) => [
-      q(5846),
+      q(5848),
       q(0),
       ],
    q(delaware) => [
@@ -30820,31 +30830,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(delo) => [
-      q(5095),
+      q(5097),
       q(0),
       ],
    q(dem) => [
-      q(1996),
+      q(1997),
       q(0),
       ],
    q(dema) => [
-      q(2096),
+      q(2097),
       q(0),
       ],
    q(demisa) => [
-      q(1994),
+      q(1995),
       q(0),
       ],
    q(demta) => [
-      q(2097),
+      q(2098),
       q(0),
       ],
    q(dendi (benin)) => [
-      q(1983),
+      q(1984),
       q(0),
       ],
    q(dendi (central african republic)) => [
-      q(1998),
+      q(1999),
       q(0),
       ],
    q(dene suline) => [
@@ -30852,19 +30862,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(dengese) => [
-      q(2002),
+      q(2003),
       q(0),
       ],
    q(dengka) => [
-      q(2104),
+      q(2105),
       q(0),
       ],
    q(deni) => [
-      q(2111),
+      q(2112),
       q(0),
       ],
    q(deno) => [
-      q(1956),
+      q(1957),
       q(0),
       ],
    q(denya) => [
@@ -30872,79 +30882,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(deori) => [
-      q(1999),
+      q(2000),
       q(0),
       ],
    q(dera (indonesia)) => [
-      q(3202),
+      q(3204),
       q(0),
       ],
    q(dera (nigeria)) => [
-      q(3478),
+      q(3480),
       q(0),
       ],
    q(desano) => [
-      q(2000),
+      q(2001),
       q(0),
       ],
    q(desiya) => [
-      q(2153),
+      q(2154),
       q(0),
       ],
    q(dewoin) => [
-      q(1990),
+      q(1991),
       q(0),
       ],
    q(dezfuli) => [
-      q(1991),
+      q(1992),
       q(0),
       ],
    q(dghwede) => [
-      q(2009),
+      q(2010),
       q(0),
       ],
    q(dhaiso) => [
-      q(2029),
+      q(2030),
       q(0),
       ],
    q(dhalandji) => [
-      q(2024),
+      q(2025),
       q(0),
       ],
    q(dhangu) => [
-      q(2022),
+      q(2023),
       q(0),
       ],
    q(dhanki) => [
-      q(2026),
+      q(2027),
       q(0),
       ],
    q(dhanwar (nepal)) => [
-      q(2032),
+      q(2033),
       q(0),
       ],
    q(dhao) => [
-      q(4828),
+      q(4830),
       q(0),
       ],
    q(dhargari) => [
-      q(2028),
+      q(2029),
       q(0),
       ],
    q(dharuk) => [
-      q(7323),
+      q(7325),
       q(0),
       ],
    q(dharumbal) => [
-      q(7344),
+      q(7346),
       q(0),
       ],
    q(dhatki) => [
-      q(4348),
+      q(4350),
       q(0),
       ],
    q(dhimal) => [
-      q(2023),
+      q(2024),
       q(0),
       ],
    q(dhivehi) => [
@@ -30952,7 +30962,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(dhodia) => [
-      q(2027),
+      q(2028),
       q(0),
       ],
    q(dhofari arabic) => [
@@ -30964,99 +30974,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(dhudhuroa) => [
-      q(1985),
+      q(1986),
       q(0),
       ],
    q(dhundari) => [
-      q(2021),
+      q(2022),
       q(0),
       ],
    q(dhungaloo) => [
-      q(2033),
+      q(2034),
       q(0),
       ],
    q(dhurga) => [
-      q(2030),
+      q(2031),
       q(0),
       ],
    q(dhuwal) => [
-      q(2177),
+      q(2178),
       q(0),
       ],
    q(dia) => [
-      q(2034),
+      q(2035),
       q(0),
       ],
    q(dibabawon manobo) => [
-      q(4129),
+      q(4131),
       q(0),
       ],
    q(dibiyaso) => [
-      q(1974),
+      q(1975),
       q(0),
       ],
    q(dibo) => [
-      q(2046),
+      q(2047),
       q(0),
       ],
    q(dibole) => [
-      q(1538),
+      q(1539),
       q(0),
       ],
    q(dicamay agta) => [
-      q(2190),
+      q(2191),
       q(0),
       ],
    q(didinga) => [
-      q(2037),
+      q(2038),
       q(0),
       ],
    q(dido) => [
-      q(1984),
+      q(1985),
       q(0),
       ],
    q(diebroud) => [
-      q(6393),
+      q(6395),
       q(1),
       ],
    q(dieri) => [
-      q(2038),
+      q(2039),
       q(0),
       ],
    q(digaro-mishmi) => [
-      q(4292),
+      q(4294),
       q(0),
       ],
    q(digo) => [
-      q(2039),
+      q(2040),
       q(0),
       ],
    q(dii) => [
-      q(2184),
+      q(2185),
       q(0),
       ],
    q(dijim-bwilim) => [
-      q(1710),
+      q(1711),
       q(0),
       ],
    q(dilling) => [
-      q(2044),
+      q(2045),
       q(0),
       ],
    q(dima) => [
-      q(3115),
+      q(3116),
       q(0),
       ],
    q(dimasa) => [
-      q(2050),
+      q(2051),
       q(0),
       ],
    q(dimbong) => [
-      q(2041),
+      q(2042),
       q(0),
       ],
    q(dime) => [
-      q(2045),
+      q(2046),
       q(0),
       ],
    q(dimili) => [
@@ -31068,7 +31078,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(dimli (individual language)) => [
-      q(2048),
+      q(2049),
       q(0),
       ],
    q(dimli (macrolanguage)) => [
@@ -31076,11 +31086,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(6),
       ],
    q(dineor) => [
-      q(4526),
+      q(4528),
       q(1),
       ],
    q(ding) => [
-      q(2056),
+      q(2057),
       q(0),
       ],
    q(dinka) => [
@@ -31088,43 +31098,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dirari) => [
-      q(2051),
+      q(2052),
       q(0),
       ],
    q(dirasha) => [
-      q(2462),
+      q(2463),
       q(0),
       ],
    q(diri) => [
-      q(2193),
+      q(2194),
       q(0),
       ],
    q(diriku) => [
-      q(2052),
+      q(2053),
       q(0),
       ],
    q(dirim) => [
-      q(2049),
+      q(2050),
       q(0),
       ],
    q(disa) => [
-      q(2150),
+      q(2151),
       q(0),
       ],
    q(ditammari) => [
-      q(6402),
+      q(6404),
       q(0),
       ],
    q(ditidaht) => [
-      q(2157),
+      q(2158),
       q(0),
       ],
    q(diuwe) => [
-      q(2055),
+      q(2056),
       q(0),
       ],
    q(diuxi-tilantongo mixtec) => [
-      q(7508),
+      q(7510),
       q(0),
       ],
    q(divehi) => [
@@ -31132,95 +31142,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dixon reef) => [
-      q(2054),
+      q(2055),
       q(0),
       ],
    q(dizin) => [
-      q(4197),
+      q(4199),
       q(0),
       ],
    q(djabwurrung) => [
-      q(6545),
+      q(6547),
       q(0),
       ],
    q(djadjawurrung) => [
-      q(2057),
+      q(2058),
       q(0),
       ],
    q(djambarrpuyngu) => [
-      q(2069),
+      q(2070),
       q(0),
       ],
    q(djamindjung) => [
-      q(2060),
+      q(2061),
       q(0),
       ],
    q(djangu) => [
-      q(2022),
+      q(2023),
       q(1),
       ],
    q(djangun) => [
-      q(2062),
+      q(2063),
       q(0),
       ],
    q(djauan) => [
-      q(2067),
+      q(2068),
       q(0),
       ],
    q(djawi) => [
-      q(2071),
+      q(2072),
       q(0),
       ],
    q(djeebbana) => [
-      q(2064),
+      q(2065),
       q(0),
       ],
    q(djimini senoufo) => [
-      q(2201),
+      q(2202),
       q(0),
       ],
    q(djinang) => [
-      q(2063),
+      q(2064),
       q(0),
       ],
    q(djinba) => [
-      q(2058),
+      q(2059),
       q(0),
       ],
    q(djingili) => [
-      q(3095),
+      q(3096),
       q(0),
       ],
    q(djiwarli) => [
-      q(2207),
+      q(2208),
       q(0),
       ],
    q(dobel) => [
-      q(3679),
+      q(3681),
       q(0),
       ],
    q(dobu) => [
-      q(2113),
+      q(2114),
       q(0),
       ],
    q(doe) => [
-      q(2115),
+      q(2116),
       q(0),
       ],
    q(doga) => [
-      q(2008),
+      q(2009),
       q(0),
       ],
    q(doghoro) => [
-      q(2019),
+      q(2020),
       q(0),
       ],
    q(dogose) => [
-      q(2125),
+      q(2126),
       q(0),
       ],
    q(dogoso) => [
-      q(2015),
+      q(2016),
       q(0),
       ],
    q(dogri) => [
@@ -31228,7 +31238,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dogri (individual language)) => [
-      q(2014),
+      q(2015),
       q(0),
       ],
    q(dogri (macrolanguage)) => [
@@ -31240,127 +31250,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dogul dom dogon) => [
-      q(1960),
+      q(1961),
       q(0),
       ],
    q(doka) => [
-      q(1961),
+      q(1962),
       q(0),
       ],
    q(doko-uyanga) => [
-      q(6965),
+      q(6967),
       q(0),
       ],
    q(dolgan) => [
-      q(2077),
+      q(2078),
       q(0),
       ],
    q(dolpo) => [
-      q(2136),
+      q(2137),
       q(0),
       ],
    q(dom) => [
-      q(2112),
+      q(2113),
       q(0),
       ],
    q(domaaki) => [
-      q(2087),
+      q(2088),
       q(0),
       ],
    q(domari) => [
-      q(5820),
+      q(5822),
       q(0),
       ],
    q(dombe) => [
-      q(2127),
+      q(2128),
       q(0),
       ],
    q(dominican sign language) => [
-      q(2123),
+      q(2124),
       q(0),
       ],
    q(dompo) => [
-      q(2130),
+      q(2131),
       q(0),
       ],
    q(domu) => [
-      q(2116),
+      q(2117),
       q(0),
       ],
    q(domung) => [
-      q(2001),
+      q(2002),
       q(0),
       ],
    q(dondo) => [
-      q(2118),
+      q(2119),
       q(0),
       ],
    q(dong) => [
-      q(2117),
+      q(2118),
       q(0),
       ],
    q(dongo) => [
-      q(2121),
+      q(2122),
       q(0),
       ],
    q(dongolawi) => [
-      q(2012),
+      q(2013),
       q(1),
       ],
    q(dongotono) => [
-      q(1978),
+      q(1979),
       q(0),
       ],
    q(dongshanba lalo) => [
-      q(7649),
+      q(7651),
       q(0),
       ],
    q(dongxiang) => [
-      q(5927),
+      q(5929),
       q(0),
       ],
    q(donno so dogon) => [
-      q(1986),
+      q(1987),
       q(0),
       ],
    q(doondo) => [
-      q(1979),
+      q(1980),
       q(0),
       ],
    q(dori'o) => [
-      q(2124),
+      q(2125),
       q(0),
       ],
    q(dorig) => [
-      q(7259),
+      q(7261),
       q(1),
       ],
    q(doromu-koki) => [
-      q(3548),
+      q(3550),
       q(0),
       ],
    q(dororo) => [
-      q(2143),
+      q(2144),
       q(0),
       ],
    q(dorze) => [
-      q(2131),
+      q(2132),
       q(0),
       ],
    q(doso) => [
-      q(2119),
+      q(2120),
       q(0),
       ],
    q(dotyali) => [
-      q(2168),
+      q(2169),
       q(0),
       ],
    q(doutai) => [
-      q(6442),
+      q(6444),
       q(0),
       ],
    q(doyayo) => [
-      q(2128),
+      q(2129),
       q(0),
       ],
    q(dravidian languages) => [
@@ -31368,19 +31378,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(drehu) => [
-      q(2031),
+      q(2032),
       q(1),
       ],
    q(drents) => [
-      q(2145),
+      q(2146),
       q(0),
       ],
    q(drubea) => [
-      q(2173),
+      q(2174),
       q(1),
       ],
    q(drung) => [
-      q(2186),
+      q(2187),
       q(0),
       ],
    q(duala) => [
@@ -31388,127 +31398,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(duano) => [
-      q(2182),
+      q(2183),
       q(0),
       ],
    q(duau) => [
-      q(2192),
+      q(2193),
       q(0),
       ],
    q(dubli) => [
-      q(2169),
+      q(2170),
       q(0),
       ],
    q(dubu) => [
-      q(2093),
+      q(2094),
       q(0),
       ],
    q(dugun) => [
-      q(4799),
+      q(4801),
       q(0),
       ],
    q(duguri) => [
-      q(1964),
+      q(1965),
       q(0),
       ],
    q(dugwor) => [
-      q(2085),
+      q(2086),
       q(0),
       ],
    q(duhwa) => [
-      q(3206),
+      q(3208),
       q(0),
       ],
    q(duke) => [
-      q(4924),
+      q(4926),
       q(0),
       ],
    q(dulbu) => [
-      q(1966),
+      q(1967),
       q(0),
       ],
    q(duli) => [
-      q(2191),
+      q(2192),
       q(0),
       ],
    q(duma) => [
-      q(2081),
+      q(2082),
       q(0),
       ],
    q(dumbea) => [
-      q(2173),
+      q(2174),
       q(0),
       ],
    q(dumi) => [
-      q(2185),
+      q(2186),
       q(0),
       ],
    q(dumpas) => [
-      q(2094),
+      q(2095),
       q(0),
       ],
    q(dumun) => [
-      q(2176),
+      q(2177),
       q(0),
       ],
    q(duna) => [
-      q(2170),
+      q(2171),
       q(0),
       ],
    q(dungan) => [
-      q(2101),
+      q(2102),
       q(0),
       ],
    q(dungmali) => [
-      q(5734),
+      q(5736),
       q(0),
       ],
    q(dungra bhil) => [
-      q(2175),
+      q(2176),
       q(0),
       ],
    q(dungu) => [
-      q(1972),
+      q(1973),
       q(0),
       ],
    q(dupaninan agta) => [
-      q(2181),
+      q(2182),
       q(0),
       ],
    q(dura) => [
-      q(2142),
+      q(2143),
       q(0),
       ],
    q(duri) => [
-      q(4612),
+      q(4614),
       q(0),
       ],
    q(duriankere) => [
-      q(1965),
+      q(1966),
       q(0),
       ],
    q(duruma) => [
-      q(2174),
+      q(2175),
       q(0),
       ],
    q(duruwa) => [
-      q(5387),
+      q(5389),
       q(0),
       ],
    q(dusner) => [
-      q(2152),
+      q(2153),
       q(0),
       ],
    q(dusun deyah) => [
-      q(2180),
+      q(2181),
       q(0),
       ],
    q(dusun malang) => [
-      q(2183),
+      q(2184),
       q(0),
       ],
    q(dusun witu) => [
-      q(2188),
+      q(2189),
       q(0),
       ],
    q(dutch) => [
@@ -31516,7 +31526,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dutch sign language) => [
-      q(2148),
+      q(2149),
       q(0),
       ],
    q(dutch, middle (ca.1050-1350)) => [
@@ -31524,59 +31534,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dutton world speedwords) => [
-      q(2195),
+      q(2196),
       q(0),
       ],
    q(duungooma) => [
-      q(2189),
+      q(2190),
       q(0),
       ],
    q(duupa) => [
-      q(1940),
+      q(1941),
       q(0),
       ],
    q(duvle) => [
-      q(2187),
+      q(2188),
       q(0),
       ],
    q(duwai) => [
-      q(1967),
+      q(1968),
       q(0),
       ],
    q(duwet) => [
-      q(2667),
+      q(2668),
       q(0),
       ],
    q(duya) => [
-      q(3845),
+      q(3847),
       q(0),
       ],
    q(dwang) => [
-      q(5005),
+      q(5007),
       q(0),
       ],
    q(dyaabugay) => [
-      q(2205),
+      q(2206),
       q(0),
       ],
    q(dyaberdyaber) => [
-      q(2198),
+      q(2199),
       q(0),
       ],
    q(dyan) => [
-      q(2197),
+      q(2198),
       q(0),
       ],
    q(dyangadi) => [
-      q(2203),
+      q(2204),
       q(0),
       ],
    q(dyirbal) => [
-      q(1963),
+      q(1964),
       q(0),
       ],
    q(dyugun) => [
-      q(2199),
+      q(2200),
       q(0),
       ],
    q(dyula) => [
@@ -31584,19 +31594,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dza) => [
-      q(3080),
+      q(3081),
       q(0),
       ],
    q(dzalakha) => [
-      q(2209),
+      q(2210),
       q(0),
       ],
    q(dzando) => [
-      q(2210),
+      q(2211),
       q(0),
       ],
    q(dzao min) => [
-      q(1384),
+      q(1385),
       q(0),
       ],
    q(dzodinka) => [
@@ -31608,39 +31618,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(dzuungoo) => [
-      q(2105),
+      q(2106),
       q(0),
       ],
    q(e) => [
-      q(2220),
+      q(2221),
       q(0),
       ],
    q(e'ma buyang) => [
-      q(7801),
+      q(7803),
       q(0),
       ],
    q(e'napa woromaipu) => [
-      q(5367),
+      q(5369),
       q(0),
       ],
    q(early tripuri) => [
-      q(7520),
+      q(7522),
       q(0),
       ],
    q(east ambae) => [
-      q(5250),
+      q(5252),
       q(0),
       ],
    q(east berawan) => [
-      q(7828),
+      q(7830),
       q(0),
       ],
    q(east damar) => [
-      q(2091),
+      q(2092),
       q(0),
       ],
    q(east futuna) => [
-      q(2381),
+      q(2382),
       q(0),
       ],
    q(east germanic languages) => [
@@ -31648,23 +31658,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(east kewa) => [
-      q(3394),
+      q(3396),
       q(0),
       ],
    q(east limba) => [
-      q(3974),
+      q(3976),
       q(0),
       ],
    q(east makian) => [
-      q(4364),
+      q(4366),
       q(0),
       ],
    q(east masela) => [
-      q(7020),
+      q(7022),
       q(0),
       ],
    q(east nyala) => [
-      q(4946),
+      q(4948),
       q(0),
       ],
    q(east slavic languages) => [
@@ -31672,11 +31682,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(east tarangan) => [
-      q(6690),
+      q(6692),
       q(0),
       ],
    q(east yugur) => [
-      q(7779),
+      q(7781),
       q(0),
       ],
    q(eastern abnaki) => [
@@ -31688,7 +31698,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern apurimac quechua) => [
-      q(5700),
+      q(5702),
       q(0),
       ],
    q(eastern arrernte) => [
@@ -31696,35 +31706,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern balochi) => [
-      q(1174),
+      q(1175),
       q(0),
       ],
    q(eastern bolivian guarani) => [
-      q(2649),
+      q(2650),
       q(0),
       ],
    q(eastern bontok) => [
-      q(2213),
+      q(2214),
       q(0),
       ],
    q(eastern bru) => [
-      q(1440),
+      q(1441),
       q(0),
       ],
    q(eastern canadian inuktitut) => [
-      q(2938),
+      q(2939),
       q(0),
       ],
    q(eastern cham) => [
-      q(1747),
+      q(1748),
       q(0),
       ],
    q(eastern durango nahuatl) => [
-      q(1013),
+      q(1014),
       q(0),
       ],
    q(eastern egyptian bedawi arabic) => [
-      q(0958),
+      q(0959),
       q(0),
       ],
    q(eastern frisian) => [
@@ -31732,75 +31742,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern gorkha tamang) => [
-      q(6477),
+      q(6479),
       q(0),
       ],
    q(eastern gurung) => [
-      q(2497),
+      q(2498),
       q(0),
       ],
    q(eastern highland chatino) => [
-      q(1782),
+      q(1783),
       q(0),
       ],
    q(eastern highland otomi) => [
-      q(5321),
+      q(5323),
       q(0),
       ],
    q(eastern hongshuihe zhuang) => [
-      q(7836),
+      q(7838),
       q(0),
       ],
    q(eastern huasteca nahuatl) => [
-      q(4862),
+      q(4864),
       q(0),
       ],
    q(eastern huishui hmong) => [
-      q(2780),
+      q(2781),
       q(0),
       ],
    q(eastern huishui miao) => [
-      q(2780),
+      q(2781),
       q(1),
       ],
    q(eastern karaboro) => [
-      q(7475),
+      q(7477),
       q(0),
       ],
    q(eastern karnic) => [
-      q(2231),
+      q(2232),
       q(0),
       ],
    q(eastern katu) => [
-      q(3639),
+      q(3641),
       q(0),
       ],
    q(eastern kayah) => [
-      q(2241),
+      q(2242),
       q(0),
       ],
    q(eastern keres) => [
-      q(3259),
+      q(3261),
       q(0),
       ],
    q(eastern khumi chin) => [
-      q(1707),
+      q(1708),
       q(0),
       ],
    q(eastern krahn) => [
-      q(3560),
+      q(3562),
       q(0),
       ],
    q(eastern lalu) => [
-      q(7657),
+      q(7659),
       q(0),
       ],
    q(eastern lawa) => [
-      q(4100),
+      q(4102),
       q(0),
       ],
    q(eastern magar) => [
-      q(4263),
+      q(4265),
       q(0),
       ],
    q(eastern malayo-polynesian languages) => [
@@ -31808,63 +31818,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern maninkakan) => [
-      q(2254),
+      q(2255),
       q(0),
       ],
    q(eastern mari) => [
-      q(4289),
+      q(4291),
       q(0),
       ],
    q(eastern maroon creole) => [
-      q(2065),
+      q(2066),
       q(0),
       ],
    q(eastern meohang) => [
-      q(2252),
+      q(2253),
       q(0),
       ],
    q(eastern mnong) => [
-      q(4418),
+      q(4420),
       q(0),
       ],
    q(eastern muria) => [
-      q(2259),
+      q(2260),
       q(0),
       ],
    q(eastern ngad'a) => [
-      q(4805),
+      q(4807),
       q(0),
       ],
    q(eastern nisu) => [
-      q(5023),
+      q(5025),
       q(0),
       ],
    q(eastern ojibwa) => [
-      q(5218),
+      q(5220),
       q(0),
       ],
    q(eastern oromo) => [
-      q(2713),
+      q(2714),
       q(0),
       ],
    q(eastern parbate kham) => [
-      q(3358),
+      q(3360),
       q(0),
       ],
    q(eastern penan) => [
-      q(5420),
+      q(5422),
       q(0),
       ],
    q(eastern pomo) => [
-      q(5403),
+      q(5405),
       q(0),
       ],
    q(eastern qiandong miao) => [
-      q(2790),
+      q(2791),
       q(0),
       ],
    q(eastern subanen) => [
-      q(5985),
+      q(5987),
       q(0),
       ],
    q(eastern sudanic languages) => [
@@ -31872,63 +31882,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eastern tamang) => [
-      q(6363),
+      q(6365),
       q(0),
       ],
    q(eastern tawbuid) => [
-      q(1335),
+      q(1336),
       q(0),
       ],
    q(eastern xiangxi miao) => [
-      q(4591),
+      q(4593),
       q(0),
       ],
    q(eastern xwla gbe) => [
-      q(2440),
+      q(2441),
       q(0),
       ],
    q(eastern yiddish) => [
-      q(7615),
+      q(7617),
       q(0),
       ],
    q(ebira) => [
-      q(2919),
+      q(2920),
       q(0),
       ],
    q(eblan) => [
-      q(7326),
+      q(7328),
       q(0),
       ],
    q(ebrie) => [
-      q(2215),
+      q(2216),
       q(0),
       ],
    q(ebughu) => [
-      q(2212),
+      q(2213),
       q(0),
       ],
    q(ecuadorian sign language) => [
-      q(2218),
+      q(2219),
       q(0),
       ],
    q(ede cabe) => [
-      q(1666),
+      q(1667),
       q(0),
       ],
    q(ede ica) => [
-      q(2897),
+      q(2898),
       q(0),
       ],
    q(ede idaca) => [
-      q(2904),
+      q(2905),
       q(0),
       ],
    q(ede ije) => [
-      q(2935),
+      q(2936),
       q(0),
       ],
    q(edera awyu) => [
-      q(0983),
+      q(0984),
       q(0),
       ],
    q(edo) => [
@@ -31936,27 +31946,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(edolo) => [
-      q(2307),
+      q(2308),
       q(0),
       ],
    q(edomite) => [
-      q(7324),
+      q(7326),
       q(0),
       ],
    q(edopi) => [
-      q(1959),
+      q(1960),
       q(0),
       ],
    q(edwas) => [
-      q(1346),
+      q(1347),
       q(2),
       ],
    q(efai) => [
-      q(2221),
+      q(2222),
       q(0),
       ],
    q(efe) => [
-      q(2222),
+      q(2223),
       q(0),
       ],
    q(efik) => [
@@ -31964,19 +31974,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(efutop) => [
-      q(5205),
+      q(5207),
       q(0),
       ],
    q(ega) => [
-      q(2223),
+      q(2224),
       q(0),
       ],
    q(eggon) => [
-      q(2225),
+      q(2226),
       q(0),
       ],
    q(egypt sign language) => [
-      q(2294),
+      q(2295),
       q(0),
       ],
    q(egyptian (ancient)) => [
@@ -31992,23 +32002,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ehueun) => [
-      q(2226),
+      q(2227),
       q(0),
       ],
    q(eipomek) => [
-      q(2227),
+      q(2228),
       q(0),
       ],
    q(eitiep) => [
-      q(2228),
+      q(2229),
       q(0),
       ],
    q(ejagham) => [
-      q(2310),
+      q(2311),
       q(0),
       ],
    q(ejamat) => [
-      q(2230),
+      q(2231),
       q(0),
       ],
    q(ekajuk) => [
@@ -32016,39 +32026,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ekari) => [
-      q(2233),
+      q(2234),
       q(0),
       ],
    q(ekegusii) => [
-      q(2664),
+      q(2665),
       q(1),
       ],
    q(eki) => [
-      q(2234),
+      q(2235),
       q(0),
       ],
    q(ekit) => [
-      q(2232),
+      q(2233),
       q(0),
       ],
    q(ekpeye) => [
-      q(2239),
+      q(2240),
       q(0),
       ],
    q(el alto zapotec) => [
-      q(7927),
+      q(7929),
       q(0),
       ],
    q(el hugeirat) => [
-      q(2243),
+      q(2244),
       q(0),
       ],
    q(el molo) => [
-      q(2247),
+      q(2248),
       q(0),
       ],
    q(el nayar cora) => [
-      q(1854),
+      q(1855),
       q(0),
       ],
    q(elamite) => [
@@ -32056,23 +32066,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eleme) => [
-      q(2246),
+      q(2247),
       q(0),
       ],
    q(elepi) => [
-      q(2242),
+      q(2243),
       q(0),
       ],
    q(elip) => [
-      q(2237),
+      q(2238),
       q(0),
       ],
    q(elkei) => [
-      q(2245),
+      q(2246),
       q(0),
       ],
    q(elotepec zapotec) => [
-      q(7951),
+      q(7953),
       q(0),
       ],
    q(eloyi) => [
@@ -32080,99 +32090,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(elseng) => [
-      q(4509),
+      q(4511),
       q(0),
       ],
    q(elu) => [
-      q(2248),
+      q(2249),
       q(0),
       ],
    q(elymian) => [
-      q(7404),
+      q(7406),
       q(0),
       ],
    q(emae) => [
-      q(4409),
+      q(4411),
       q(0),
       ],
    q(emai-iuleha-ora) => [
-      q(2249),
+      q(2250),
       q(0),
       ],
    q(eman) => [
-      q(2256),
+      q(2257),
       q(0),
       ],
    q(embaloh) => [
-      q(2250),
+      q(2251),
       q(0),
       ],
    q(embera-baudo) => [
-      q(1090),
+      q(1091),
       q(0),
       ],
    q(embera-catio) => [
-      q(1896),
+      q(1897),
       q(0),
       ],
    q(embera-chami) => [
-      q(1786),
+      q(1787),
       q(0),
       ],
    q(embera-tado) => [
-      q(6428),
+      q(6430),
       q(0),
       ],
    q(embu) => [
-      q(2216),
+      q(2217),
       q(0),
       ],
    q(emem) => [
-      q(2273),
+      q(2274),
       q(1),
       ],
    q(emerillon) => [
-      q(2251),
+      q(2252),
       q(0),
       ],
    q(emilian) => [
-      q(2224),
+      q(2225),
       q(0),
       ],
    q(emplawas) => [
-      q(2260),
+      q(2261),
       q(0),
       ],
    q(emumu) => [
-      q(2273),
+      q(2274),
       q(0),
       ],
    q(en) => [
-      q(2265),
+      q(2266),
       q(0),
       ],
    q(enawene-nawe) => [
-      q(6915),
+      q(6917),
       q(0),
       ],
    q(ende) => [
-      q(2266),
+      q(2267),
       q(0),
       ],
    q(enga) => [
-      q(2272),
+      q(2273),
       q(0),
       ],
    q(engdewu) => [
-      q(4849),
+      q(4851),
       q(0),
       ],
    q(engenni) => [
-      q(2270),
+      q(2271),
       q(0),
       ],
    q(enggano) => [
-      q(2271),
+      q(2272),
       q(0),
       ],
    q(english) => [
@@ -32192,83 +32202,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(enlhet) => [
-      q(2269),
+      q(2270),
       q(0),
       ],
    q(enrekang) => [
-      q(5634),
+      q(5636),
       q(0),
       ],
    q(enu) => [
-      q(2274),
+      q(2275),
       q(0),
       ],
    q(enwan (akwa ibom state)) => [
-      q(2276),
+      q(2277),
       q(0),
       ],
    q(enwan (edu state)) => [
-      q(2275),
+      q(2276),
       q(0),
       ],
    q(enxet) => [
-      q(2277),
+      q(2278),
       q(0),
       ],
    q(enya) => [
-      q(2487),
+      q(2488),
       q(0),
       ],
    q(epena) => [
-      q(6053),
+      q(6055),
       q(0),
       ],
    q(epi-olmec) => [
-      q(7331),
+      q(7333),
       q(0),
       ],
    q(epie) => [
-      q(2279),
+      q(2280),
       q(0),
       ],
    q(epigraphic mayan) => [
-      q(2262),
+      q(2263),
       q(0),
       ],
    q(eravallan) => [
-      q(2280),
+      q(2281),
       q(0),
       ],
    q(erave) => [
-      q(3399),
+      q(3401),
       q(0),
       ],
    q(ere) => [
-      q(6802),
+      q(6804),
       q(0),
       ],
    q(eritai) => [
-      q(2288),
+      q(2289),
       q(0),
       ],
    q(erokwanas) => [
-      q(2289),
+      q(2290),
       q(0),
       ],
    q(erre) => [
-      q(2286),
+      q(2287),
       q(0),
       ],
    q(erromintxela) => [
-      q(2261),
+      q(2262),
       q(0),
       ],
    q(ersu) => [
-      q(2287),
+      q(2288),
       q(0),
       ],
    q(eruwa) => [
-      q(2282),
+      q(2283),
       q(0),
       ],
    q(erzya) => [
@@ -32276,19 +32286,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(esan) => [
-      q(3000),
+      q(3001),
       q(0),
       ],
    q(ese) => [
-      q(4167),
+      q(4169),
       q(0),
       ],
    q(ese ejja) => [
-      q(2290),
+      q(2291),
       q(0),
       ],
    q(eshtehardi) => [
-      q(2291),
+      q(2292),
       q(0),
       ],
    q(esimbi) => [
@@ -32296,7 +32306,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(eskayan) => [
-      q(2301),
+      q(2302),
       q(0),
       ],
    q(eskimo-aleut languages) => [
@@ -32308,11 +32318,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(esselen) => [
-      q(2298),
+      q(2299),
       q(0),
       ],
    q(estado de mexico otomi) => [
-      q(5325),
+      q(5327),
       q(0),
       ],
    q(estonian) => [
@@ -32320,75 +32330,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(estonian sign language) => [
-      q(2297),
+      q(2298),
       q(0),
       ],
    q(esuma) => [
-      q(2295),
+      q(2296),
       q(0),
       ],
    q(etchemin) => [
-      q(2303),
+      q(2304),
       q(0),
       ],
    q(etebi) => [
-      q(2302),
+      q(2303),
       q(0),
       ],
    q(eten) => [
-      q(2311),
+      q(2312),
       q(0),
       ],
    q(eteocretan) => [
-      q(2217),
+      q(2218),
       q(0),
       ],
    q(eteocypriot) => [
-      q(2219),
+      q(2220),
       q(0),
       ],
    q(ethiopian sign language) => [
-      q(2304),
+      q(2305),
       q(0),
       ],
    q(etkywan) => [
-      q(2898),
+      q(2899),
       q(0),
       ],
    q(eton (cameroon)) => [
-      q(2306),
+      q(2307),
       q(0),
       ],
    q(eton (vanuatu)) => [
-      q(2305),
+      q(2306),
       q(0),
       ],
    q(etruscan) => [
-      q(2309),
+      q(2310),
       q(0),
       ],
    q(etulo) => [
-      q(6955),
+      q(6957),
       q(0),
       ],
    q(evant) => [
-      q(1637),
+      q(1638),
       q(0),
       ],
    q(even) => [
-      q(2313),
+      q(2314),
       q(0),
       ],
    q(evenki) => [
-      q(2315),
+      q(2316),
       q(0),
       ],
    q(eviya) => [
-      q(2484),
+      q(2485),
       q(0),
       ],
    q(ewage-notu) => [
-      q(5025),
+      q(5027),
       q(0),
       ],
    q(ewe) => [
@@ -32400,67 +32410,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(extremaduran) => [
-      q(2316),
+      q(2317),
       q(0),
       ],
    q(eyak) => [
-      q(2317),
+      q(2318),
       q(0),
       ],
    q(ezaa) => [
-      q(2319),
+      q(2320),
       q(0),
       ],
    q(fa d'ambu) => [
-      q(2322),
+      q(2323),
       q(0),
       ],
    q(fagani) => [
-      q(2324),
+      q(2325),
       q(0),
       ],
    q(fagauvea) => [
-      q(6961),
+      q(6963),
       q(1),
       ],
    q(faire atta) => [
-      q(1019),
+      q(1020),
       q(0),
       ],
    q(faita) => [
-      q(2328),
+      q(2329),
       q(0),
       ],
    q(faiwol) => [
-      q(2327),
+      q(2328),
       q(0),
       ],
    q(fala) => [
-      q(2335),
+      q(2336),
       q(0),
       ],
    q(falam chin) => [
-      q(1713),
+      q(1714),
       q(0),
       ],
    q(fali) => [
-      q(2354),
+      q(2355),
       q(0),
       ],
    q(faliscan) => [
-      q(7336),
+      q(7338),
       q(0),
       ],
    q(fam) => [
-      q(2331),
+      q(2332),
       q(0),
       ],
    q(fanagalo) => [
-      q(2361),
+      q(2362),
       q(0),
       ],
    q(fanamaket) => [
-      q(1244),
+      q(1245),
       q(0),
       ],
    q(fang) => [
@@ -32468,7 +32478,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fang (cameroon)) => [
-      q(2329),
+      q(2330),
       q(0),
       ],
    q(fang (equatorial guinea)) => [
@@ -32476,7 +32486,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(fania) => [
-      q(2362),
+      q(2363),
       q(0),
       ],
    q(fanti) => [
@@ -32484,11 +32494,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(far western muria) => [
-      q(2360),
+      q(2361),
       q(0),
       ],
    q(farefare) => [
-      q(2657),
+      q(2658),
       q(0),
       ],
    q(faroese) => [
@@ -32496,31 +32506,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fas) => [
-      q(2369),
+      q(2370),
       q(0),
       ],
    q(fasu) => [
-      q(2321),
+      q(2322),
       q(0),
       ],
    q(fataleka) => [
-      q(2333),
+      q(2334),
       q(0),
       ],
    q(fataluku) => [
-      q(1980),
+      q(1981),
       q(0),
       ],
    q(fayu) => [
-      q(2334),
+      q(2335),
       q(0),
       ],
    q(fe'fe') => [
-      q(2359),
+      q(2360),
       q(0),
       ],
    q(fedan) => [
-      q(5398),
+      q(5400),
       q(1),
       ],
    q(fembe) => [
@@ -32528,15 +32538,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fernando po creole english) => [
-      q(2368),
+      q(2369),
       q(0),
       ],
    q(feroge) => [
-      q(2340),
+      q(2341),
       q(0),
       ],
    q(fiji hindi) => [
-      q(2755),
+      q(2756),
       q(0),
       ],
    q(fijian) => [
@@ -32548,15 +32558,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(filomena mata-coahuitlan totonac) => [
-      q(6576),
+      q(6578),
       q(0),
       ],
    q(finland-swedish sign language) => [
-      q(2378),
+      q(2379),
       q(0),
       ],
    q(finlandssvenskt teckensprak) => [
-      q(2378),
+      q(2379),
       q(1),
       ],
    q(finnish) => [
@@ -32564,7 +32574,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(finnish sign language) => [
-      q(2376),
+      q(2377),
       q(0),
       ],
    q(finno-ugrian languages) => [
@@ -32572,23 +32582,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(finongan) => [
-      q(2325),
+      q(2326),
       q(0),
       ],
    q(fipa) => [
-      q(2346),
+      q(2347),
       q(0),
       ],
    q(firan) => [
-      q(2347),
+      q(2348),
       q(0),
       ],
    q(fiwaga) => [
-      q(2349),
+      q(2350),
       q(0),
       ],
    q(flaaitaal) => [
-      q(2358),
+      q(2359),
       q(0),
       ],
    q(flemish) => [
@@ -32596,31 +32606,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(flemish sign language) => [
-      q(6994),
+      q(6996),
       q(1),
       ],
    q(flinders island) => [
-      q(2356),
+      q(2357),
       q(0),
       ],
    q(foau) => [
-      q(2353),
+      q(2354),
       q(0),
       ],
    q(foi) => [
-      q(2364),
+      q(2365),
       q(0),
       ],
    q(foia foia) => [
-      q(2341),
+      q(2342),
       q(0),
       ],
    q(folopa) => [
-      q(5577),
+      q(5579),
       q(0),
       ],
    q(foma) => [
-      q(2365),
+      q(2366),
       q(0),
       ],
    q(fon) => [
@@ -32628,27 +32638,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fongoro) => [
-      q(2343),
+      q(2344),
       q(0),
       ],
    q(foodo) => [
-      q(2363),
+      q(2364),
       q(0),
       ],
    q(forak) => [
-      q(2374),
+      q(2375),
       q(0),
       ],
    q(fordata) => [
-      q(2371),
+      q(2372),
       q(0),
       ],
    q(fore) => [
-      q(2366),
+      q(2367),
       q(0),
       ],
    q(forest enets) => [
-      q(2267),
+      q(2268),
       q(0),
       ],
    q(formosan languages) => [
@@ -32656,19 +32666,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fortsenal) => [
-      q(2375),
+      q(2376),
       q(0),
       ],
    q(francisco leon zoque) => [
-      q(7911),
+      q(7913),
       q(0),
       ],
    q(francoprovencal) => [
-      q(2373),
+      q(2374),
       q(1),
       ],
    q(frankish) => [
-      q(2372),
+      q(2373),
       q(0),
       ],
    q(french) => [
@@ -32676,11 +32686,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(french belgian sign language) => [
-      q(5984),
+      q(5986),
       q(1),
       ],
    q(french sign language) => [
-      q(2377),
+      q(2378),
       q(0),
       ],
    q(french, middle (ca.1400-1600)) => [
@@ -32704,51 +32714,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(fuliiru) => [
-      q(2357),
+      q(2358),
       q(0),
       ],
    q(fulnio) => [
-      q(2388),
+      q(2389),
       q(0),
       ],
    q(fum) => [
-      q(2387),
+      q(2388),
       q(0),
       ],
    q(fungwa) => [
-      q(6888),
+      q(6890),
       q(0),
       ],
    q(fur) => [
-      q(2394),
+      q(2395),
       q(0),
       ],
    q(furu) => [
-      q(2391),
+      q(2392),
       q(0),
       ],
    q(futuna-aniwa) => [
-      q(2390),
+      q(2391),
       q(0),
       ],
    q(fuyug) => [
-      q(2393),
+      q(2394),
       q(0),
       ],
    q(fwai) => [
-      q(2395),
+      q(2396),
       q(0),
       ],
    q(fwe) => [
-      q(2396),
+      q(2397),
       q(0),
       ],
    q(fyam) => [
-      q(5670),
+      q(5672),
       q(0),
       ],
    q(fyer) => [
-      q(2345),
+      q(2346),
       q(0),
       ],
    q(ga) => [
@@ -32756,59 +32766,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ga'anda) => [
-      q(2608),
+      q(2609),
       q(0),
       ],
    q(ga'dang) => [
-      q(2457),
+      q(2458),
       q(0),
       ],
    q(gaa) => [
-      q(6734),
+      q(6736),
       q(0),
       ],
    q(gaam) => [
-      q(6386),
+      q(6388),
       q(0),
       ],
    q(gabi-gabi) => [
-      q(2439),
+      q(2440),
       q(0),
       ],
    q(gabri) => [
-      q(2397),
+      q(2398),
       q(0),
       ],
    q(gabrielino-fernandeno) => [
-      q(7340),
+      q(7342),
       q(0),
       ],
    q(gadang) => [
-      q(2461),
+      q(2462),
       q(0),
       ],
    q(gaddang) => [
-      q(2399),
+      q(2400),
       q(0),
       ],
    q(gaddi) => [
-      q(2428),
+      q(2429),
       q(0),
       ],
    q(gade) => [
-      q(2475),
+      q(2476),
       q(0),
       ],
    q(gade lohar) => [
-      q(2451),
+      q(2452),
       q(0),
       ],
    q(gadjerawang) => [
-      q(2458),
+      q(2459),
       q(0),
       ],
    q(gadsup) => [
-      q(2405),
+      q(2406),
       q(0),
       ],
    q(gaelic) => [
@@ -32816,59 +32826,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gafat) => [
-      q(2489),
+      q(2490),
       q(0),
       ],
    q(gagadu) => [
-      q(2437),
+      q(2438),
       q(0),
       ],
    q(gagauz) => [
-      q(2402),
+      q(2403),
       q(0),
       ],
    q(gagnoa bete) => [
-      q(1475),
+      q(1476),
       q(0),
       ],
    q(gagu) => [
-      q(2500),
+      q(2501),
       q(0),
       ],
    q(gahri) => [
-      q(1155),
+      q(1156),
       q(0),
       ],
    q(gaikundi) => [
-      q(2423),
+      q(2424),
       q(0),
       ],
    q(gail) => [
-      q(2515),
+      q(2516),
       q(0),
       ],
    q(gaina) => [
-      q(2448),
+      q(2449),
       q(0),
       ],
    q(gal) => [
-      q(2411),
+      q(2412),
       q(0),
       ],
    q(galambu) => [
-      q(2549),
+      q(2550),
       q(0),
       ],
    q(galatian) => [
-      q(7337),
+      q(7339),
       q(0),
       ],
    q(galela) => [
-      q(2426),
+      q(2427),
       q(0),
       ],
    q(galeya) => [
-      q(2413),
+      q(2414),
       q(0),
       ],
    q(galibi carib) => [
@@ -32876,7 +32886,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(galice) => [
-      q(2445),
+      q(2446),
       q(0),
       ],
    q(galician) => [
@@ -32884,11 +32894,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(galindan) => [
-      q(7343),
+      q(7345),
       q(0),
       ],
    q(gallurese sardinian) => [
-      q(5952),
+      q(5954),
       q(0),
       ],
    q(galo) => [
@@ -32896,51 +32906,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(galolen) => [
-      q(2407),
+      q(2408),
       q(0),
       ],
    q(gamale kham) => [
-      q(3315),
+      q(3317),
       q(0),
       ],
    q(gambera) => [
-      q(2554),
+      q(2555),
       q(0),
       ],
    q(gambian wolof) => [
-      q(7199),
+      q(7201),
       q(0),
       ],
    q(gamilaraay) => [
-      q(3430),
+      q(3432),
       q(0),
       ],
    q(gamit) => [
-      q(2429),
+      q(2430),
       q(0),
       ],
    q(gamkonora) => [
-      q(2406),
+      q(2407),
       q(0),
       ],
    q(gamo) => [
-      q(2562),
+      q(2563),
       q(0),
       ],
    q(gamo-ningi) => [
-      q(1473),
+      q(1474),
       q(0),
       ],
    q(gan chinese) => [
-      q(2409),
+      q(2410),
       q(0),
       ],
    q(gana) => [
-      q(2574),
+      q(2575),
       q(1),
       ],
    q(ganang) => [
-      q(2570),
+      q(2571),
       q(0),
       ],
    q(ganda) => [
@@ -32948,115 +32958,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gandhari) => [
-      q(5425),
+      q(5427),
       q(0),
       ],
    q(gane) => [
-      q(2708),
+      q(2709),
       q(0),
       ],
    q(ganggalida) => [
-      q(2444),
+      q(2445),
       q(0),
       ],
    q(ganglau) => [
-      q(2496),
+      q(2497),
       q(0),
       ],
    q(gangte) => [
-      q(2567),
+      q(2568),
       q(0),
       ],
    q(gangulu) => [
-      q(2575),
+      q(2576),
       q(0),
       ],
    q(gants) => [
-      q(2410),
+      q(2411),
       q(0),
       ],
    q(ganza) => [
-      q(2706),
+      q(2707),
       q(0),
       ],
    q(ganzi) => [
-      q(2583),
+      q(2584),
       q(0),
       ],
    q(gao) => [
-      q(2490),
+      q(2491),
       q(0),
       ],
    q(gapapaiwa) => [
-      q(5661),
+      q(5663),
       q(0),
       ],
    q(garhwali) => [
-      q(2430),
+      q(2431),
       q(0),
       ],
    q(garifuna) => [
-      q(1639),
+      q(1640),
       q(0),
       ],
    q(garig-ilgar) => [
-      q(2953),
+      q(2954),
       q(0),
       ],
    q(garingbal) => [
-      q(7342),
+      q(7344),
       q(0),
       ],
    q(garlali) => [
-      q(2548),
+      q(2549),
       q(0),
       ],
    q(garo) => [
-      q(2624),
+      q(2625),
       q(0),
       ],
    q(garre) => [
-      q(2486),
+      q(2487),
       q(0),
       ],
    q(garrwa) => [
-      q(7217),
+      q(7219),
       q(0),
       ],
    q(garus) => [
-      q(2695),
+      q(2696),
       q(0),
       ],
    q(garza) => [
-      q(7345),
+      q(7347),
       q(0),
       ],
    q(gata') => [
-      q(2412),
+      q(2413),
       q(0),
       ],
    q(gavak) => [
-      q(2083),
+      q(2084),
       q(0),
       ],
    q(gavar) => [
-      q(2600),
+      q(2601),
       q(0),
       ],
    q(gaviao do jiparana) => [
-      q(2673),
+      q(2674),
       q(0),
       ],
    q(gawar-bati) => [
-      q(2689),
+      q(2690),
       q(0),
       ],
    q(gawwada) => [
-      q(2681),
+      q(2682),
       q(0),
       ],
    q(gayil) => [
-      q(2701),
+      q(2702),
       q(0),
       ],
    q(gayo) => [
@@ -33064,27 +33074,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gazi) => [
-      q(2707),
+      q(2708),
       q(0),
       ],
    q(gbagyi) => [
-      q(2435),
+      q(2436),
       q(0),
       ],
    q(gban) => [
-      q(2500),
+      q(2501),
       q(1),
       ],
    q(gbanu) => [
-      q(2438),
+      q(2439),
       q(0),
       ],
    q(gbanziri) => [
-      q(2424),
+      q(2425),
       q(0),
       ],
    q(gbari) => [
-      q(2441),
+      q(2442),
       q(0),
       ],
    q(gbaya) => [
@@ -33096,63 +33106,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(gbaya (sudan)) => [
-      q(3585),
+      q(3587),
       q(0),
       ],
    q(gbaya-bossangoa) => [
-      q(2433),
+      q(2434),
       q(0),
       ],
    q(gbaya-bozoum) => [
-      q(2434),
+      q(2435),
       q(0),
       ],
    q(gbaya-mbodomo) => [
-      q(2559),
+      q(2560),
       q(0),
       ],
    q(gbayi) => [
-      q(2699),
+      q(2700),
       q(0),
       ],
    q(gbesi gbe) => [
-      q(2436),
+      q(2437),
       q(0),
       ],
    q(gbii) => [
-      q(2491),
+      q(2492),
       q(0),
       ],
    q(gbin) => [
-      q(7338),
+      q(7340),
       q(0),
       ],
    q(gbiri-niragu) => [
-      q(2616),
+      q(2617),
       q(0),
       ],
    q(gboloo grebo) => [
-      q(2474),
+      q(2475),
       q(0),
       ],
    q(ge) => [
-      q(2785),
+      q(2786),
       q(0),
       ],
    q(geba karen) => [
-      q(3681),
+      q(3683),
       q(0),
       ],
    q(gebe) => [
-      q(2478),
+      q(2479),
       q(0),
       ],
    q(gedaged) => [
-      q(2454),
+      q(2455),
       q(0),
       ],
    q(gedeo) => [
-      q(2144),
+      q(2145),
       q(0),
       ],
    q(geez) => [
@@ -33160,39 +33170,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(geji) => [
-      q(2531),
+      q(2532),
       q(0),
       ],
    q(gejia) => [
-      q(2785),
+      q(2786),
       q(1),
       ],
    q(geko karen) => [
-      q(2506),
+      q(2507),
       q(0),
       ],
    q(gela) => [
-      q(4947),
+      q(4949),
       q(0),
       ],
    q(geman deng) => [
-      q(4654),
+      q(4656),
       q(1),
       ],
    q(geme) => [
-      q(2482),
+      q(2483),
       q(0),
       ],
    q(gen) => [
-      q(2479),
+      q(2480),
       q(0),
       ],
    q(gende) => [
-      q(2401),
+      q(2402),
       q(0),
       ],
    q(gengle) => [
-      q(2476),
+      q(2477),
       q(0),
       ],
    q(georgian) => [
@@ -33200,15 +33210,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gepo) => [
-      q(7635),
+      q(7637),
       q(0),
       ],
    q(gera) => [
-      q(2485),
+      q(2486),
       q(0),
       ],
    q(gergiko) => [
-      q(4453),
+      q(4455),
       q(1),
       ],
    q(german) => [
@@ -33216,7 +33226,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(german sign language) => [
-      q(2632),
+      q(2633),
       q(0),
       ],
    q(german, low) => [
@@ -33236,43 +33246,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(geruma) => [
-      q(2472),
+      q(2473),
       q(0),
       ],
    q(geser-gorom) => [
-      q(2483),
+      q(2484),
       q(0),
       ],
    q(gey) => [
-      q(2661),
+      q(2662),
       q(0),
       ],
    q(ghadames) => [
-      q(2502),
+      q(2503),
       q(0),
       ],
    q(ghanaian pidgin english) => [
-      q(2606),
+      q(2607),
       q(0),
       ],
    q(ghanaian sign language) => [
-      q(2631),
+      q(2632),
       q(0),
       ],
    q(ghandruk sign language) => [
-      q(2468),
+      q(2469),
       q(0),
       ],
    q(ghanongga) => [
-      q(2508),
+      q(2509),
       q(0),
       ],
    q(ghari) => [
-      q(2617),
+      q(2618),
       q(0),
       ],
    q(ghayavi) => [
-      q(1312),
+      q(1313),
       q(0),
       ],
    q(gheg albanian) => [
@@ -33280,19 +33290,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ghera) => [
-      q(2510),
+      q(2511),
       q(0),
       ],
    q(ghodoberi) => [
-      q(2465),
+      q(2466),
       q(0),
       ],
    q(ghomala') => [
-      q(1046),
+      q(1047),
       q(0),
       ],
    q(ghomara) => [
-      q(2509),
+      q(2510),
       q(0),
       ],
    q(ghotuo) => [
@@ -33300,27 +33310,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ghulfan) => [
-      q(2507),
+      q(2508),
       q(0),
       ],
    q(giangan) => [
-      q(1167),
+      q(1168),
       q(0),
       ],
    q(gibanawa) => [
-      q(2514),
+      q(2515),
       q(0),
       ],
    q(gichuka) => [
-      q(1906),
+      q(1907),
       q(1),
       ],
    q(gidar) => [
-      q(2516),
+      q(2517),
       q(0),
       ],
    q(giiwo) => [
-      q(3419),
+      q(3421),
       q(0),
       ],
    q(gikuyu) => [
@@ -33332,7 +33342,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gilaki) => [
-      q(2547),
+      q(2548),
       q(0),
       ],
    q(gilbertese) => [
@@ -33340,107 +33350,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gilima) => [
-      q(2528),
+      q(2529),
       q(0),
       ],
    q(gilyak) => [
-      q(4898),
+      q(4900),
       q(0),
       ],
    q(gimi (eastern highlands)) => [
-      q(2519),
+      q(2520),
       q(0),
       ],
    q(gimi (west new britain)) => [
-      q(2521),
+      q(2522),
       q(0),
       ],
    q(gimme) => [
-      q(3467),
+      q(3469),
       q(0),
       ],
    q(gimnime) => [
-      q(2560),
+      q(2561),
       q(0),
       ],
    q(ginuman) => [
-      q(2576),
+      q(2577),
       q(0),
       ],
    q(ginyanga) => [
-      q(0996),
+      q(0997),
       q(0),
       ],
    q(girawa) => [
-      q(1054),
+      q(1055),
       q(0),
       ],
    q(giryama) => [
-      q(5158),
+      q(5160),
       q(0),
       ],
    q(githabul) => [
-      q(2518),
+      q(2519),
       q(0),
       ],
    q(gitonga) => [
-      q(6638),
+      q(6640),
       q(0),
       ],
    q(gitua) => [
-      q(2499),
+      q(2500),
       q(0),
       ],
    q(gitxsan) => [
-      q(2525),
+      q(2526),
       q(0),
       ],
    q(giyug) => [
-      q(2529),
+      q(2530),
       q(0),
       ],
    q(gizrra) => [
-      q(6637),
+      q(6639),
       q(0),
       ],
    q(glaro-twabo) => [
-      q(2550),
+      q(2551),
       q(0),
       ],
    q(glavda) => [
-      q(2552),
+      q(2553),
       q(0),
       ],
    q(glio-oubi) => [
-      q(5333),
+      q(5335),
       q(0),
       ],
    q(gnau) => [
-      q(2581),
+      q(2582),
       q(0),
       ],
    q(goan konkani) => [
-      q(2595),
+      q(2596),
       q(0),
       ],
    q(goaria) => [
-      q(2517),
+      q(2518),
       q(0),
       ],
    q(gobasi) => [
-      q(2591),
+      q(2592),
       q(0),
       ],
    q(gobu) => [
-      q(2602),
+      q(2603),
       q(0),
       ],
    q(godie) => [
-      q(2587),
+      q(2588),
       q(0),
       ],
    q(godwari) => [
-      q(2471),
+      q(2472),
       q(0),
       ],
    q(goemai) => [
@@ -33448,31 +33458,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gofa) => [
-      q(2589),
+      q(2590),
       q(0),
       ],
    q(gogo) => [
-      q(2590),
+      q(2591),
       q(0),
       ],
    q(gogodala) => [
-      q(2501),
+      q(2502),
       q(0),
       ],
    q(gokana) => [
-      q(2538),
+      q(2539),
       q(0),
       ],
    q(gola) => [
-      q(2594),
+      q(2595),
       q(0),
       ],
    q(golin) => [
-      q(2668),
+      q(2669),
       q(0),
       ],
    q(golpa) => [
-      q(3930),
+      q(3932),
       q(0),
       ],
    q(gondi) => [
@@ -33480,35 +33490,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gone dau) => [
-      q(2596),
+      q(2597),
       q(0),
       ],
    q(gongduk) => [
-      q(2588),
+      q(2589),
       q(0),
       ],
    q(gonja) => [
-      q(2534),
+      q(2535),
       q(0),
       ],
    q(gooniyandi) => [
-      q(2573),
+      q(2574),
       q(0),
       ],
    q(gor) => [
-      q(2611),
+      q(2612),
       q(0),
       ],
    q(gorakor) => [
-      q(2586),
+      q(2587),
       q(0),
       ],
    q(gorap) => [
-      q(2598),
+      q(2599),
       q(0),
       ],
    q(goreng) => [
-      q(7341),
+      q(7343),
       q(0),
       ],
    q(gorontalo) => [
@@ -33516,11 +33526,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gorovu) => [
-      q(2621),
+      q(2622),
       q(0),
       ],
    q(gorowa) => [
-      q(2601),
+      q(2602),
       q(0),
       ],
    q(gothic) => [
@@ -33528,35 +33538,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(goundo) => [
-      q(2603),
+      q(2604),
       q(0),
       ],
    q(gourmanchema) => [
-      q(2663),
+      q(2664),
       q(0),
       ],
    q(gowlan) => [
-      q(2592),
+      q(2593),
       q(0),
       ],
    q(gowli) => [
-      q(2593),
+      q(2594),
       q(0),
       ],
    q(gowro) => [
-      q(2683),
+      q(2684),
       q(0),
       ],
    q(gozarkhani) => [
-      q(2604),
+      q(2605),
       q(0),
       ],
    q(grangali) => [
-      q(4948),
+      q(4950),
       q(0),
       ],
    q(grass koiari) => [
-      q(3191),
+      q(3193),
       q(0),
       ],
    q(grebo) => [
@@ -33572,7 +33582,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(greek sign language) => [
-      q(2638),
+      q(2639),
       q(0),
       ],
    q(greek, ancient (to 1453)) => [
@@ -33584,7 +33594,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(green gelao) => [
-      q(2522),
+      q(2523),
       q(0),
       ],
    q(greenlandic) => [
@@ -33592,67 +33602,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(grenadian creole english) => [
-      q(2447),
+      q(2448),
       q(0),
       ],
    q(gresi) => [
-      q(2623),
+      q(2624),
       q(0),
       ],
    q(groma) => [
-      q(2620),
+      q(2621),
       q(0),
       ],
    q(gronings) => [
-      q(2599),
+      q(2600),
       q(0),
       ],
    q(gros ventre) => [
-      q(0924),
+      q(0925),
       q(0),
       ],
    q(gua) => [
-      q(2692),
+      q(2693),
       q(0),
       ],
    q(guadeloupean creole french) => [
-      q(2446),
+      q(2447),
       q(0),
       ],
    q(guahibo) => [
-      q(2648),
+      q(2649),
       q(0),
       ],
    q(guaja) => [
-      q(2669),
+      q(2670),
       q(0),
       ],
    q(guajajara) => [
-      q(2642),
+      q(2643),
       q(0),
       ],
    q(guambiano) => [
-      q(2652),
+      q(2653),
       q(0),
       ],
    q(guana (brazil)) => [
-      q(2610),
+      q(2611),
       q(0),
       ],
    q(guana (paraguay)) => [
-      q(2665),
+      q(2666),
       q(0),
       ],
    q(guanano) => [
-      q(2666),
+      q(2667),
       q(0),
       ],
    q(guanche) => [
-      q(2568),
+      q(2569),
       q(0),
       ],
    q(guanyinqiao) => [
-      q(3101),
+      q(3102),
       q(0),
       ],
    q(guarani) => [
@@ -33660,47 +33670,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guarayu) => [
-      q(2704),
+      q(2705),
       q(0),
       ],
    q(guarequena) => [
-      q(2400),
+      q(2401),
       q(0),
       ],
    q(guatemalan sign language) => [
-      q(2634),
+      q(2635),
       q(0),
       ],
    q(guato) => [
-      q(2639),
+      q(2640),
       q(0),
       ],
    q(guayabero) => [
-      q(2654),
+      q(2655),
       q(0),
       ],
    q(gudang) => [
-      q(7339),
+      q(7341),
       q(0),
       ],
    q(gudanji) => [
-      q(4907),
+      q(4909),
       q(0),
       ],
    q(gude) => [
-      q(2455),
+      q(2456),
       q(0),
       ],
    q(gudu) => [
-      q(2470),
+      q(2471),
       q(0),
       ],
    q(guduf-gava) => [
-      q(2456),
+      q(2457),
       q(0),
       ],
    q(guernesiais) => [
-      q(5051),
+      q(5053),
       q(1),
       ],
    q(guerrero amuzgo) => [
@@ -33708,67 +33718,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guerrero nahuatl) => [
-      q(4852),
+      q(4854),
       q(0),
       ],
    q(guevea de humboldt zapotec) => [
-      q(7918),
+      q(7920),
       q(0),
       ],
    q(gugadj) => [
-      q(2492),
+      q(2493),
       q(0),
       ],
    q(gugu badhun) => [
-      q(2453),
+      q(2454),
       q(0),
       ],
    q(gugu warra) => [
-      q(7227),
+      q(7229),
       q(0),
       ],
    q(gugubera) => [
-      q(3416),
+      q(3418),
       q(0),
       ],
    q(guguyimidjir) => [
-      q(3425),
+      q(3427),
       q(0),
       ],
    q(guhu-samane) => [
-      q(2511),
+      q(2512),
       q(0),
       ],
    q(guianese creole french) => [
-      q(2449),
+      q(2450),
       q(0),
       ],
    q(guibei zhuang) => [
-      q(7838),
+      q(7840),
       q(0),
       ],
    q(guiberoua bete) => [
-      q(1128),
+      q(1129),
       q(0),
       ],
    q(guibian zhuang) => [
-      q(7840),
+      q(7842),
       q(0),
       ],
    q(guila zapotec) => [
-      q(7960),
+      q(7962),
       q(0),
       ],
    q(guinea kpelle) => [
-      q(2540),
+      q(2541),
       q(0),
       ],
    q(guinean sign language) => [
-      q(2658),
+      q(2659),
       q(0),
       ],
    q(guiqiong) => [
-      q(2609),
+      q(2610),
       q(0),
       ],
    q(gujarati) => [
@@ -33776,31 +33786,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gujari) => [
-      q(2535),
+      q(2536),
       q(0),
       ],
    q(gula (central african republic)) => [
-      q(3219),
+      q(3221),
       q(0),
       ],
    q(gula (chad)) => [
-      q(2551),
+      q(2552),
       q(0),
       ],
    q(gula iro) => [
-      q(2546),
+      q(2547),
       q(0),
       ],
    q(gula'alaa) => [
-      q(2555),
+      q(2556),
       q(0),
       ],
    q(gulay) => [
-      q(2670),
+      q(2671),
       q(0),
       ],
    q(gule) => [
-      q(2553),
+      q(2554),
       q(0),
       ],
    q(gulf arabic) => [
@@ -33808,187 +33818,187 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(guliguli) => [
-      q(2545),
+      q(2546),
       q(0),
       ],
    q(gumalu) => [
-      q(2561),
+      q(2562),
       q(0),
       ],
    q(gumatj) => [
-      q(2577),
+      q(2578),
       q(0),
       ],
    q(gumawana) => [
-      q(2676),
+      q(2677),
       q(0),
       ],
    q(gumuz) => [
-      q(2650),
+      q(2651),
       q(0),
       ],
    q(gun) => [
-      q(2662),
+      q(2663),
       q(0),
       ],
    q(gundi) => [
-      q(2459),
+      q(2460),
       q(0),
       ],
    q(gunditjmara) => [
-      q(2533),
+      q(2534),
       q(0),
       ],
    q(gundungurra) => [
-      q(7476),
+      q(7478),
       q(0),
       ],
    q(gungabula) => [
-      q(2698),
+      q(2699),
       q(0),
       ],
    q(gungu) => [
-      q(5860),
+      q(5862),
       q(0),
       ],
    q(guntai) => [
-      q(2580),
+      q(2581),
       q(0),
       ],
    q(gunwinggu) => [
-      q(2655),
+      q(2656),
       q(0),
       ],
    q(gunya) => [
-      q(2705),
+      q(2706),
       q(0),
       ],
    q(gupa-abawa) => [
-      q(2605),
+      q(2606),
       q(0),
       ],
    q(gupapuyngu) => [
-      q(2646),
+      q(2647),
       q(0),
       ],
    q(guragone) => [
-      q(2493),
+      q(2494),
       q(0),
       ],
    q(guramalum) => [
-      q(2630),
+      q(2631),
       q(0),
       ],
    q(gurani) => [
-      q(2711),
+      q(2712),
       q(0),
       ],
    q(gurdjar) => [
-      q(2460),
+      q(2461),
       q(0),
       ],
    q(gureng gureng) => [
-      q(2579),
+      q(2580),
       q(0),
       ],
    q(gurgula) => [
-      q(2494),
+      q(2495),
       q(0),
       ],
    q(guriaso) => [
-      q(2628),
+      q(2629),
       q(0),
       ],
    q(gurinji) => [
-      q(2645),
+      q(2646),
       q(0),
       ],
    q(gurmana) => [
-      q(2671),
+      q(2672),
       q(0),
       ],
    q(guro) => [
-      q(2584),
+      q(2585),
       q(0),
       ],
    q(guruntum-mbaaru) => [
-      q(2614),
+      q(2615),
       q(0),
       ],
    q(gusan) => [
-      q(2635),
+      q(2636),
       q(0),
       ],
    q(gusii) => [
-      q(2664),
+      q(2665),
       q(0),
       ],
    q(gusilay) => [
-      q(2633),
+      q(2634),
       q(0),
       ],
    q(guwa) => [
-      q(7347),
+      q(7349),
       q(0),
       ],
    q(guwamu) => [
-      q(2690),
+      q(2691),
       q(0),
       ],
    q(guwinmal) => [
-      q(7344),
+      q(7346),
       q(1),
       ],
    q(guya) => [
-      q(2536),
+      q(2537),
       q(0),
       ],
    q(guyanese creole english) => [
-      q(2703),
+      q(2704),
       q(0),
       ],
    q(guyani) => [
-      q(2677),
+      q(2678),
       q(0),
       ],
    q(gvoko) => [
-      q(4850),
+      q(4852),
       q(0),
       ],
    q(gwa) => [
-      q(2679),
+      q(2680),
       q(0),
       ],
    q(gwahatike) => [
-      q(1942),
+      q(1943),
       q(0),
       ],
    q(gwak) => [
-      q(3086),
+      q(3087),
       q(0),
       ],
    q(gwamhi-wuri) => [
-      q(1160),
+      q(1161),
       q(0),
       ],
    q(gwandara) => [
-      q(2687),
+      q(2688),
       q(0),
       ],
    q(gweda) => [
-      q(2627),
+      q(2628),
       q(0),
       ],
    q(gweno) => [
-      q(2682),
+      q(2683),
       q(0),
       ],
    q(gwere) => [
-      q(2688),
+      q(2689),
       q(0),
       ],
    q(gwi) => [
-      q(2685),
+      q(2686),
       q(1),
       ],
    q(gwich'in) => [
@@ -33996,39 +34006,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(gyele) => [
-      q(2700),
+      q(2701),
       q(0),
       ],
    q(gyem) => [
-      q(2697),
+      q(2698),
       q(0),
       ],
    q(ha) => [
-      q(2724),
+      q(2725),
       q(0),
       ],
    q(habu) => [
-      q(2735),
+      q(2736),
       q(0),
       ],
    q(hadiyya) => [
-      q(2740),
+      q(2741),
       q(0),
       ],
    q(hadothi) => [
-      q(2816),
+      q(2817),
       q(0),
       ],
    q(hadrami) => [
-      q(7350),
+      q(7352),
       q(0),
       ],
    q(hadrami arabic) => [
-      q(0997),
+      q(0998),
       q(0),
       ],
    q(hadza) => [
-      q(2848),
+      q(2849),
       q(0),
       ],
    q(haeke) => [
@@ -34036,11 +34046,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hahon) => [
-      q(2716),
+      q(2717),
       q(0),
       ],
    q(hai//om) => [
-      q(2747),
+      q(2748),
       q(0),
       ],
    q(haida) => [
@@ -34048,19 +34058,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(haigwai) => [
-      q(2748),
+      q(2749),
       q(0),
       ],
    q(haiom) => [
-      q(2747),
+      q(2748),
       q(1),
       ],
    q(haiphong sign language) => [
-      q(2714),
+      q(2715),
       q(0),
       ],
    q(haisla) => [
-      q(2726),
+      q(2727),
       q(0),
       ],
    q(haitian) => [
@@ -34072,63 +34082,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(haitian vodoun culture language) => [
-      q(2874),
+      q(2875),
       q(0),
       ],
    q(haji) => [
-      q(2765),
+      q(2766),
       q(0),
       ],
    q(hajong) => [
-      q(2717),
+      q(2718),
       q(0),
       ],
    q(haka chin) => [
-      q(1798),
+      q(1799),
       q(0),
       ],
    q(hakka chinese) => [
-      q(2718),
+      q(2719),
       q(0),
       ],
    q(hako) => [
-      q(2722),
+      q(2723),
       q(0),
       ],
    q(halang) => [
-      q(2719),
+      q(2720),
       q(0),
       ],
    q(halang doan) => [
-      q(2772),
+      q(2773),
       q(0),
       ],
    q(halbi) => [
-      q(2771),
+      q(2772),
       q(0),
       ],
    q(halh mongolian) => [
-      q(3339),
+      q(3341),
       q(0),
       ],
    q(halia) => [
-      q(2770),
+      q(2771),
       q(0),
       ],
    q(halkomelem) => [
-      q(2865),
+      q(2866),
       q(0),
       ],
    q(hamap) => [
-      q(2794),
+      q(2795),
       q(0),
       ],
    q(hamba) => [
-      q(2731),
+      q(2732),
       q(0),
       ],
    q(hamea) => [
-      q(1739),
+      q(1740),
       q(1),
       ],
    q(hamer-banna) => [
@@ -34136,95 +34146,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hamtai) => [
-      q(2793),
+      q(2794),
       q(0),
       ],
    q(han) => [
-      q(2709),
+      q(2710),
       q(0),
       ],
    q(hanga) => [
-      q(2715),
+      q(2716),
       q(0),
       ],
    q(hanga hundi) => [
-      q(7207),
+      q(7209),
       q(0),
       ],
    q(hangaza) => [
-      q(2721),
+      q(2722),
       q(0),
       ],
    q(hani) => [
-      q(2803),
+      q(2804),
       q(0),
       ],
    q(hano) => [
-      q(3985),
+      q(3987),
       q(0),
       ],
    q(hanoi sign language) => [
-      q(2710),
+      q(2711),
       q(0),
       ],
    q(hanunoo) => [
-      q(2805),
+      q(2806),
       q(0),
       ],
    q(harami) => [
-      q(7348),
+      q(7350),
       q(0),
       ],
    q(harari) => [
-      q(2725),
+      q(2726),
       q(0),
       ],
    q(harijan kinnauri) => [
-      q(3390),
+      q(3392),
       q(0),
       ],
    q(haroi) => [
-      q(2835),
+      q(2836),
       q(0),
       ],
    q(haroti) => [
-      q(2816),
+      q(2817),
       q(1),
       ],
    q(harsusi) => [
-      q(2845),
+      q(2846),
       q(0),
       ],
    q(haruai) => [
-      q(6588),
+      q(6590),
       q(0),
       ],
    q(haruku) => [
-      q(2833),
+      q(2834),
       q(0),
       ],
    q(haryanvi) => [
-      q(1162),
+      q(1163),
       q(0),
       ],
    q(harzani) => [
-      q(2841),
+      q(2842),
       q(0),
       ],
    q(hasha) => [
-      q(7602),
+      q(7604),
       q(0),
       ],
    q(hassaniyya) => [
-      q(4221),
+      q(4223),
       q(0),
       ],
    q(hatam) => [
-      q(2712),
+      q(2713),
       q(0),
       ],
    q(hattic) => [
-      q(7353),
+      q(7355),
       q(0),
       ],
    q(hausa) => [
@@ -34232,35 +34242,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hausa sign language) => [
-      q(2843),
+      q(2844),
       q(0),
       ],
    q(havasupai-walapai-yavapai) => [
-      q(7765),
+      q(7767),
       q(0),
       ],
    q(haveke) => [
-      q(2876),
+      q(2877),
       q(0),
       ],
    q(havu) => [
-      q(2727),
+      q(2728),
       q(0),
       ],
    q(hawai'i creole english) => [
-      q(2880),
+      q(2881),
       q(0),
       ],
    q(hawai'i pidgin) => [
-      q(2880),
+      q(2881),
       q(1),
       ],
    q(hawai'i pidgin sign language) => [
-      q(2829),
+      q(2830),
       q(1),
       ],
    q(hawai'i sign language (hsl)) => [
-      q(2829),
+      q(2830),
       q(0),
       ],
    q(hawaiian) => [
@@ -34268,15 +34278,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(haya) => [
-      q(2729),
+      q(2730),
       q(0),
       ],
    q(hazaragi) => [
-      q(2730),
+      q(2731),
       q(0),
       ],
    q(hdi) => [
-      q(7327),
+      q(7329),
       q(0),
       ],
    q(hebrew) => [
@@ -34284,35 +34294,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hehe) => [
-      q(2744),
+      q(2745),
       q(0),
       ],
    q(heiban) => [
-      q(2733),
+      q(2734),
       q(0),
       ],
    q(heiltsuk) => [
-      q(2745),
+      q(2746),
       q(0),
       ],
    q(helambu sherpa) => [
-      q(5934),
+      q(5936),
       q(0),
       ],
    q(helong) => [
-      q(2743),
+      q(2744),
       q(0),
       ],
    q(hema) => [
-      q(4900),
+      q(4902),
       q(0),
       ],
    q(hemba) => [
-      q(2746),
+      q(2747),
       q(0),
       ],
    q(herde) => [
-      q(2742),
+      q(2743),
       q(0),
       ],
    q(herero) => [
@@ -34320,67 +34330,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hermit) => [
-      q(3959),
+      q(3961),
       q(0),
       ],
    q(hernican) => [
-      q(7352),
+      q(7354),
       q(0),
       ],
    q(hertevin) => [
-      q(2837),
+      q(2838),
       q(0),
       ],
    q(heung kong sau yue) => [
-      q(2769),
+      q(2770),
       q(1),
       ],
    q(hewa) => [
-      q(2720),
+      q(2721),
       q(0),
       ],
    q(heyo) => [
-      q(0940),
+      q(0941),
       q(0),
       ],
    q(hiberno-scottish gaelic) => [
-      q(2503),
+      q(2504),
       q(0),
       ],
    q(hibito) => [
-      q(2753),
+      q(2754),
       q(0),
       ],
    q(hidatsa) => [
-      q(2754),
+      q(2755),
       q(0),
       ],
    q(hieroglyphic luwian) => [
-      q(2775),
+      q(2776),
       q(0),
       ],
    q(higaonon) => [
-      q(4126),
+      q(4128),
       q(0),
       ],
    q(highland konjo) => [
-      q(3386),
+      q(3388),
       q(0),
       ],
    q(highland oaxaca chontal) => [
-      q(1719),
+      q(1720),
       q(0),
       ],
    q(highland popoluca) => [
-      q(5558),
+      q(5560),
       q(0),
       ],
    q(highland puebla nahuatl) => [
-      q(1020),
+      q(1021),
       q(0),
       ],
    q(highland totonac) => [
-      q(6647),
+      q(6649),
       q(0),
       ],
    q(hijazi arabic) => [
@@ -34388,7 +34398,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hijuk) => [
-      q(2759),
+      q(2760),
       q(0),
       ],
    q(hiligaynon) => [
@@ -34400,7 +34410,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(himarima) => [
-      q(2762),
+      q(2763),
       q(0),
       ],
    q(hindi) => [
@@ -34408,11 +34418,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hinduri) => [
-      q(2758),
+      q(2759),
       q(0),
       ],
    q(hinukh) => [
-      q(2520),
+      q(2521),
       q(0),
       ],
    q(hiri motu) => [
@@ -34424,31 +34434,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hitu) => [
-      q(2849),
+      q(2850),
       q(0),
       ],
    q(hiw) => [
-      q(2763),
+      q(2764),
       q(0),
       ],
    q(hixkaryana) => [
-      q(2764),
+      q(2765),
       q(0),
       ],
    q(hlai) => [
-      q(3910),
+      q(3912),
       q(0),
       ],
    q(hlepho phowa) => [
-      q(7642),
+      q(7644),
       q(0),
       ],
    q(hlersu) => [
-      q(2773),
+      q(2774),
       q(0),
       ],
    q(hmar) => [
-      q(2791),
+      q(2792),
       q(0),
       ],
    q(hmong) => [
@@ -34456,23 +34466,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hmong daw) => [
-      q(4641),
+      q(4643),
       q(0),
       ],
    q(hmong do) => [
-      q(2795),
+      q(2796),
       q(0),
       ],
    q(hmong don) => [
-      q(2781),
+      q(2782),
       q(0),
       ],
    q(hmong njua) => [
-      q(2804),
+      q(2805),
       q(0),
       ],
    q(hmong shua) => [
-      q(2798),
+      q(2799),
       q(0),
       ],
    q(hmong-mien languages) => [
@@ -34480,31 +34490,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hmwaveke) => [
-      q(4513),
+      q(4515),
       q(0),
       ],
    q(ho) => [
-      q(2811),
+      q(2812),
       q(0),
       ],
    q(ho chi minh city sign language) => [
-      q(2822),
+      q(2823),
       q(0),
       ],
    q(ho-chunk) => [
-      q(7136),
+      q(7138),
       q(0),
       ],
    q(hoava) => [
-      q(2809),
+      q(2810),
       q(0),
       ],
    q(hobyot) => [
-      q(2814),
+      q(2815),
       q(0),
       ],
    q(hoia hoia) => [
-      q(2749),
+      q(2750),
       q(0),
       ],
    q(hokan languages) => [
@@ -34512,223 +34522,223 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(holikachuk) => [
-      q(2815),
+      q(2816),
       q(0),
       ],
    q(holiya) => [
-      q(2826),
+      q(2827),
       q(0),
       ],
    q(holma) => [
-      q(2812),
+      q(2813),
       q(0),
       ],
    q(holoholo) => [
-      q(2819),
+      q(2820),
       q(0),
       ],
    q(holu) => [
-      q(2817),
+      q(2818),
       q(0),
       ],
    q(homa) => [
-      q(2818),
+      q(2819),
       q(0),
       ],
    q(honduras sign language) => [
-      q(2739),
+      q(2740),
       q(0),
       ],
    q(hone) => [
-      q(3149),
+      q(3151),
       q(0),
       ],
    q(hong kong sign language) => [
-      q(2769),
+      q(2770),
       q(0),
       ],
    q(honi) => [
-      q(2825),
+      q(2826),
       q(0),
       ],
    q(hopi) => [
-      q(2820),
+      q(2821),
       q(0),
       ],
    q(horned miao) => [
-      q(2834),
+      q(2835),
       q(0),
       ],
    q(horo) => [
-      q(2821),
+      q(2822),
       q(0),
       ],
    q(horom) => [
-      q(2813),
+      q(2814),
       q(0),
       ],
    q(horpa) => [
-      q(2285),
+      q(2286),
       q(0),
       ],
    q(hote) => [
-      q(2823),
+      q(2824),
       q(0),
       ],
    q(hoti) => [
-      q(2846),
+      q(2847),
       q(0),
       ],
    q(hovongan) => [
-      q(2824),
+      q(2825),
       q(0),
       ],
    q(hoyahoya) => [
-      q(2751),
+      q(2752),
       q(0),
       ],
    q(hozo) => [
-      q(2827),
+      q(2828),
       q(0),
       ],
    q(hpon) => [
-      q(2828),
+      q(2829),
       q(0),
       ],
    q(hrangkhol) => [
-      q(2830),
+      q(2831),
       q(0),
       ],
    q(hre) => [
-      q(2832),
+      q(2833),
       q(0),
       ],
    q(hruso) => [
-      q(2838),
+      q(2839),
       q(0),
       ],
    q(hu) => [
-      q(2863),
+      q(2864),
       q(0),
       ],
    q(hua) => [
-      q(2852),
+      q(2853),
       q(1),
       ],
    q(huachipaeri) => [
-      q(2856),
+      q(2857),
       q(0),
       ],
    q(huallaga huanuco quechua) => [
-      q(5678),
+      q(5680),
       q(0),
       ],
    q(huamalies-dos de mayo huanuco quechua) => [
-      q(5701),
+      q(5703),
       q(0),
       ],
    q(huambisa) => [
-      q(2851),
+      q(2852),
       q(0),
       ],
    q(huarijio) => [
-      q(6979),
+      q(6981),
       q(0),
       ],
    q(huastec) => [
-      q(2866),
+      q(2867),
       q(0),
       ],
    q(huaulu) => [
-      q(2853),
+      q(2854),
       q(0),
       ],
    q(huautla mazatec) => [
-      q(4121),
+      q(4123),
       q(0),
       ],
    q(huaxcaleca nahuatl) => [
-      q(4872),
+      q(4874),
       q(0),
       ],
    q(huaylas ancash quechua) => [
-      q(5715),
+      q(5717),
       q(0),
       ],
    q(huaylla wanca quechua) => [
-      q(5710),
+      q(5712),
       q(0),
       ],
    q(huba) => [
-      q(2732),
+      q(2733),
       q(0),
       ],
    q(huehuetla tepehua) => [
-      q(6452),
+      q(6454),
       q(0),
       ],
    q(huichol) => [
-      q(2737),
+      q(2738),
       q(0),
       ],
    q(huilliche) => [
-      q(2857),
+      q(2858),
       q(0),
       ],
    q(huitepec mixtec) => [
-      q(4663),
+      q(4665),
       q(0),
       ],
    q(huizhou chinese) => [
-      q(1932),
+      q(1933),
       q(0),
       ],
    q(hukumina) => [
-      q(2870),
+      q(2871),
       q(0),
       ],
    q(hula) => [
-      q(2861),
+      q(2862),
       q(0),
       ],
    q(hulaula) => [
-      q(2872),
+      q(2873),
       q(0),
       ],
    q(huli) => [
-      q(2858),
+      q(2859),
       q(0),
       ],
    q(hulung) => [
-      q(2860),
+      q(2861),
       q(0),
       ],
    q(humburi senni songhay) => [
-      q(2777),
+      q(2778),
       q(0),
       ],
    q(humene) => [
-      q(2855),
+      q(2856),
       q(0),
       ],
    q(humla) => [
-      q(2867),
+      q(2868),
       q(0),
       ],
    q(hun-saare) => [
-      q(2171),
+      q(2172),
       q(0),
       ],
    q(hunde) => [
-      q(2767),
+      q(2768),
       q(0),
       ],
    q(hung) => [
-      q(2808),
+      q(2809),
       q(0),
       ],
    q(hungana) => [
-      q(2862),
+      q(2863),
       q(0),
       ],
    q(hungarian) => [
@@ -34736,27 +34746,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hungarian sign language) => [
-      q(2842),
+      q(2843),
       q(0),
       ],
    q(hungworo) => [
-      q(4733),
+      q(4735),
       q(1),
       ],
    q(hunjara-kaina ke) => [
-      q(2768),
+      q(2769),
       q(0),
       ],
    q(hunnic) => [
-      q(7349),
+      q(7351),
       q(0),
       ],
    q(hunsrik) => [
-      q(2840),
+      q(2841),
       q(0),
       ],
    q(hunzib) => [
-      q(2873),
+      q(2874),
       q(0),
       ],
    q(hupa) => [
@@ -34764,71 +34774,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(hupde) => [
-      q(3156),
+      q(3158),
       q(0),
       ],
    q(hupla) => [
-      q(2723),
+      q(2724),
       q(0),
       ],
    q(hurrian) => [
-      q(7354),
+      q(7356),
       q(0),
       ],
    q(hutterisch) => [
-      q(2477),
+      q(2478),
       q(1),
       ],
    q(hutterite german) => [
-      q(2477),
+      q(2478),
       q(0),
       ],
    q(hwana) => [
-      q(2881),
+      q(2882),
       q(0),
       ],
    q(hya) => [
-      q(2882),
+      q(2883),
       q(0),
       ],
    q(hyam) => [
-      q(3040),
+      q(3041),
       q(0),
       ],
    q(i'saka) => [
-      q(3600),
+      q(3602),
       q(1),
       ],
    q(i-wak) => [
-      q(3027),
+      q(3028),
       q(0),
       ],
    q(iaai) => [
-      q(2883),
+      q(2884),
       q(0),
       ],
    q(iamalele) => [
-      q(7694),
+      q(7696),
       q(0),
       ],
    q(iapama) => [
-      q(2885),
+      q(2886),
       q(0),
       ],
    q(iatmul) => [
-      q(2884),
+      q(2885),
       q(0),
       ],
    q(iau) => [
-      q(6604),
+      q(6606),
       q(0),
       ],
    q(ibali teke) => [
-      q(6457),
+      q(6459),
       q(0),
       ],
    q(ibaloi) => [
-      q(2891),
+      q(2892),
       q(0),
       ],
    q(iban) => [
@@ -34836,35 +34846,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ibanag) => [
-      q(2890),
+      q(2891),
       q(0),
       ],
    q(ibani) => [
-      q(2896),
+      q(2897),
       q(0),
       ],
    q(ibatan) => [
-      q(3025),
+      q(3026),
       q(0),
       ],
    q(iberian) => [
-      q(7356),
+      q(7358),
       q(0),
       ],
    q(ibibio) => [
-      q(2887),
+      q(2888),
       q(0),
       ],
    q(ibino) => [
-      q(2893),
+      q(2894),
       q(0),
       ],
    q(ibu) => [
-      q(2895),
+      q(2896),
       q(0),
       ],
    q(ibuoro) => [
-      q(2894),
+      q(2895),
       q(0),
       ],
    q(icelandic) => [
@@ -34872,35 +34882,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(icelandic sign language) => [
-      q(2899),
+      q(2900),
       q(0),
       ],
    q(iceve-maci) => [
-      q(1116),
+      q(1117),
       q(0),
       ],
    q(ida'an) => [
-      q(1962),
+      q(1963),
       q(0),
       ],
    q(idakho-isukha-tiriki) => [
-      q(2901),
+      q(2902),
       q(0),
       ],
    q(idate) => [
-      q(2909),
+      q(2910),
       q(0),
       ],
    q(idere) => [
-      q(2905),
+      q(2906),
       q(0),
       ],
    q(idesa) => [
-      q(2908),
+      q(2909),
       q(0),
       ],
    q(idi) => [
-      q(2906),
+      q(2907),
       q(0),
       ],
    q(ido) => [
@@ -34908,35 +34918,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(idoma) => [
-      q(2910),
+      q(2911),
       q(0),
       ],
    q(idon) => [
-      q(2903),
+      q(2904),
       q(0),
       ],
    q(idu-mishmi) => [
-      q(1775),
+      q(1776),
       q(0),
       ],
    q(iduna) => [
-      q(7003),
+      q(7005),
       q(0),
       ],
    q(ife) => [
-      q(2913),
+      q(2914),
       q(0),
       ],
    q(ifo) => [
-      q(2914),
+      q(2915),
       q(0),
       ],
    q(igala) => [
-      q(2922),
+      q(2923),
       q(0),
       ],
    q(igana) => [
-      q(2921),
+      q(2922),
       q(0),
       ],
    q(igbo) => [
@@ -34944,11 +34954,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(igede) => [
-      q(2920),
+      q(2921),
       q(0),
       ],
    q(ignaciano) => [
-      q(2924),
+      q(2925),
       q(0),
       ],
    q(igo) => [
@@ -34956,27 +34966,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iguta) => [
-      q(4731),
+      q(4733),
       q(0),
       ],
    q(igwe) => [
-      q(2927),
+      q(2928),
       q(0),
       ],
    q(iha) => [
-      q(2930),
+      q(2931),
       q(0),
       ],
    q(iha based pidgin) => [
-      q(2928),
+      q(2929),
       q(0),
       ],
    q(ihievbe) => [
-      q(2929),
+      q(2930),
       q(0),
       ],
    q(ija-zuba) => [
-      q(7005),
+      q(7007),
       q(0),
       ],
    q(ijo languages) => [
@@ -34984,83 +34994,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ik) => [
-      q(2949),
+      q(2950),
       q(0),
       ],
    q(ika) => [
-      q(2940),
+      q(2941),
       q(0),
       ],
    q(ikaranggal) => [
-      q(2944),
+      q(2945),
       q(0),
       ],
    q(ikizu) => [
-      q(2950),
+      q(2951),
       q(0),
       ],
    q(iko) => [
-      q(2939),
+      q(2940),
       q(0),
       ],
    q(ikobi) => [
-      q(4201),
+      q(4203),
       q(0),
       ],
    q(ikoma-nata-isenye) => [
-      q(5091),
+      q(5093),
       q(0),
       ],
    q(ikpeng) => [
-      q(6816),
+      q(6818),
       q(0),
       ],
    q(ikpeshi) => [
-      q(2943),
+      q(2944),
       q(0),
       ],
    q(ikposo) => [
-      q(3535),
+      q(3537),
       q(0),
       ],
    q(iku-gora-ankwa) => [
-      q(2947),
+      q(2948),
       q(0),
       ],
    q(ikulu) => [
-      q(2941),
+      q(2942),
       q(0),
       ],
    q(ikwere) => [
-      q(2948),
+      q(2949),
       q(0),
       ],
    q(ikwo) => [
-      q(2985),
+      q(2986),
       q(0),
       ],
    q(ila) => [
-      q(2952),
+      q(2953),
       q(0),
       ],
    q(ile ape) => [
-      q(2951),
+      q(2952),
       q(0),
       ],
    q(ili turki) => [
-      q(2954),
+      q(2955),
       q(0),
       ],
    q(ili'uun) => [
-      q(2958),
+      q(2959),
       q(0),
       ],
    q(ilianen manobo) => [
-      q(4133),
+      q(4135),
       q(0),
       ],
    q(illyrian) => [
-      q(7358),
+      q(7360),
       q(0),
       ],
    q(iloko) => [
@@ -35068,27 +35078,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ilongot) => [
-      q(2955),
+      q(2956),
       q(0),
       ],
    q(ilue) => [
-      q(2959),
+      q(2960),
       q(0),
       ],
    q(ilwana) => [
-      q(4374),
+      q(4376),
       q(0),
       ],
    q(imbabura highland quichua) => [
-      q(5702),
+      q(5704),
       q(0),
       ],
    q(imbongu) => [
-      q(2964),
+      q(2965),
       q(0),
       ],
    q(imonda) => [
-      q(2963),
+      q(2964),
       q(0),
       ],
    q(imperial aramaic (700-300 bce)) => [
@@ -35096,7 +35106,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(imroing) => [
-      q(2965),
+      q(2966),
       q(0),
       ],
    q(inabaknon) => [
@@ -35104,11 +35114,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(inapang) => [
-      q(4711),
+      q(4713),
       q(0),
       ],
    q(inapari) => [
-      q(2975),
+      q(2976),
       q(0),
       ],
    q(inari sami) => [
@@ -35116,7 +35126,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(indian sign language) => [
-      q(2976),
+      q(2977),
       q(0),
       ],
    q(indic languages) => [
@@ -35132,7 +35142,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(indo-portuguese) => [
-      q(2902),
+      q(2903),
       q(0),
       ],
    q(indonesian) => [
@@ -35140,39 +35150,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(indonesian bajau) => [
-      q(1099),
+      q(1100),
       q(0),
       ],
    q(indonesian sign language) => [
-      q(2971),
+      q(2972),
       q(0),
       ],
    q(indri) => [
-      q(2907),
+      q(2908),
       q(0),
       ],
    q(indus kohistani) => [
-      q(4621),
+      q(4623),
       q(0),
       ],
    q(indus valley language) => [
-      q(7363),
+      q(7365),
       q(0),
       ],
    q(inebu one) => [
-      q(5215),
+      q(5217),
       q(0),
       ],
    q(ineseno) => [
-      q(2978),
+      q(2979),
       q(0),
       ],
    q(inga) => [
-      q(2968),
+      q(2969),
       q(0),
       ],
    q(ingrian) => [
-      q(3036),
+      q(3037),
       q(0),
       ],
    q(ingush) => [
@@ -35180,27 +35190,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(inlaod itneg) => [
-      q(3011),
+      q(3012),
       q(0),
       ],
    q(inoke-yate) => [
-      q(2974),
+      q(2975),
       q(0),
       ],
    q(inonhan) => [
-      q(4014),
+      q(4016),
       q(0),
       ],
    q(inor) => [
-      q(2979),
+      q(2980),
       q(0),
       ],
    q(inpui naga) => [
-      q(4925),
+      q(4927),
       q(0),
       ],
    q(interglossa) => [
-      q(2926),
+      q(2927),
       q(0),
       ],
    q(interlingua (international auxiliary language association)) => [
@@ -35212,19 +35222,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(international sign) => [
-      q(2957),
+      q(2958),
       q(0),
       ],
    q(intha) => [
-      q(2977),
+      q(2978),
       q(0),
       ],
    q(inuinnaqtun) => [
-      q(2946),
+      q(2947),
       q(0),
       ],
    q(inuit sign language) => [
-      q(2945),
+      q(2946),
       q(0),
       ],
    q(inuktitut) => [
@@ -35236,19 +35246,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iowa-oto) => [
-      q(2981),
+      q(2982),
       q(0),
       ],
    q(ipalapa amuzgo) => [
-      q(1016),
+      q(1017),
       q(0),
       ],
    q(ipiko) => [
-      q(2983),
+      q(2984),
       q(0),
       ],
    q(ipili) => [
-      q(2982),
+      q(2983),
       q(0),
       ],
    q(ipulo) => [
@@ -35256,11 +35266,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iquito) => [
-      q(2984),
+      q(2985),
       q(0),
       ],
    q(ir) => [
-      q(2991),
+      q(2992),
       q(0),
       ],
    q(iranian languages) => [
@@ -35268,35 +35278,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iranian persian) => [
-      q(5416),
+      q(5418),
       q(0),
       ],
    q(irantxe) => [
-      q(2990),
+      q(2991),
       q(0),
       ],
    q(iranun) => [
-      q(2956),
+      q(2957),
       q(0),
       ],
    q(iraqw) => [
-      q(2989),
+      q(2990),
       q(0),
       ],
    q(irarutu) => [
-      q(2987),
+      q(2988),
       q(0),
       ],
    q(iraya) => [
-      q(2994),
+      q(2995),
       q(0),
       ],
    q(iresim) => [
-      q(2986),
+      q(2987),
       q(0),
       ],
    q(irigwe) => [
-      q(2988),
+      q(2989),
       q(0),
       ],
    q(irish) => [
@@ -35304,7 +35314,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(irish sign language) => [
-      q(2999),
+      q(3000),
       q(0),
       ],
    q(irish, middle (900-1200)) => [
@@ -35320,15 +35330,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(irula) => [
-      q(2992),
+      q(2993),
       q(0),
       ],
    q(isabi) => [
-      q(2995),
+      q(2996),
       q(0),
       ],
    q(isanzu) => [
-      q(3004),
+      q(3005),
       q(0),
       ],
    q(isarog agta) => [
@@ -35336,83 +35346,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(isconahua) => [
-      q(2996),
+      q(2997),
       q(0),
       ],
    q(isebe) => [
-      q(2925),
+      q(2926),
       q(0),
       ],
    q(isekiri) => [
-      q(3017),
+      q(3018),
       q(0),
       ],
    q(ishkashimi) => [
-      q(3002),
+      q(3003),
       q(0),
       ],
    q(isinai) => [
-      q(2973),
+      q(2974),
       q(0),
       ],
    q(isirawa) => [
-      q(6216),
+      q(6218),
       q(0),
       ],
    q(island carib) => [
-      q(1844),
+      q(1845),
       q(0),
       ],
    q(islander creole english) => [
-      q(2900),
+      q(2901),
       q(0),
       ],
    q(isnag) => [
-      q(2997),
+      q(2998),
       q(0),
       ],
    q(isoko) => [
-      q(3005),
+      q(3006),
       q(0),
       ],
    q(israeli sign language) => [
-      q(3006),
+      q(3007),
       q(0),
       ],
    q(isthmus mixe) => [
-      q(4312),
+      q(4314),
       q(0),
       ],
    q(isthmus zapotec) => [
-      q(7811),
+      q(7813),
       q(0),
       ],
    q(isthmus-cosoleacaque nahuatl) => [
-      q(4867),
+      q(4869),
       q(0),
       ],
    q(isthmus-mecayapan nahuatl) => [
-      q(4878),
+      q(4880),
       q(0),
       ],
    q(isthmus-pajapan nahuatl) => [
-      q(4871),
+      q(4873),
       q(0),
       ],
    q(istriot) => [
-      q(3007),
+      q(3008),
       q(0),
       ],
    q(istro romanian) => [
-      q(5868),
+      q(5870),
       q(0),
       ],
    q(isu (fako division)) => [
-      q(6354),
+      q(6356),
       q(0),
       ],
    q(isu (menchum division)) => [
-      q(3008),
+      q(3009),
       q(0),
       ],
    q(italian) => [
@@ -35420,7 +35430,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(italian sign language) => [
-      q(2998),
+      q(2999),
       q(0),
       ],
    q(italic languages) => [
@@ -35428,51 +35438,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(itawit) => [
-      q(3019),
+      q(3020),
       q(0),
       ],
    q(itelmen) => [
-      q(3013),
+      q(3014),
       q(0),
       ],
    q(itene) => [
-      q(3010),
+      q(3011),
       q(0),
       ],
    q(iteri) => [
-      q(3016),
+      q(3017),
       q(0),
       ],
    q(itik) => [
-      q(3021),
+      q(3022),
       q(0),
       ],
    q(ito) => [
-      q(3020),
+      q(3021),
       q(0),
       ],
    q(itonama) => [
-      q(3015),
+      q(3016),
       q(0),
       ],
    q(itu mbon uzo) => [
-      q(3014),
+      q(3015),
       q(0),
       ],
    q(itundujia mixtec) => [
-      q(4155),
+      q(4157),
       q(0),
       ],
    q(itza) => [
-      q(3023),
+      q(3024),
       q(0),
       ],
    q(iu mien) => [
-      q(3024),
+      q(3025),
       q(0),
       ],
    q(ivatan) => [
-      q(3026),
+      q(3027),
       q(0),
       ],
    q(ivbie north-okpela-arhe) => [
@@ -35480,171 +35490,171 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(iwaidja) => [
-      q(2888),
+      q(2889),
       q(0),
       ],
    q(iwal) => [
-      q(3193),
+      q(3195),
       q(0),
       ],
    q(iwam) => [
-      q(3028),
+      q(3029),
       q(0),
       ],
    q(iwur) => [
-      q(3029),
+      q(3030),
       q(0),
       ],
    q(ixcatec) => [
-      q(3031),
+      q(3032),
       q(0),
       ],
    q(ixcatlan mazatec) => [
-      q(4699),
+      q(4701),
       q(0),
       ],
    q(ixil) => [
-      q(3032),
+      q(3033),
       q(0),
       ],
    q(ixtayutla mixtec) => [
-      q(7025),
+      q(7027),
       q(0),
       ],
    q(ixtenco otomi) => [
-      q(5331),
+      q(5333),
       q(0),
       ],
    q(iyayu) => [
-      q(3033),
+      q(3034),
       q(0),
       ],
    q(iyive) => [
-      q(6876),
+      q(6878),
       q(0),
       ],
    q(iyo) => [
-      q(4760),
+      q(4762),
       q(0),
       ],
    q(iyo'wujwa chorote) => [
-      q(1856),
+      q(1857),
       q(0),
       ],
    q(iyojwa'ja chorote) => [
-      q(1859),
+      q(1860),
       q(0),
       ],
    q(izere) => [
-      q(3037),
+      q(3038),
       q(0),
       ],
    q(izii) => [
-      q(3038),
+      q(3039),
       q(0),
       ],
    q(izon) => [
-      q(2933),
+      q(2934),
       q(0),
       ],
    q(izora) => [
-      q(1670),
+      q(1671),
       q(0),
       ],
    q(jabuti) => [
-      q(3065),
+      q(3066),
       q(0),
       ],
    q(jad) => [
-      q(3070),
+      q(3071),
       q(0),
       ],
    q(jadgali) => [
-      q(3071),
+      q(3072),
       q(0),
       ],
    q(jah hut) => [
-      q(3045),
+      q(3046),
       q(0),
       ],
    q(jahanka) => [
-      q(3042),
+      q(3043),
       q(0),
       ],
    q(jair awyu) => [
-      q(0980),
+      q(0981),
       q(0),
       ],
    q(jaitmatang) => [
-      q(7366),
+      q(7368),
       q(0),
       ],
    q(jakalteko) => [
-      q(3041),
+      q(3042),
       q(1),
       ],
    q(jakati) => [
-      q(3054),
+      q(3055),
       q(0),
       ],
    q(jakun) => [
-      q(3047),
+      q(3048),
       q(0),
       ],
    q(jalapa de diaz mazatec) => [
-      q(4117),
+      q(4119),
       q(0),
       ],
    q(jalkunan) => [
-      q(1577),
+      q(1578),
       q(0),
       ],
    q(jamaican country sign language) => [
-      q(3068),
+      q(3069),
       q(0),
       ],
    q(jamaican creole english) => [
-      q(3049),
+      q(3050),
       q(0),
       ],
    q(jamaican sign language) => [
-      q(3114),
+      q(3115),
       q(0),
       ],
    q(jamamadi) => [
-      q(3039),
+      q(3040),
       q(0),
       ],
    q(jambi malay) => [
-      q(3056),
+      q(3057),
       q(0),
       ],
    q(jamiltepec mixtec) => [
-      q(4664),
+      q(4666),
       q(0),
       ],
    q(jamsay dogon) => [
-      q(2066),
+      q(2067),
       q(0),
       ],
    q(jandai) => [
-      q(3050),
+      q(3051),
       q(0),
       ],
    q(jandavra) => [
-      q(3127),
+      q(3128),
       q(0),
       ],
    q(jangkang) => [
-      q(2068),
+      q(2069),
       q(0),
       ],
    q(jangshung) => [
-      q(3126),
+      q(3127),
       q(0),
       ],
    q(janji) => [
-      q(3129),
+      q(3130),
       q(0),
       ],
    q(japanese) => [
@@ -35656,23 +35666,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(japanese sign language) => [
-      q(3144),
+      q(3146),
       q(0),
       ],
    q(japreria) => [
-      q(3143),
+      q(3145),
       q(0),
       ],
    q(jaqaru) => [
-      q(3139),
+      q(3141),
       q(0),
       ],
    q(jara) => [
-      q(3044),
+      q(3045),
       q(0),
       ],
    q(jarai) => [
-      q(3140),
+      q(3142),
       q(0),
       ],
    q(jarawa (india)) => [
@@ -35680,15 +35690,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jaru) => [
-      q(1982),
+      q(1983),
       q(0),
       ],
    q(jauja wanca quechua) => [
-      q(5731),
+      q(5733),
       q(0),
       ],
    q(jaunsari) => [
-      q(3132),
+      q(3133),
       q(0),
       ],
    q(javanese) => [
@@ -35696,91 +35706,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(javindo) => [
-      q(3163),
+      q(3165),
       q(0),
       ],
    q(jawe) => [
-      q(3058),
+      q(3059),
       q(0),
       ],
    q(jaya) => [
-      q(3168),
+      q(3170),
       q(0),
       ],
    q(jebero) => [
-      q(3073),
+      q(3074),
       q(0),
       ],
    q(jeh) => [
-      q(3076),
+      q(3077),
       q(0),
       ],
    q(jehai) => [
-      q(3088),
+      q(3089),
       q(0),
       ],
    q(jejueo) => [
-      q(3106),
+      q(3107),
       q(0),
       ],
    q(jemez) => [
-      q(6650),
+      q(6652),
       q(0),
       ],
    q(jenaama bozo) => [
-      q(1616),
+      q(1617),
       q(0),
       ],
    q(jeng) => [
-      q(3075),
+      q(3076),
       q(0),
       ],
    q(jennu kurumba) => [
-      q(7532),
+      q(7534),
       q(0),
       ],
    q(jere) => [
-      q(3081),
+      q(3082),
       q(0),
       ],
    q(jeri kuo) => [
-      q(3078),
+      q(3079),
       q(0),
       ],
    q(jerriais) => [
-      q(5051),
+      q(5053),
       q(0),
       ],
    q(jerung) => [
-      q(3074),
+      q(3075),
       q(0),
       ],
    q(jewish babylonian aramaic (ca. 200-1200 ce)) => [
-      q(6601),
+      q(6603),
       q(0),
       ],
    q(jewish palestinian aramaic) => [
-      q(3138),
+      q(3140),
       q(0),
       ],
    q(jhankot sign language) => [
-      q(3089),
+      q(3090),
       q(0),
       ],
    q(jiamao) => [
-      q(3100),
+      q(3101),
       q(0),
       ],
    q(jiarong) => [
-      q(3166),
+      q(3168),
       q(0),
       ],
    q(jiba) => [
-      q(3155),
+      q(3157),
       q(0),
       ],
    q(jibu) => [
-      q(3091),
+      q(3092),
       q(0),
       ],
    q(jicarilla apache) => [
@@ -35788,27 +35798,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(jiiddu) => [
-      q(3097),
+      q(3098),
       q(0),
       ],
    q(jilbe) => [
-      q(3094),
+      q(3095),
       q(0),
       ],
    q(jilim) => [
-      q(3098),
+      q(3099),
       q(0),
       ],
    q(jimi (cameroon)) => [
-      q(3099),
+      q(3100),
       q(0),
       ],
    q(jimi (nigeria)) => [
-      q(3119),
+      q(3120),
       q(0),
       ],
    q(jina) => [
-      q(3090),
+      q(3091),
       q(0),
       ],
    q(jingpho) => [
@@ -35816,75 +35826,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(jinyu chinese) => [
-      q(1753),
+      q(1754),
       q(0),
       ],
    q(jiongnai bunu) => [
-      q(5546),
+      q(5548),
       q(0),
       ],
    q(jirel) => [
-      q(3152),
+      q(3154),
       q(0),
       ],
    q(jiru) => [
-      q(3141),
+      q(3143),
       q(0),
       ],
    q(jita) => [
-      q(3102),
+      q(3103),
       q(0),
       ],
    q(jju) => [
-      q(3175),
+      q(3177),
       q(0),
       ],
    q(joba) => [
-      q(3133),
+      q(3134),
       q(0),
       ],
    q(jofotek-bromnya) => [
-      q(3064),
+      q(3065),
+      q(0),
+      ],
+   q(jogi) => [
+      q(3136),
       q(0),
       ],
    q(jola-fonyi) => [
-      q(2204),
+      q(2205),
       q(0),
       ],
    q(jola-kasa) => [
-      q(1874),
+      q(1875),
       q(0),
       ],
    q(jonkor bourmataguil) => [
-      q(3083),
+      q(3084),
       q(0),
       ],
    q(jora) => [
-      q(3135),
+      q(3137),
       q(0),
       ],
    q(jordanian sign language) => [
-      q(3136),
+      q(3138),
       q(0),
       ],
    q(jorto) => [
-      q(3142),
+      q(3144),
       q(0),
       ],
    q(jowulu) => [
-      q(3137),
+      q(3139),
       q(0),
       ],
    q(ju) => [
-      q(3160),
+      q(3162),
       q(0),
       ],
    q(ju/'hoan) => [
-      q(3643),
+      q(3645),
       q(0),
       ],
    q(juang) => [
-      q(3154),
+      q(3156),
       q(0),
       ],
    q(judeo-arabic) => [
@@ -35892,19 +35906,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(judeo-berber) => [
-      q(3059),
+      q(3060),
       q(0),
       ],
    q(judeo-georgian) => [
-      q(3085),
+      q(3086),
       q(0),
       ],
    q(judeo-iraqi arabic) => [
-      q(7641),
+      q(7643),
       q(0),
       ],
    q(judeo-italian) => [
-      q(3012),
+      q(3013),
       q(0),
       ],
    q(judeo-moroccan arabic) => [
@@ -35916,11 +35930,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(judeo-tat) => [
-      q(3072),
+      q(3073),
       q(0),
       ],
    q(judeo-tripolitanian arabic) => [
-      q(7763),
+      q(7765),
       q(0),
       ],
    q(judeo-tunisian arabic) => [
@@ -35928,107 +35942,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(judeo-yemeni arabic) => [
-      q(3167),
+      q(3169),
       q(0),
       ],
    q(juhoan) => [
-      q(3643),
+      q(3645),
       q(1),
       ],
    q(jukun takum) => [
-      q(3066),
+      q(3067),
       q(0),
       ],
    q(juma) => [
-      q(3145),
+      q(3147),
       q(0),
       ],
    q(jumjum) => [
-      q(3153),
+      q(3155),
       q(0),
       ],
    q(jumla sign language) => [
-      q(3158),
+      q(3160),
       q(0),
       ],
    q(jumli) => [
-      q(3120),
+      q(3121),
       q(0),
       ],
    q(jungle inga) => [
-      q(2970),
+      q(2971),
       q(0),
       ],
    q(juquila mixe) => [
-      q(4661),
+      q(4663),
       q(0),
       ],
    q(jur modo) => [
-      q(1132),
+      q(1133),
       q(0),
       ],
    q(juray) => [
-      q(3162),
+      q(3164),
       q(0),
       ],
    q(jurchen) => [
-      q(3147),
+      q(3149),
       q(0),
       ],
    q(juruna) => [
-      q(3157),
+      q(3159),
       q(0),
       ],
    q(jutish) => [
-      q(3159),
+      q(3161),
       q(0),
       ],
    q(juwal) => [
-      q(4624),
+      q(4626),
       q(0),
       ],
    q(juxtlahuaca mixtec) => [
-      q(7018),
+      q(7020),
       q(0),
       ],
    q(jwira-pepesa) => [
-      q(3165),
+      q(3167),
       q(0),
       ],
    q(k'iche') => [
-      q(5679),
+      q(5681),
       q(0),
       ],
    q(kaamba) => [
-      q(7386),
+      q(7388),
       q(0),
       ],
    q(kaan) => [
-      q(3852),
+      q(3854),
       q(0),
       ],
    q(kaang chin) => [
-      q(1757),
+      q(1758),
       q(0),
       ],
    q(kaansa) => [
-      q(2566),
+      q(2567),
       q(0),
       ],
    q(kaapor) => [
-      q(6925),
+      q(6927),
       q(1),
       ],
    q(kaapor sign language) => [
-      q(6884),
+      q(6886),
       q(1),
       ],
    q(kaba) => [
-      q(3607),
+      q(3609),
       q(0),
       ],
    q(kabalai) => [
-      q(3670),
+      q(3672),
       q(0),
       ],
    q(kabardian) => [
@@ -36036,47 +36050,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kabatei) => [
-      q(7381),
+      q(7383),
       q(0),
       ],
    q(kabixi) => [
-      q(7304),
+      q(7306),
       q(0),
       ],
    q(kabiye) => [
-      q(3196),
+      q(3198),
       q(0),
       ],
    q(kabola) => [
-      q(3452),
+      q(3454),
       q(0),
       ],
    q(kabore one) => [
-      q(5271),
+      q(5273),
       q(0),
       ],
    q(kabras) => [
-      q(3938),
+      q(3940),
       q(0),
       ],
    q(kaburi) => [
-      q(6878),
+      q(6880),
       q(0),
       ],
    q(kabutra) => [
-      q(3201),
+      q(3203),
       q(0),
       ],
    q(kabuverdianu) => [
-      q(3255),
+      q(3257),
       q(0),
       ],
    q(kabwa) => [
-      q(1923),
+      q(1924),
       q(0),
       ],
    q(kabwari) => [
-      q(3229),
+      q(3231),
       q(0),
       ],
    q(kabyle) => [
@@ -36084,19 +36098,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kachama-ganjule) => [
-      q(3230),
+      q(3232),
       q(0),
       ],
    q(kachari) => [
-      q(7272),
+      q(7274),
       q(0),
       ],
    q(kachchi) => [
-      q(3298),
+      q(3300),
       q(0),
       ],
    q(kachi koli) => [
-      q(2532),
+      q(2533),
       q(0),
       ],
    q(kachin) => [
@@ -36104,71 +36118,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kacipo-balesi) => [
-      q(3506),
+      q(3508),
       q(0),
       ],
    q(kaco') => [
-      q(7377),
+      q(7379),
       q(0),
       ],
    q(kadai) => [
-      q(3769),
+      q(3771),
       q(0),
       ],
    q(kadar) => [
-      q(3264),
+      q(3266),
       q(0),
       ],
    q(kadaru) => [
-      q(3250),
+      q(3252),
       q(0),
       ],
    q(kadiweu) => [
-      q(3185),
+      q(3187),
       q(0),
       ],
    q(kadu) => [
-      q(7858),
+      q(7860),
       q(0),
       ],
    q(kaduo) => [
-      q(3633),
+      q(3635),
       q(0),
       ],
    q(kafa) => [
-      q(3198),
+      q(3200),
       q(0),
       ],
    q(kafoa) => [
-      q(3540),
+      q(3542),
       q(0),
       ],
    q(kagan kalagan) => [
-      q(3438),
+      q(3440),
       q(0),
       ],
    q(kagate) => [
-      q(6342),
+      q(6344),
       q(0),
       ],
    q(kagayanen) => [
-      q(1715),
+      q(1716),
       q(0),
       ],
    q(kagoma) => [
-      q(3244),
+      q(3246),
       q(0),
       ],
    q(kagoro) => [
-      q(7373),
+      q(7375),
       q(0),
       ],
    q(kagulu) => [
-      q(3409),
+      q(3411),
       q(0),
       ],
    q(kahe) => [
-      q(2766),
+      q(2767),
       q(0),
       ],
    q(kahua) => [
@@ -36176,119 +36190,119 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaian) => [
-      q(3226),
+      q(3228),
       q(0),
       ],
    q(kaibobo) => [
-      q(3767),
+      q(3769),
       q(0),
       ],
    q(kaidipang) => [
-      q(3780),
+      q(3782),
       q(0),
       ],
    q(kaiep) => [
-      q(3203),
+      q(3205),
       q(0),
       ],
    q(kaikadi) => [
-      q(3270),
+      q(3272),
       q(0),
       ],
    q(kaikavian literary language) => [
-      q(3397),
+      q(3399),
       q(0),
       ],
    q(kaike) => [
-      q(3781),
+      q(3783),
       q(0),
       ],
    q(kaiku) => [
-      q(3417),
+      q(3419),
       q(0),
       ],
    q(kaimbe) => [
-      q(7276),
+      q(7278),
       q(0),
       ],
    q(kaimbulawa) => [
-      q(7856),
+      q(7858),
       q(0),
       ],
    q(kaingang) => [
-      q(3321),
+      q(3323),
       q(0),
       ],
    q(kairak) => [
-      q(1760),
+      q(1761),
       q(0),
       ],
    q(kairiru) => [
-      q(3716),
+      q(3718),
       q(0),
       ],
    q(kairui-midiki) => [
-      q(3574),
+      q(3576),
       q(0),
       ],
    q(kais) => [
-      q(3777),
+      q(3779),
       q(0),
       ],
    q(kaivi) => [
-      q(3211),
+      q(3213),
       q(0),
       ],
    q(kaiwa) => [
-      q(3316),
+      q(3318),
       q(0),
       ],
    q(kaiy) => [
-      q(6418),
+      q(6420),
       q(0),
       ],
    q(kajakse) => [
-      q(1759),
+      q(1760),
       q(0),
       ],
    q(kajali) => [
-      q(7376),
+      q(7378),
       q(0),
       ],
    q(kajaman) => [
-      q(3172),
+      q(3174),
       q(0),
       ],
    q(kakabai) => [
-      q(3551),
+      q(3553),
       q(0),
       ],
    q(kakabe) => [
-      q(3405),
+      q(3407),
       q(0),
       ],
    q(kakanda) => [
-      q(3401),
+      q(3403),
       q(0),
       ],
    q(kaki ae) => [
-      q(6381),
+      q(6383),
       q(0),
       ],
    q(kako) => [
-      q(3410),
+      q(3412),
       q(0),
       ],
    q(kakwa) => [
-      q(3269),
+      q(3271),
       q(0),
       ],
    q(kala) => [
-      q(3218),
+      q(3220),
       q(1),
       ],
    q(kala lagaw ya) => [
-      q(4635),
+      q(4637),
       q(0),
       ],
    q(kalaallisut) => [
@@ -36296,79 +36310,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kalaamaya) => [
-      q(3946),
+      q(3948),
       q(0),
       ],
    q(kalabakan) => [
-      q(3669),
+      q(3671),
       q(0),
       ],
    q(kalabari) => [
-      q(2936),
+      q(2937),
       q(0),
       ],
    q(kalabra) => [
-      q(3790),
+      q(3792),
       q(0),
       ],
    q(kalagan) => [
-      q(3550),
+      q(3552),
       q(0),
       ],
    q(kalaktang monpa) => [
-      q(3406),
+      q(3408),
       q(0),
       ],
    q(kalam) => [
-      q(3459),
+      q(3461),
       q(0),
       ],
    q(kalami) => [
-      q(2680),
+      q(2681),
       q(0),
       ],
    q(kalamse) => [
-      q(3502),
+      q(3504),
       q(0),
       ],
    q(kalanadi) => [
-      q(7146),
+      q(7148),
       q(0),
       ],
    q(kalanga) => [
-      q(3217),
+      q(3219),
       q(0),
       ],
    q(kalao) => [
-      q(3451),
+      q(3453),
       q(0),
       ],
    q(kalapuya) => [
-      q(3751),
+      q(3753),
       q(0),
       ],
    q(kalarko) => [
-      q(3183),
+      q(3185),
       q(0),
       ],
    q(kalasha) => [
-      q(3445),
+      q(3447),
       q(0),
       ],
    q(kalenjin) => [
-      q(3440),
+      q(3442),
       q(0),
       ],
    q(kalispel-pend d'oreille) => [
-      q(2352),
+      q(2353),
       q(0),
       ],
    q(kalkoti) => [
-      q(7367),
+      q(7369),
       q(0),
       ],
    q(kalkutung) => [
-      q(3624),
+      q(3626),
       q(0),
       ],
    q(kalmyk) => [
@@ -36376,75 +36390,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kalo finnish romani) => [
-      q(5808),
+      q(5810),
       q(0),
       ],
    q(kalou) => [
-      q(7783),
+      q(7785),
       q(0),
       ],
    q(kaluli) => [
-      q(1077),
+      q(1078),
       q(0),
       ],
    q(kalumpang) => [
-      q(3435),
+      q(3437),
       q(0),
       ],
    q(kam) => [
-      q(3252),
+      q(3254),
       q(0),
       ],
    q(kamakan) => [
-      q(7009),
+      q(7011),
       q(0),
       ],
    q(kamang) => [
-      q(7201),
+      q(7203),
       q(0),
       ],
    q(kamano) => [
-      q(3197),
+      q(3199),
       q(0),
       ],
    q(kamantan) => [
-      q(3215),
+      q(3217),
       q(0),
       ],
    q(kamar) => [
-      q(3271),
+      q(3273),
       q(0),
       ],
    q(kamara) => [
-      q(3122),
+      q(3123),
       q(0),
       ],
    q(kamarian) => [
-      q(3788),
+      q(3790),
       q(0),
       ],
    q(kamaru) => [
-      q(3329),
+      q(3331),
       q(0),
       ],
    q(kamas) => [
-      q(7284),
+      q(7286),
       q(0),
       ],
    q(kamasa) => [
-      q(3442),
+      q(3444),
       q(0),
       ],
    q(kamasau) => [
-      q(3470),
+      q(3472),
       q(0),
       ],
    q(kamayo) => [
-      q(3750),
+      q(3752),
       q(0),
       ],
    q(kamayura) => [
-      q(3182),
+      q(3184),
       q(0),
       ],
    q(kamba) => [
@@ -36452,7 +36466,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kamba (brazil)) => [
-      q(7290),
+      q(7292),
       q(0),
       ],
    q(kamba (kenya)) => [
@@ -36460,175 +36474,175 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kambaata) => [
-      q(3619),
+      q(3621),
       q(0),
       ],
    q(kambaira) => [
-      q(3764),
+      q(3766),
       q(0),
       ],
    q(kambera) => [
-      q(7302),
+      q(7304),
       q(0),
       ],
    q(kamberau) => [
-      q(2993),
+      q(2994),
       q(0),
       ],
    q(kambiwa) => [
-      q(7303),
+      q(7305),
       q(0),
       ],
    q(kami (nigeria)) => [
-      q(3460),
+      q(3462),
       q(0),
       ],
    q(kami (tanzania)) => [
-      q(3227),
+      q(3229),
       q(0),
       ],
    q(kamo) => [
-      q(3223),
+      q(3225),
       q(0),
       ],
    q(kamoro) => [
-      q(3322),
+      q(3324),
       q(0),
       ],
    q(kamta) => [
-      q(5801),
+      q(5803),
       q(1),
       ],
    q(kamu) => [
-      q(7424),
+      q(7426),
       q(0),
       ],
    q(kamula) => [
-      q(7392),
+      q(7394),
       q(0),
       ],
    q(kamviri) => [
-      q(7542),
+      q(7544),
       q(0),
       ],
    q(kamwe) => [
-      q(2756),
+      q(2757),
       q(0),
       ],
    q(kanakanabu) => [
-      q(7431),
+      q(7433),
       q(0),
       ],
    q(kanamari) => [
-      q(3489),
+      q(3491),
       q(0),
       ],
    q(kanan) => [
-      q(7862),
+      q(7864),
       q(0),
       ],
    q(kanashi) => [
-      q(7439),
+      q(7441),
       q(0),
       ],
    q(kanasi) => [
-      q(6167),
+      q(6169),
       q(0),
       ],
    q(kanauji) => [
-      q(1238),
+      q(1239),
       q(0),
       ],
    q(kandas) => [
-      q(3568),
+      q(3570),
       q(0),
       ],
    q(kandawo) => [
-      q(2408),
+      q(2409),
       q(0),
       ],
    q(kande) => [
-      q(3199),
+      q(3201),
       q(0),
       ],
    q(kanembu) => [
-      q(3192),
+      q(3194),
       q(0),
       ],
    q(kang) => [
-      q(3755),
+      q(3757),
       q(0),
       ],
    q(kanga) => [
-      q(3222),
+      q(3224),
       q(0),
       ],
    q(kangean) => [
-      q(3422),
+      q(3424),
       q(0),
       ],
    q(kanggape) => [
-      q(2923),
+      q(2924),
       q(0),
       ],
    q(kangjia) => [
-      q(3732),
+      q(3734),
       q(0),
       ],
    q(kango (bas-uele district)) => [
-      q(3642),
+      q(3644),
       q(0),
       ],
    q(kango (tshopo district)) => [
-      q(3789),
+      q(3791),
       q(0),
       ],
    q(kangri) => [
-      q(7438),
+      q(7440),
       q(0),
       ],
    q(kaniet) => [
-      q(3628),
+      q(3630),
       q(0),
       ],
    q(kanikkaran) => [
-      q(3276),
+      q(3278),
       q(0),
       ],
    q(kaningdon-nindem) => [
-      q(3246),
+      q(3248),
       q(0),
       ],
    q(kaningi) => [
-      q(3779),
+      q(3781),
       q(0),
       ],
    q(kaningra) => [
-      q(3494),
+      q(3496),
       q(0),
       ],
    q(kaninuwa) => [
-      q(7069),
+      q(7071),
       q(0),
       ],
    q(kanite) => [
-      q(3472),
+      q(3474),
       q(0),
       ],
    q(kanjari) => [
-      q(3300),
+      q(3302),
       q(0),
       ],
    q(kanjobal) => [
-      q(3377),
+      q(3379),
       q(1),
       ],
    q(kanju) => [
-      q(3186),
+      q(3188),
       q(0),
       ],
    q(kankanaey) => [
-      q(3482),
+      q(3484),
       q(0),
       ],
    q(kannada) => [
@@ -36636,31 +36650,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kannada kurumba) => [
-      q(3289),
+      q(3291),
       q(0),
       ],
    q(kanoe) => [
-      q(3728),
+      q(3730),
       q(0),
       ],
    q(kanowit-tanjong melanau) => [
-      q(3727),
+      q(3729),
       q(0),
       ],
    q(kansa) => [
-      q(3602),
+      q(3604),
       q(0),
       ],
    q(kantosi) => [
-      q(7385),
+      q(7387),
       q(0),
       ],
    q(kanu) => [
-      q(3350),
+      q(3352),
       q(0),
       ],
    q(kanufi) => [
-      q(3485),
+      q(3487),
       q(0),
       ],
    q(kanuri) => [
@@ -36668,19 +36682,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kanyok) => [
-      q(3501),
+      q(3503),
       q(0),
       ],
    q(kao) => [
-      q(3181),
+      q(3183),
       q(0),
       ],
    q(kaonde) => [
-      q(3559),
+      q(3561),
       q(0),
       ],
    q(kap) => [
-      q(7667),
+      q(7669),
       q(0),
       ],
    q(kapampangan) => [
@@ -36688,55 +36702,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kapauri) => [
-      q(3342),
+      q(3344),
       q(1),
       ],
    q(kapin) => [
-      q(6400),
+      q(6402),
       q(0),
       ],
    q(kapinawa) => [
-      q(7463),
+      q(7465),
       q(0),
       ],
    q(kapingamarangi) => [
-      q(3527),
+      q(3529),
       q(0),
       ],
    q(kapori) => [
-      q(3342),
+      q(3344),
       q(0),
       ],
    q(kapriman) => [
-      q(2070),
+      q(2071),
       q(0),
       ],
    q(kaptiau) => [
-      q(3189),
+      q(3191),
       q(0),
       ],
    q(kapya) => [
-      q(3441),
+      q(3443),
       q(0),
       ],
    q(kaqchikel) => [
-      q(1646),
+      q(1647),
       q(0),
       ],
    q(kara (central african republic)) => [
-      q(3173),
+      q(3175),
       q(0),
       ],
    q(kara (korea)) => [
-      q(7939),
+      q(7941),
       q(0),
       ],
    q(kara (papua new guinea)) => [
-      q(3877),
+      q(3879),
       q(0),
       ],
    q(kara (tanzania)) => [
-      q(5765),
+      q(5767),
       q(0),
       ],
    q(kara-kalpak) => [
@@ -36748,79 +36762,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karadjeri) => [
-      q(2421),
+      q(2422),
       q(0),
       ],
    q(karagas) => [
-      q(3364),
+      q(3366),
       q(0),
       ],
    q(karahawyana) => [
-      q(7374),
+      q(7376),
       q(0),
       ],
    q(karaim) => [
-      q(3248),
+      q(3250),
       q(0),
       ],
    q(karaja) => [
-      q(3530),
+      q(3532),
       q(0),
       ],
    q(karakhanid) => [
-      q(7472),
+      q(7474),
       q(0),
       ],
    q(karami) => [
-      q(7283),
+      q(7285),
       q(0),
       ],
    q(karamojong) => [
-      q(3241),
+      q(3243),
       q(0),
       ],
    q(karang) => [
-      q(3782),
+      q(3784),
       q(0),
       ],
    q(karanga) => [
-      q(3625),
+      q(3627),
       q(0),
       ],
    q(karankawa) => [
-      q(7861),
+      q(7863),
       q(0),
       ],
    q(karao) => [
-      q(3749),
+      q(3751),
       q(0),
       ],
    q(karas) => [
-      q(3327),
+      q(3329),
       q(0),
       ],
    q(karata) => [
-      q(3539),
+      q(3541),
       q(0),
       ],
    q(karawa) => [
-      q(7486),
+      q(7488),
       q(0),
       ],
    q(karbi) => [
-      q(4338),
+      q(4340),
       q(0),
       ],
    q(kare (central african republic)) => [
-      q(3194),
+      q(3196),
       q(0),
       ],
    q(kare (papua new guinea)) => [
-      q(3457),
+      q(3459),
       q(0),
       ],
    q(karekare) => [
-      q(3174),
+      q(3176),
       q(0),
       ],
    q(karelian) => [
@@ -36832,59 +36846,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karenggapa) => [
-      q(2211),
+      q(2212),
       q(0),
       ],
    q(karey) => [
-      q(3743),
+      q(3745),
       q(0),
       ],
    q(kari) => [
-      q(3190),
+      q(3192),
       q(0),
       ],
    q(karingani) => [
-      q(3319),
+      q(3321),
       q(0),
       ],
    q(karipuna) => [
-      q(3318),
+      q(3320),
       q(0),
       ],
    q(karipuna creole french) => [
-      q(3473),
+      q(3475),
       q(0),
       ],
    q(kariri-xoco) => [
-      q(3787),
+      q(3789),
       q(0),
       ],
    q(karitiana) => [
-      q(3631),
+      q(3633),
       q(0),
       ],
    q(kariya) => [
-      q(3363),
+      q(3365),
       q(0),
       ],
    q(kariyarra) => [
-      q(7004),
+      q(7006),
       q(0),
       ],
    q(karkar-yuri) => [
-      q(7768),
+      q(7770),
       q(0),
       ],
    q(karkin) => [
-      q(3573),
+      q(3575),
       q(0),
       ],
    q(karko) => [
-      q(3415),
+      q(3417),
       q(0),
       ],
    q(karnai) => [
-      q(1058),
+      q(1059),
       q(0),
       ],
    q(karo (brazil)) => [
@@ -36892,43 +36906,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(karo (ethiopia)) => [
-      q(3721),
+      q(3723),
       q(0),
       ],
    q(karok) => [
-      q(3747),
+      q(3749),
       q(0),
       ],
    q(karon) => [
-      q(3589),
+      q(3591),
       q(0),
       ],
    q(karon dori) => [
-      q(3328),
+      q(3330),
       q(0),
       ],
    q(karore) => [
-      q(7389),
+      q(7391),
       q(0),
       ],
    q(karranga) => [
-      q(7482),
+      q(7484),
       q(0),
       ],
    q(karuwali) => [
-      q(5880),
+      q(5882),
       q(0),
       ],
    q(kasanga) => [
-      q(1685),
+      q(1686),
       q(0),
       ],
    q(kasem) => [
-      q(7495),
+      q(7497),
       q(0),
       ],
    q(kashaya) => [
-      q(3396),
+      q(3398),
       q(0),
       ],
    q(kashmiri) => [
@@ -36940,123 +36954,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kasiguranin) => [
-      q(3605),
+      q(3607),
       q(0),
       ],
    q(kaska) => [
-      q(3426),
+      q(3428),
       q(0),
       ],
    q(kaskean) => [
-      q(7946),
+      q(7948),
       q(0),
       ],
    q(kasseng) => [
-      q(3309),
+      q(3311),
       q(0),
       ],
    q(kasua) => [
-      q(3345),
+      q(3347),
       q(0),
       ],
    q(kataang) => [
-      q(3310),
+      q(3312),
       q(0),
       ],
    q(katabaga) => [
-      q(3634),
+      q(3636),
       q(0),
       ],
    q(katawixi) => [
-      q(7285),
+      q(7287),
       q(0),
       ],
    q(katbol) => [
-      q(6586),
+      q(6588),
       q(0),
       ],
    q(katcha-kadugli-miri) => [
-      q(7507),
+      q(7509),
       q(0),
       ],
    q(kate) => [
-      q(3458),
+      q(3460),
       q(0),
       ],
    q(kathoriya tharu) => [
-      q(6558),
+      q(6560),
       q(0),
       ],
    q(kathu) => [
-      q(7671),
+      q(7673),
       q(0),
       ],
    q(kati) => [
-      q(1452),
+      q(1453),
       q(0),
       ],
    q(katkari) => [
-      q(3301),
+      q(3303),
       q(0),
       ],
    q(katla) => [
-      q(3224),
+      q(3226),
       q(0),
       ],
    q(kato) => [
-      q(3640),
+      q(3642),
       q(0),
       ],
    q(katso) => [
-      q(3171),
+      q(3173),
       q(0),
       ],
    q(katua) => [
-      q(3618),
+      q(3620),
       q(0),
       ],
    q(katukina) => [
-      q(3180),
+      q(3182),
       q(0),
       ],
    q(kaulong) => [
-      q(5621),
+      q(5623),
       q(0),
       ],
    q(kaur) => [
-      q(7007),
+      q(7009),
       q(0),
       ],
    q(kaure) => [
-      q(1386),
+      q(1387),
       q(0),
       ],
    q(kaurna) => [
-      q(7867),
+      q(7869),
       q(0),
       ],
    q(kauwera) => [
-      q(7286),
+      q(7288),
       q(0),
       ],
    q(kavalan) => [
-      q(1764),
+      q(1765),
       q(0),
       ],
    q(kavet) => [
-      q(3587),
+      q(3589),
       q(0),
       ],
    q(kawacha) => [
-      q(3208),
+      q(3210),
       q(0),
       ],
    q(kawaiisu) => [
-      q(7288),
+      q(7290),
       q(0),
       ],
    q(kawe) => [
-      q(3308),
+      q(3310),
       q(0),
       ],
    q(kawi) => [
@@ -37064,67 +37078,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kaxarari) => [
-      q(3641),
+      q(3643),
       q(0),
       ],
    q(kaxuiana) => [
-      q(3184),
+      q(3186),
       q(0),
       ],
    q(kayabi) => [
-      q(3765),
+      q(3767),
       q(0),
       ],
    q(kayagar) => [
-      q(3759),
+      q(3761),
       q(0),
       ],
    q(kayan) => [
-      q(5401),
+      q(5403),
       q(0),
       ],
    q(kayan mahakam) => [
-      q(7289),
+      q(7291),
       q(0),
       ],
    q(kayan river kayan) => [
-      q(7379),
+      q(7381),
       q(0),
       ],
    q(kayapa kallahan) => [
-      q(3176),
+      q(3178),
       q(0),
       ],
    q(kayapo) => [
-      q(6825),
+      q(6827),
       q(0),
       ],
    q(kayardild) => [
-      q(2696),
+      q(2697),
       q(0),
       ],
    q(kayaw) => [
-      q(3676),
+      q(3678),
       q(0),
       ],
    q(kayeli) => [
-      q(3776),
+      q(3778),
       q(0),
       ],
    q(kayong) => [
-      q(3738),
+      q(3740),
       q(0),
       ],
    q(kayort) => [
-      q(3761),
+      q(3763),
       q(0),
       ],
    q(kaytetye) => [
-      q(2420),
+      q(2421),
       q(0),
       ],
    q(kayupulau) => [
-      q(3785),
+      q(3787),
       q(0),
       ],
    q(kazakh) => [
@@ -37132,323 +37146,323 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kazukuru) => [
-      q(3775),
+      q(3777),
       q(0),
       ],
    q(ke'o) => [
-      q(7559),
+      q(7561),
       q(0),
       ],
    q(keak) => [
-      q(3262),
+      q(3264),
       q(0),
       ],
    q(keapara) => [
-      q(3352),
+      q(3354),
       q(0),
       ],
    q(kedah malay) => [
-      q(4212),
+      q(4214),
       q(0),
       ],
    q(kedang) => [
-      q(3615),
+      q(3617),
       q(0),
       ],
    q(keder) => [
-      q(3253),
+      q(3255),
       q(0),
       ],
    q(kehu) => [
-      q(3337),
+      q(3339),
       q(0),
       ],
    q(kei) => [
-      q(3263),
+      q(3265),
       q(0),
       ],
    q(keiga) => [
-      q(3257),
+      q(3259),
       q(0),
       ],
    q(keijar) => [
-      q(3253),
+      q(3255),
       q(1),
       ],
    q(kein) => [
-      q(1309),
+      q(1310),
       q(0),
       ],
    q(keiyo) => [
-      q(2318),
+      q(2319),
       q(0),
       ],
    q(kekchi) => [
-      q(3265),
+      q(3267),
       q(0),
       ],
    q(kela (democratic republic of congo)) => [
-      q(3266),
+      q(3268),
       q(0),
       ],
    q(kela (papua new guinea)) => [
-      q(3218),
+      q(3220),
       q(0),
       ],
    q(kelabit) => [
-      q(3773),
+      q(3775),
       q(0),
       ],
    q(kele) => [
-      q(3256),
+      q(3258),
       q(0),
       ],
    q(kele (democratic republic of congo)) => [
-      q(3351),
+      q(3353),
       q(0),
       ],
    q(kele (papua new guinea)) => [
-      q(5902),
+      q(5904),
       q(0),
       ],
    q(kelengazxo bozo) => [
-      q(1635),
+      q(1636),
       q(0),
       ],
    q(keley-i kallahan) => [
-      q(2918),
+      q(2919),
       q(0),
       ],
    q(keliko) => [
-      q(3195),
+      q(3197),
       q(0),
       ],
    q(kelo) => [
-      q(7329),
+      q(7331),
       q(0),
       ],
    q(kelon) => [
-      q(3754),
+      q(3756),
       q(0),
       ],
    q(kemak) => [
-      q(3267),
+      q(3269),
       q(0),
       ],
    q(kembayan) => [
-      q(7330),
+      q(7332),
       q(0),
       ],
    q(kemberano) => [
-      q(1627),
+      q(1628),
       q(0),
       ],
    q(kembra) => [
-      q(7388),
+      q(7390),
       q(0),
       ],
    q(kemedzung) => [
-      q(2090),
+      q(2091),
       q(0),
       ],
    q(kemi sami) => [
-      q(6058),
+      q(6060),
       q(0),
       ],
    q(kemiehua) => [
-      q(3290),
+      q(3292),
       q(0),
       ],
    q(kemtuik) => [
-      q(3471),
+      q(3473),
       q(0),
       ],
    q(kenaboi) => [
-      q(7299),
+      q(7301),
       q(0),
       ],
    q(kenati) => [
-      q(2415),
+      q(2416),
       q(0),
       ],
    q(kendayan) => [
-      q(3500),
+      q(3502),
       q(0),
       ],
    q(kendeje) => [
-      q(3432),
+      q(3434),
       q(0),
       ],
    q(kendem) => [
-      q(3677),
+      q(3679),
       q(0),
       ],
    q(kenga) => [
-      q(3756),
+      q(3758),
       q(0),
       ],
    q(keningau murut) => [
-      q(3722),
+      q(3724),
       q(0),
       ],
    q(keninjal) => [
-      q(3488),
+      q(3490),
       q(0),
       ],
    q(kensiu) => [
-      q(3495),
+      q(3497),
       q(0),
       ],
    q(kenswei nsei) => [
-      q(4783),
+      q(4785),
       q(0),
       ],
    q(kenyan sign language) => [
-      q(7375),
+      q(7377),
       q(0),
       ],
    q(kenyang) => [
-      q(3268),
+      q(3270),
       q(0),
       ],
    q(kenyi) => [
-      q(3941),
+      q(3943),
       q(0),
       ],
    q(kenzi) => [
-      q(7443),
+      q(7445),
       q(0),
       ],
    q(keoru-ahia) => [
-      q(7335),
+      q(7337),
       q(0),
       ],
    q(kepkiriwat) => [
-      q(3534),
+      q(3536),
       q(0),
       ],
    q(kepo') => [
-      q(3653),
+      q(3655),
       q(0),
       ],
    q(kera) => [
-      q(3272),
+      q(3274),
       q(0),
       ],
    q(kerak) => [
-      q(2750),
+      q(2751),
       q(0),
       ],
    q(kereho) => [
-      q(7371),
+      q(7373),
       q(0),
       ],
    q(kerek) => [
-      q(3580),
+      q(3582),
       q(0),
       ],
    q(kerewe) => [
-      q(3258),
+      q(3260),
       q(0),
       ],
    q(kerewo) => [
-      q(3739),
+      q(3741),
       q(0),
       ],
    q(kerinci) => [
-      q(3682),
+      q(3684),
       q(0),
       ],
    q(kesawai) => [
-      q(7333),
+      q(7335),
       q(0),
       ],
    q(ket) => [
-      q(3274),
+      q(3276),
       q(0),
       ],
    q(ketangalan) => [
-      q(3170),
+      q(3172),
       q(0),
       ],
    q(kete) => [
-      q(3228),
+      q(3230),
       q(0),
       ],
    q(ketengban) => [
-      q(7509),
+      q(7511),
       q(0),
       ],
    q(ketum) => [
-      q(3637),
+      q(3639),
       q(0),
       ],
    q(keyagana) => [
-      q(3746),
+      q(3748),
       q(0),
       ],
    q(kgalagadi) => [
-      q(7387),
+      q(7389),
       q(0),
       ],
    q(khakas) => [
-      q(3383),
+      q(3385),
       q(0),
       ],
    q(khalaj) => [
-      q(3381),
+      q(3383),
       q(0),
       ],
    q(khaling) => [
-      q(3444),
+      q(3446),
       q(0),
       ],
    q(khamba) => [
-      q(3187),
+      q(3189),
       q(0),
       ],
    q(khams tibetan) => [
-      q(3336),
+      q(3338),
       q(0),
       ],
    q(khamti) => [
-      q(3346),
+      q(3348),
       q(0),
       ],
    q(khamyang) => [
-      q(3612),
+      q(3614),
       q(0),
       ],
    q(khana) => [
-      q(5210),
+      q(5212),
       q(0),
       ],
    q(khandesi) => [
-      q(3341),
+      q(3343),
       q(0),
       ],
    q(khang) => [
-      q(3388),
+      q(3390),
       q(0),
       ],
    q(khanty) => [
-      q(3207),
+      q(3209),
       q(0),
       ],
    q(khao) => [
-      q(7280),
+      q(7282),
       q(0),
       ],
    q(kharam naga) => [
-      q(3303),
+      q(3305),
       q(0),
       ],
    q(kharia) => [
-      q(3344),
+      q(3346),
       q(0),
       ],
    q(kharia thar) => [
-      q(3616),
+      q(3618),
       q(0),
       ],
    q(khasi) => [
@@ -37456,71 +37470,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(khayo) => [
-      q(3948),
+      q(3950),
       q(0),
       ],
    q(khazar) => [
-      q(7869),
+      q(7871),
       q(0),
       ],
    q(khe) => [
-      q(3552),
+      q(3554),
       q(0),
       ],
    q(khehek) => [
-      q(6583),
+      q(6585),
       q(0),
       ],
    q(khengkha) => [
-      q(7372),
+      q(7374),
       q(0),
       ],
    q(khetrani) => [
-      q(7351),
+      q(7353),
       q(0),
       ],
    q(khezha naga) => [
-      q(4927),
+      q(4929),
       q(0),
       ],
    q(khiamniungan naga) => [
-      q(3373),
+      q(3375),
       q(0),
       ],
    q(khinalugh) => [
-      q(3385),
+      q(3387),
       q(0),
       ],
    q(khirwar) => [
-      q(3713),
+      q(3715),
       q(0),
       ],
    q(khisa) => [
-      q(3558),
+      q(3560),
       q(0),
       ],
    q(khlor) => [
-      q(3968),
+      q(3970),
       q(0),
       ],
    q(khlula) => [
-      q(7666),
+      q(7668),
       q(0),
       ],
    q(khmu) => [
-      q(3382),
+      q(3384),
       q(0),
       ],
    q(kho'ini) => [
-      q(7369),
+      q(7371),
       q(0),
       ],
    q(khoekhoe) => [
-      q(4730),
+      q(4732),
       q(0),
       ],
    q(khoibu naga) => [
-      q(4921),
+      q(4923),
       q(0),
       ],
    q(khoisan languages) => [
@@ -37528,19 +37542,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kholok) => [
-      q(3620),
+      q(3622),
       q(0),
       ],
    q(khonso) => [
-      q(3718),
+      q(3720),
       q(1),
       ],
    q(khorasani turkish) => [
-      q(3477),
+      q(3479),
       q(0),
       ],
    q(khorezmian) => [
-      q(7860),
+      q(7862),
       q(0),
       ],
    q(khotanese) => [
@@ -37548,55 +37562,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(khowar) => [
-      q(3349),
+      q(3351),
       q(0),
       ],
    q(khua) => [
-      q(7355),
+      q(7357),
       q(0),
       ],
    q(khuen) => [
-      q(3335),
+      q(3337),
       q(0),
       ],
    q(khumi chin) => [
-      q(1800),
+      q(1801),
       q(0),
       ],
    q(khun) => [
-      q(3408),
+      q(3410),
       q(0),
       ],
    q(khunsari) => [
-      q(3293),
+      q(3295),
       q(0),
       ],
    q(khvarshi) => [
-      q(3348),
+      q(3350),
       q(0),
       ],
    q(kibet) => [
-      q(3357),
+      q(3359),
       q(0),
       ],
    q(kibiri) => [
-      q(5595),
+      q(5597),
       q(0),
       ],
    q(kickapoo) => [
-      q(3355),
+      q(3357),
       q(0),
       ],
    q(kiembu) => [
-      q(2216),
+      q(2217),
       q(1),
       ],
    q(kigiryama) => [
-      q(5158),
+      q(5160),
       q(1),
       ],
    q(kikai) => [
-      q(3772),
+      q(3774),
       q(0),
       ],
    q(kikuyu) => [
@@ -37604,43 +37618,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kildin sami) => [
-      q(6055),
+      q(6057),
       q(0),
       ],
    q(kilivila) => [
-      q(3362),
+      q(3364),
       q(0),
       ],
    q(kiliwa) => [
-      q(3428),
+      q(3430),
       q(0),
       ],
    q(kilmeri) => [
-      q(3360),
+      q(3362),
       q(0),
       ],
    q(kim) => [
-      q(3353),
+      q(3355),
       q(0),
       ],
    q(kim mun) => [
-      q(4324),
+      q(4326),
       q(0),
       ],
    q(kimaama) => [
-      q(3359),
+      q(3361),
       q(0),
       ],
    q(kimaghima) => [
-      q(3359),
+      q(3361),
       q(1),
       ],
    q(kimaragang) => [
-      q(3563),
+      q(3565),
       q(0),
       ],
    q(kimbu) => [
-      q(3371),
+      q(3373),
       q(0),
       ],
    q(kimbundu) => [
@@ -37648,43 +37662,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kimki) => [
-      q(5919),
+      q(5921),
       q(0),
       ],
    q(kimre) => [
-      q(3561),
+      q(3563),
       q(0),
       ],
    q(kinabalian) => [
-      q(1677),
+      q(1678),
       q(0),
       ],
    q(kinalakna) => [
-      q(3221),
+      q(3223),
       q(0),
       ],
    q(kinamiging manobo) => [
-      q(4363),
+      q(4365),
       q(0),
       ],
    q(kinaray-a) => [
-      q(3579),
+      q(3581),
       q(0),
       ],
    q(kinga) => [
-      q(7837),
+      q(7839),
       q(0),
       ],
    q(kinnauri) => [
-      q(3291),
+      q(3293),
       q(0),
       ],
    q(kintaq) => [
-      q(3493),
+      q(3495),
       q(0),
       ],
    q(kinuku) => [
-      q(3404),
+      q(3406),
       q(0),
       ],
    q(kinyarwanda) => [
@@ -37692,19 +37706,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kioko) => [
-      q(6866),
+      q(6868),
       q(0),
       ],
    q(kiong) => [
-      q(3413),
+      q(3415),
       q(0),
       ],
    q(kiorr) => [
-      q(7380),
+      q(7382),
       q(0),
       ],
    q(kiowa) => [
-      q(3365),
+      q(3367),
       q(0),
       ],
    q(kiowa apache) => [
@@ -37712,19 +37726,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kipfokomo) => [
-      q(5473),
+      q(5475),
       q(1),
       ],
    q(kipsigis) => [
-      q(5990),
+      q(5992),
       q(0),
       ],
    q(kiput) => [
-      q(3748),
+      q(3750),
       q(0),
       ],
    q(kir-balar) => [
-      q(3418),
+      q(3420),
       q(0),
       ],
    q(kirdki) => [
@@ -37732,7 +37746,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(3),
       ],
    q(kire) => [
-      q(2473),
+      q(2474),
       q(0),
       ],
    q(kirghiz) => [
@@ -37740,11 +37754,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kirike) => [
-      q(5236),
+      q(5238),
       q(0),
       ],
    q(kirikiri) => [
-      q(3374),
+      q(3376),
       q(0),
       ],
    q(kirmanjki) => [
@@ -37752,7 +37766,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(4),
       ],
    q(kirmanjki (individual language)) => [
-      q(3370),
+      q(3372),
       q(0),
       ],
    q(kirmanjki (macrolanguage)) => [
@@ -37760,91 +37774,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(7),
       ],
    q(kirya-konzel) => [
-      q(2350),
+      q(2351),
       q(0),
       ],
    q(kis) => [
-      q(3368),
+      q(3370),
       q(0),
       ],
    q(kisa) => [
-      q(3950),
+      q(3952),
       q(0),
       ],
    q(kisan) => [
-      q(7362),
+      q(7364),
       q(0),
       ],
    q(kisankasa) => [
-      q(3553),
+      q(3555),
       q(0),
       ],
    q(kisar) => [
-      q(3380),
+      q(3382),
       q(0),
       ],
    q(kisi) => [
-      q(3375),
+      q(3377),
       q(0),
       ],
    q(kistane) => [
-      q(2625),
+      q(2626),
       q(0),
       ],
    q(kiswahili) => [
-      q(6302),
+      q(6304),
       q(1),
       ],
    q(kita maninkakan) => [
-      q(4631),
+      q(4633),
       q(0),
       ],
    q(kitan) => [
-      q(7866),
+      q(7868),
       q(0),
       ],
    q(kitharaka) => [
-      q(6501),
+      q(6503),
       q(1),
       ],
    q(kitja) => [
-      q(2513),
+      q(2514),
       q(0),
       ],
    q(kitsai) => [
-      q(3361),
+      q(3363),
       q(0),
       ],
    q(kituba (congo)) => [
-      q(4362),
+      q(4364),
       q(0),
       ],
    q(kituba (democratic republic of congo)) => [
-      q(3638),
+      q(3640),
       q(0),
       ],
    q(kiunum) => [
-      q(7104),
+      q(7106),
       q(0),
       ],
    q(kiwilwana) => [
-      q(4374),
+      q(4376),
       q(1),
       ],
    q(kla-dan) => [
-      q(3844),
+      q(3846),
       q(0),
       ],
    q(klamath-modoc) => [
-      q(3427),
+      q(3429),
       q(0),
       ],
    q(klao) => [
-      q(3447),
+      q(3449),
       q(0),
       ],
    q(klias river kadazan) => [
-      q(3565),
+      q(3567),
       q(0),
       ],
    q(klingon) => [
@@ -37852,227 +37866,227 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(knaanic) => [
-      q(1933),
+      q(1934),
       q(0),
       ],
    q(ko) => [
-      q(2386),
+      q(2387),
       q(0),
       ],
    q(koalib) => [
-      q(3354),
+      q(3356),
       q(0),
       ],
    q(koasati) => [
-      q(1763),
+      q(1764),
       q(0),
       ],
    q(koba) => [
-      q(3525),
+      q(3527),
       q(0),
       ],
    q(kobiana) => [
-      q(3216),
+      q(3218),
       q(0),
       ],
    q(kobol) => [
-      q(3326),
+      q(3328),
       q(0),
       ],
    q(kobon) => [
-      q(3542),
+      q(3544),
       q(0),
       ],
    q(koch) => [
-      q(3247),
+      q(3249),
       q(0),
       ],
    q(kochila tharu) => [
-      q(6506),
+      q(6508),
       q(0),
       ],
    q(koda) => [
-      q(1704),
+      q(1705),
       q(0),
       ],
    q(kodaku) => [
-      q(3617),
+      q(3619),
       q(0),
       ],
    q(kodava) => [
-      q(3281),
+      q(3283),
       q(0),
       ],
    q(kodeoha) => [
-      q(7010),
+      q(7012),
       q(0),
       ],
    q(kodi) => [
-      q(3505),
+      q(3507),
       q(0),
       ],
    q(kodia) => [
-      q(3706),
+      q(3708),
       q(0),
       ],
    q(koenoem) => [
-      q(3225),
+      q(3227),
       q(0),
       ],
    q(kofa) => [
-      q(3606),
+      q(3608),
       q(0),
       ],
    q(kofei) => [
-      q(3529),
+      q(3531),
       q(0),
       ],
    q(kofyar) => [
-      q(3702),
+      q(3704),
       q(0),
       ],
    q(kogi) => [
-      q(3508),
+      q(3510),
       q(1),
       ],
    q(koguryo) => [
-      q(7859),
+      q(7861),
       q(0),
       ],
    q(kohin) => [
-      q(3424),
+      q(3426),
       q(0),
       ],
    q(kohistani shina) => [
-      q(5492),
+      q(5494),
       q(0),
       ],
    q(koho) => [
-      q(3533),
+      q(3535),
       q(0),
       ],
    q(kohumono) => [
-      q(1081),
+      q(1082),
       q(0),
       ],
    q(koi) => [
-      q(3420),
+      q(3422),
       q(0),
       ],
    q(koibal) => [
-      q(7857),
+      q(7859),
       q(0),
       ],
    q(koireng) => [
-      q(4923),
+      q(4925),
       q(0),
       ],
    q(koitabu) => [
-      q(3554),
+      q(3556),
       q(0),
       ],
    q(koiwat) => [
-      q(3733),
+      q(3735),
       q(0),
       ],
    q(kok borok) => [
-      q(6700),
+      q(6702),
       q(0),
       ],
    q(kok-nar) => [
-      q(2539),
+      q(2540),
       q(0),
       ],
    q(kokata) => [
-      q(3621),
+      q(3623),
       q(0),
       ],
    q(koke) => [
-      q(3516),
+      q(3518),
       q(0),
       ],
    q(koki naga) => [
-      q(5145),
+      q(5147),
       q(0),
       ],
    q(koko babangk) => [
-      q(5227),
+      q(5229),
       q(0),
       ],
    q(kokoda) => [
-      q(7445),
+      q(7447),
       q(0),
       ],
    q(kokola) => [
-      q(3778),
+      q(3780),
       q(0),
       ],
    q(kokota) => [
-      q(3411),
+      q(3413),
       q(0),
       ],
    q(kol) => [
-      q(2236),
+      q(2237),
       q(1),
       ],
    q(kol (bangladesh)) => [
-      q(2236),
+      q(2237),
       q(0),
       ],
    q(kol (cameroon)) => [
-      q(1226),
+      q(1227),
       q(0),
       ],
    q(kol (papua new guinea)) => [
-      q(3511),
+      q(3513),
       q(0),
       ],
    q(kola) => [
-      q(3686),
+      q(3688),
       q(0),
       ],
    q(kolbila) => [
-      q(3429),
+      q(3431),
       q(0),
       ],
    q(kolibugan subanon) => [
-      q(6081),
+      q(6083),
       q(0),
       ],
    q(kolsch) => [
-      q(3599),
+      q(3601),
       q(0),
       ],
    q(koluwawa) => [
-      q(3450),
+      q(3452),
       q(0),
       ],
    q(kom (cameroon)) => [
-      q(1264),
+      q(1265),
       q(0),
       ],
    q(kom (india)) => [
-      q(3464),
+      q(3466),
       q(0),
       ],
    q(koma) => [
-      q(3476),
+      q(3478),
       q(0),
       ],
    q(komba) => [
-      q(3526),
+      q(3528),
       q(0),
       ],
    q(kombai) => [
-      q(6834),
+      q(6836),
       q(0),
       ],
    q(kombio) => [
-      q(7296),
+      q(7298),
       q(0),
       ],
    q(komering) => [
-      q(3311),
+      q(3313),
       q(0),
       ],
    q(komi) => [
@@ -38080,59 +38094,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(komi-permyak) => [
-      q(3510),
+      q(3512),
       q(0),
       ],
    q(komi-zyrian) => [
-      q(3541),
+      q(3543),
       q(0),
       ],
    q(kominimung) => [
-      q(7447),
+      q(7449),
       q(0),
       ],
    q(komo (democratic republic of congo)) => [
-      q(3474),
+      q(3476),
       q(0),
       ],
    q(komo (sudan)) => [
-      q(7449),
+      q(7451),
       q(0),
       ],
    q(komodo) => [
-      q(3672),
+      q(3674),
       q(0),
       ],
    q(kompane) => [
-      q(3680),
+      q(3682),
       q(0),
       ],
    q(komyandaret) => [
-      q(3786),
+      q(3788),
       q(0),
       ],
    q(kon keu) => [
-      q(3414),
+      q(3416),
       q(0),
       ],
    q(konabere) => [
-      q(1051),
+      q(1052),
       q(1),
       ],
    q(konai) => [
-      q(3736),
+      q(3738),
       q(0),
       ],
    q(konda) => [
-      q(3481),
+      q(3483),
       q(0),
       ],
    q(konda-dora) => [
-      q(3283),
+      q(3285),
       q(0),
       ],
    q(koneraw) => [
-      q(3251),
+      q(3253),
       q(0),
       ],
    q(kongo) => [
@@ -38144,7 +38158,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(konkani (individual language)) => [
-      q(3490),
+      q(3492),
       q(0),
       ],
    q(konkani (macrolanguage)) => [
@@ -38152,83 +38166,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(konkomba) => [
-      q(7450),
+      q(7452),
       q(0),
       ],
    q(konni) => [
-      q(3453),
+      q(3455),
       q(0),
       ],
    q(kono (guinea)) => [
-      q(3497),
+      q(3499),
       q(0),
       ],
    q(kono (nigeria)) => [
-      q(3437),
+      q(3439),
       q(0),
       ],
    q(kono (sierra leone)) => [
-      q(3491),
+      q(3493),
       q(0),
       ],
    q(konomala) => [
-      q(3503),
+      q(3505),
       q(0),
       ],
    q(konongo) => [
-      q(3232),
+      q(3234),
       q(0),
       ],
    q(konso) => [
-      q(3718),
+      q(3720),
       q(0),
       ],
    q(konyak naga) => [
-      q(4742),
+      q(4744),
       q(0),
       ],
    q(konyanka maninka) => [
-      q(4360),
+      q(4362),
       q(0),
       ],
    q(konzo) => [
-      q(3512),
+      q(3514),
       q(0),
       ],
    q(koongo) => [
-      q(3484),
+      q(3486),
       q(0),
       ],
    q(koonzime) => [
-      q(5343),
+      q(5345),
       q(0),
       ],
    q(koorete) => [
-      q(3570),
+      q(3572),
       q(0),
       ],
    q(kopar) => [
-      q(7452),
+      q(7454),
       q(0),
       ],
    q(kopkaka) => [
-      q(5287),
+      q(5289),
       q(0),
       ],
    q(korafe-yegha) => [
-      q(3537),
+      q(3539),
       q(0),
       ],
    q(korak) => [
-      q(3521),
+      q(3523),
       q(0),
       ],
    q(korana) => [
-      q(3571),
+      q(3573),
       q(0),
       ],
    q(korandje) => [
-      q(3231),
+      q(3233),
       q(0),
       ],
    q(kordofanian languages) => [
@@ -38240,123 +38254,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(korean sign language) => [
-      q(3675),
+      q(3677),
       q(0),
       ],
    q(koreguaje) => [
-      q(1812),
+      q(1813),
       q(0),
       ],
    q(koresh-e rostam) => [
-      q(5228),
+      q(5230),
       q(0),
       ],
    q(korku) => [
-      q(3297),
+      q(3299),
       q(0),
       ],
    q(korlai creole portuguese) => [
-      q(7011),
+      q(7013),
       q(0),
       ],
    q(koro (cote d'ivoire)) => [
-      q(3295),
+      q(3297),
       q(0),
       ],
    q(koro (india)) => [
-      q(3111),
+      q(3112),
       q(0),
       ],
    q(koro (papua new guinea)) => [
-      q(3731),
+      q(3733),
       q(0),
       ],
    q(koro (vanuatu)) => [
-      q(3576),
+      q(3578),
       q(0),
       ],
    q(koro wachi) => [
-      q(1417),
+      q(1418),
       q(0),
       ],
    q(koromfe) => [
-      q(3306),
+      q(3308),
       q(0),
       ],
    q(koromira) => [
-      q(3555),
+      q(3557),
       q(0),
       ],
    q(koronadal blaan) => [
-      q(1388),
+      q(1389),
       q(0),
       ],
    q(koroni) => [
-      q(7382),
+      q(7384),
       q(0),
       ],
    q(korop) => [
-      q(3583),
+      q(3585),
       q(0),
       ],
    q(koropo) => [
-      q(7561),
+      q(7563),
       q(0),
       ],
    q(koroshi) => [
-      q(3629),
+      q(3631),
       q(0),
       ],
    q(korowai) => [
-      q(3334),
+      q(3336),
       q(0),
       ],
    q(korra koraga) => [
-      q(3284),
+      q(3286),
       q(0),
       ],
    q(korubo) => [
-      q(7453),
+      q(7455),
       q(0),
       ],
    q(korupun-sela) => [
-      q(3536),
+      q(3538),
       q(0),
       ],
    q(korur) => [
-      q(0946),
+      q(0947),
       q(1),
       ],
    q(korwa) => [
-      q(3296),
+      q(3298),
       q(0),
       ],
    q(koryak) => [
-      q(3544),
+      q(3546),
       q(0),
       ],
    q(kosadle) => [
-      q(3367),
+      q(3369),
       q(0),
       ],
    q(kosare) => [
-      q(3367),
+      q(3369),
       q(1),
       ],
    q(kosarek yale) => [
-      q(3412),
+      q(3414),
       q(0),
       ],
    q(kosena) => [
-      q(3770),
+      q(3772),
       q(0),
       ],
    q(koshin) => [
-      q(3356),
+      q(3358),
       q(0),
       ],
    q(kosli) => [
-      q(6193),
+      q(6195),
       q(1),
       ],
    q(kosraean) => [
@@ -38364,115 +38378,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kota (gabon)) => [
-      q(3514),
+      q(3516),
       q(0),
       ],
    q(kota (india)) => [
-      q(3285),
+      q(3287),
       q(0),
       ],
    q(kota bangun kutai malay) => [
-      q(4484),
+      q(4486),
       q(0),
       ],
    q(kota marudu talantang) => [
-      q(2619),
+      q(2620),
       q(0),
       ],
    q(kota marudu tinagas) => [
-      q(3635),
+      q(3637),
       q(0),
       ],
    q(kotafon gbe) => [
-      q(3556),
+      q(3558),
       q(0),
       ],
    q(kotava) => [
-      q(0957),
+      q(0958),
       q(0),
       ],
    q(koti) => [
-      q(2238),
+      q(2239),
       q(0),
       ],
    q(kott) => [
-      q(7863),
+      q(7865),
       q(0),
       ],
    q(kouya) => [
-      q(3745),
+      q(3747),
       q(0),
       ],
    q(kovai) => [
-      q(3547),
+      q(3549),
       q(0),
       ],
    q(kove) => [
-      q(3667),
+      q(3669),
       q(0),
       ],
    q(kowaki) => [
-      q(7454),
+      q(7456),
       q(0),
       ],
    q(kowiai) => [
-      q(3698),
+      q(3700),
       q(0),
       ],
    q(koy sanjaq surat) => [
-      q(3549),
+      q(3551),
       q(0),
       ],
    q(koya) => [
-      q(3286),
+      q(3288),
       q(0),
       ],
    q(koyaga) => [
-      q(3307),
+      q(3309),
       q(0),
       ],
    q(koyo) => [
-      q(3509),
+      q(3511),
       q(0),
       ],
    q(koyra chiini songhay) => [
-      q(3343),
+      q(3345),
       q(0),
       ],
    q(koyraboro senni songhai) => [
-      q(5977),
+      q(5979),
       q(0),
       ],
    q(koyukon) => [
-      q(3520),
+      q(3522),
       q(0),
       ],
    q(kpagua) => [
-      q(3661),
+      q(3663),
       q(0),
       ],
    q(kpala) => [
-      q(3532),
+      q(3534),
       q(0),
       ],
    q(kpan) => [
-      q(3531),
+      q(3533),
       q(0),
       ],
    q(kpasam) => [
-      q(5370),
+      q(5372),
       q(0),
       ],
    q(kpati) => [
-      q(3504),
+      q(3506),
       q(0),
       ],
    q(kpatili) => [
-      q(3752),
+      q(3754),
       q(0),
       ],
    q(kpeego) => [
-      q(1836),
+      q(1837),
       q(0),
       ],
    q(kpelle) => [
@@ -38480,63 +38494,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kpessi) => [
-      q(3260),
+      q(3262),
       q(0),
       ],
    q(kplang) => [
-      q(3528),
+      q(3530),
       q(0),
       ],
    q(krache) => [
-      q(3744),
+      q(3746),
       q(0),
       ],
    q(kraho) => [
-      q(7474),
+      q(7476),
       q(0),
       ],
    q(kraol) => [
-      q(5796),
+      q(5798),
       q(0),
       ],
    q(krenak) => [
-      q(3562),
+      q(3564),
       q(0),
       ],
    q(krevinian) => [
-      q(7868),
+      q(7870),
       q(0),
       ],
    q(kreye) => [
-      q(7477),
+      q(7479),
       q(0),
       ],
    q(krikati-timbira) => [
-      q(7479),
+      q(7481),
       q(0),
       ],
    q(krim) => [
-      q(3581),
+      q(3583),
       q(0),
       ],
    q(krio) => [
-      q(3578),
+      q(3580),
       q(0),
       ],
    q(kriol) => [
-      q(5843),
+      q(5845),
       q(0),
       ],
    q(krisa) => [
-      q(3600),
+      q(3602),
       q(0),
       ],
    q(krobu) => [
-      q(3717),
+      q(3719),
       q(0),
       ],
    q(krongo) => [
-      q(3320),
+      q(3322),
       q(0),
       ],
    q(kru languages) => [
@@ -38544,39 +38558,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kru'ng 2) => [
-      q(3584),
+      q(3586),
       q(0),
       ],
    q(krymchak) => [
-      q(3069),
+      q(3070),
       q(0),
       ],
    q(kryts) => [
-      q(3590),
+      q(3592),
       q(0),
       ],
    q(kua) => [
-      q(6839),
+      q(6841),
       q(0),
       ],
    q(kua-nsi) => [
-      q(7668),
+      q(7670),
       q(0),
       ],
    q(kuamasi) => [
-      q(7672),
+      q(7674),
       q(0),
       ],
    q(kuan) => [
-      q(6851),
+      q(6853),
       q(0),
       ],
    q(kuanhua) => [
-      q(7433),
+      q(7435),
       q(0),
       ],
    q(kuanua) => [
-      q(3595),
+      q(3597),
       q(0),
       ],
    q(kuanyama) => [
@@ -38584,199 +38598,199 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kube) => [
-      q(3312),
+      q(3314),
       q(0),
       ],
    q(kubi) => [
-      q(3507),
+      q(3509),
       q(0),
       ],
    q(kubo) => [
-      q(3109),
+      q(3110),
       q(0),
       ],
    q(kubu) => [
-      q(3666),
+      q(3668),
       q(0),
       ],
    q(kucong) => [
-      q(3939),
+      q(3941),
       q(0),
       ],
    q(kudiya) => [
-      q(3287),
+      q(3289),
       q(0),
       ],
    q(kudmali) => [
-      q(3762),
+      q(3764),
       q(0),
       ],
    q(kudu-camo) => [
-      q(3517),
+      q(3519),
       q(0),
       ],
    q(kugama) => [
-      q(3518),
+      q(3520),
       q(0),
       ],
    q(kugbo) => [
-      q(3273),
+      q(3275),
       q(0),
       ],
    q(kui (india)) => [
-      q(3734),
+      q(3736),
       q(0),
       ],
    q(kui (indonesia)) => [
-      q(3668),
+      q(3670),
       q(0),
       ],
    q(kuijau) => [
-      q(2074),
+      q(2075),
       q(0),
       ],
    q(kuikuro-kalapalo) => [
-      q(3651),
+      q(3653),
       q(0),
       ],
    q(kujarge) => [
-      q(7006),
+      q(7008),
       q(0),
       ],
    q(kuk) => [
-      q(3294),
+      q(3296),
       q(0),
       ],
    q(kukatja) => [
-      q(3662),
+      q(3664),
       q(0),
       ],
    q(kuke) => [
-      q(2512),
+      q(2513),
       q(0),
       ],
    q(kukele) => [
-      q(3280),
+      q(3282),
       q(0),
       ],
    q(kukna) => [
-      q(3278),
+      q(3280),
       q(0),
       ],
    q(kuku-mangk) => [
-      q(7420),
+      q(7422),
       q(0),
       ],
    q(kuku-mu'inh) => [
-      q(7419),
+      q(7421),
       q(0),
       ],
    q(kuku-muminh) => [
-      q(7412),
+      q(7414),
       q(0),
       ],
    q(kuku-ugbanh) => [
-      q(6868),
+      q(6870),
       q(0),
       ],
    q(kuku-uwanh) => [
-      q(6964),
+      q(6966),
       q(0),
       ],
    q(kuku-yalanji) => [
-      q(2672),
+      q(2673),
       q(0),
       ],
    q(kula) => [
-      q(6658),
+      q(6660),
       q(0),
       ],
    q(kulere) => [
-      q(3654),
+      q(3656),
       q(0),
       ],
    q(kulfa) => [
-      q(3723),
+      q(3725),
       q(0),
       ],
    q(kulina) => [
-      q(1910),
+      q(1911),
       q(1),
       ],
    q(kulina pano) => [
-      q(7461),
+      q(7463),
       q(0),
       ],
    q(kulisusu) => [
-      q(7008),
+      q(7010),
       q(0),
       ],
    q(kullu pahari) => [
-      q(3304),
+      q(3306),
       q(0),
       ],
    q(kulon-pazeh) => [
-      q(6958),
+      q(6960),
       q(0),
       ],
    q(kulung (nepal)) => [
-      q(3431),
+      q(3433),
       q(0),
       ],
    q(kulung (nigeria)) => [
-      q(1057),
+      q(1058),
       q(0),
       ],
    q(kumalu) => [
-      q(3603),
+      q(3605),
       q(0),
       ],
    q(kumam) => [
-      q(3240),
+      q(3242),
       q(0),
       ],
    q(kuman (papua new guinea)) => [
-      q(3647),
+      q(3649),
       q(0),
       ],
    q(kuman (russia)) => [
-      q(5716),
+      q(5718),
       q(0),
       ],
    q(kumaoni) => [
-      q(3305),
+      q(3307),
       q(0),
       ],
    q(kumarbhag paharia) => [
-      q(3461),
+      q(3463),
       q(0),
       ],
    q(kumba) => [
-      q(3604),
+      q(3606),
       q(0),
       ],
    q(kumbainggar) => [
-      q(3324),
+      q(3326),
       q(0),
       ],
    q(kumbaran) => [
-      q(7144),
+      q(7146),
       q(0),
       ],
    q(kumbewaha) => [
-      q(7384),
+      q(7386),
       q(0),
       ],
    q(kumhali) => [
-      q(3572),
+      q(3574),
       q(0),
       ],
    q(kumiai) => [
-      q(2040),
+      q(2041),
       q(0),
       ],
    q(kumukio) => [
-      q(3656),
+      q(3658),
       q(0),
       ],
    q(kumyk) => [
@@ -38784,127 +38798,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kumzari) => [
-      q(7965),
+      q(7967),
       q(0),
       ],
    q(kunama) => [
-      q(3655),
+      q(3657),
       q(0),
       ],
    q(kunbarlang) => [
-      q(7153),
+      q(7155),
       q(0),
       ],
    q(kunda) => [
-      q(3245),
+      q(3247),
       q(0),
       ],
    q(kundal shahi) => [
-      q(6011),
+      q(6013),
       q(0),
       ],
    q(kunduvadi) => [
-      q(7147),
+      q(7149),
       q(0),
       ],
    q(kung) => [
-      q(3292),
+      q(3294),
       q(0),
       ],
    q(kung-ekoka) => [
-      q(3499),
+      q(3501),
       q(0),
       ],
    q(kungarakany) => [
-      q(2495),
+      q(2496),
       q(0),
       ],
    q(kungardutyi) => [
-      q(2469),
+      q(2470),
       q(0),
       ],
    q(kunggara) => [
-      q(3683),
+      q(3685),
       q(0),
       ],
    q(kunggari) => [
-      q(3317),
+      q(3319),
       q(0),
       ],
    q(kungkari) => [
-      q(3952),
+      q(3954),
       q(0),
       ],
    q(kuni) => [
-      q(3596),
+      q(3598),
       q(0),
       ],
    q(kuni-boazi) => [
-      q(3671),
+      q(3673),
       q(0),
       ],
    q(kunigami) => [
-      q(7531),
+      q(7533),
       q(0),
       ],
    q(kunimaipa) => [
-      q(3657),
+      q(3659),
       q(0),
       ],
    q(kunja) => [
-      q(5414),
+      q(5416),
       q(0),
       ],
    q(kunjen) => [
-      q(3389),
+      q(3391),
       q(0),
       ],
    q(kunyi) => [
-      q(4917),
+      q(4919),
       q(0),
       ],
    q(kunza) => [
-      q(3664),
+      q(3666),
       q(0),
       ],
    q(kuo) => [
-      q(7536),
+      q(7538),
       q(0),
       ],
    q(kuot) => [
-      q(3632),
+      q(3634),
       q(0),
       ],
    q(kupa) => [
-      q(3649),
+      q(3651),
       q(0),
       ],
    q(kupang malay) => [
-      q(4353),
+      q(4355),
       q(0),
       ],
    q(kupia) => [
-      q(3279),
+      q(3281),
       q(0),
       ],
    q(kupsabiny) => [
-      q(3545),
+      q(3547),
       q(0),
       ],
    q(kur) => [
-      q(3660),
+      q(3662),
       q(0),
       ],
    q(kura ede nago) => [
-      q(5042),
+      q(5044),
       q(0),
       ],
    q(kurama) => [
-      q(3577),
+      q(3579),
       q(0),
       ],
    q(kuranko) => [
-      q(3487),
+      q(3489),
       q(0),
       ],
    q(kurdish) => [
@@ -38912,43 +38926,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kuri) => [
-      q(4749),
+      q(4751),
       q(0),
       ],
    q(kuria) => [
-      q(3652),
+      q(3654),
       q(0),
       ],
    q(kurichiya) => [
-      q(3288),
+      q(3290),
       q(0),
       ],
    q(kurmukar) => [
-      q(3302),
+      q(3304),
       q(0),
       ],
    q(kurnai) => [
-      q(6917),
+      q(6919),
       q(0),
       ],
    q(kurrama) => [
-      q(7013),
+      q(7015),
       q(0),
       ],
    q(kurti) => [
-      q(3630),
+      q(3632),
       q(0),
       ],
    q(kurtokha) => [
-      q(7391),
+      q(7393),
       q(0),
       ],
    q(kuruaya) => [
-      q(3757),
+      q(3759),
       q(0),
       ],
    q(kurudu) => [
-      q(3393),
+      q(3395),
       q(0),
       ],
    q(kurukh) => [
@@ -38956,27 +38970,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kusaal) => [
-      q(3658),
+      q(3660),
       q(0),
       ],
    q(kusaghe) => [
-      q(3598),
+      q(3600),
       q(0),
       ],
    q(kushi) => [
-      q(3650),
+      q(3652),
       q(0),
       ],
    q(kusu) => [
-      q(3613),
+      q(3615),
       q(0),
       ],
    q(kusunda) => [
-      q(3313),
+      q(3315),
       q(0),
       ],
    q(kutang ghale) => [
-      q(2512),
+      q(2513),
       q(1),
       ],
    q(kutenai) => [
@@ -38984,131 +38998,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(kutep) => [
-      q(3644),
+      q(3646),
       q(0),
       ],
    q(kuthant) => [
-      q(7539),
+      q(7541),
       q(0),
       ],
    q(kutong) => [
-      q(6080),
+      q(6082),
       q(0),
       ],
    q(kutto) => [
-      q(3522),
+      q(3524),
       q(0),
       ],
    q(kutu) => [
-      q(3234),
+      q(3236),
       q(0),
       ],
    q(kuturmi) => [
-      q(3338),
+      q(3340),
       q(0),
       ],
    q(kuuk-yak) => [
-      q(6887),
+      q(6889),
       q(0),
       ],
    q(kuuku-ya'u) => [
-      q(3663),
+      q(3665),
       q(0),
       ],
    q(kuvi) => [
-      q(3735),
+      q(3737),
       q(0),
       ],
    q(kuwaa) => [
-      q(1284),
+      q(1285),
       q(0),
       ],
    q(kuwaataay) => [
-      q(1928),
+      q(1929),
       q(0),
       ],
    q(kuy) => [
-      q(3249),
+      q(3251),
       q(0),
       ],
    q(kven finnish) => [
-      q(2351),
+      q(2352),
       q(0),
       ],
    q(kw'adza) => [
-      q(7143),
+      q(7145),
       q(0),
       ],
    q(kwa) => [
-      q(3692),
+      q(3694),
       q(0),
       ],
    q(kwa') => [
-      q(1266),
+      q(1267),
       q(0),
       ],
    q(kwaami) => [
-      q(3608),
+      q(3610),
       q(0),
       ],
    q(kwadi) => [
-      q(3715),
+      q(3717),
       q(0),
       ],
    q(kwaio) => [
-      q(3694),
+      q(3696),
       q(0),
       ],
    q(kwaja) => [
-      q(3254),
+      q(3256),
       q(0),
       ],
    q(kwakiutl) => [
-      q(3701),
+      q(3703),
       q(0),
       ],
    q(kwakum) => [
-      q(3710),
+      q(3712),
       q(0),
       ],
    q(kwalhioqua-tlatskanai) => [
-      q(5718),
+      q(5720),
       q(0),
       ],
    q(kwama) => [
-      q(3468),
+      q(3470),
       q(0),
       ],
    q(kwambi) => [
-      q(3703),
+      q(3705),
       q(0),
       ],
    q(kwamera) => [
-      q(6617),
+      q(6619),
       q(0),
       ],
    q(kwami) => [
-      q(3623),
+      q(3625),
       q(0),
       ],
    q(kwamtim one) => [
-      q(5231),
+      q(5233),
       q(0),
       ],
    q(kwang) => [
-      q(3673),
+      q(3675),
       q(0),
       ],
    q(kwanga) => [
-      q(3700),
+      q(3702),
       q(0),
       ],
    q(kwangali) => [
-      q(3704),
+      q(3706),
       q(0),
       ],
    q(kwanja) => [
-      q(3492),
+      q(3494),
       q(0),
       ],
    q(kwanyama) => [
@@ -39116,103 +39130,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(kwara'ae) => [
-      q(3696),
+      q(3698),
       q(0),
       ],
    q(kwasio) => [
-      q(4966),
+      q(4968),
       q(0),
       ],
    q(kwaya) => [
-      q(3740),
+      q(3742),
       q(0),
       ],
    q(kwaza) => [
-      q(7546),
+      q(7548),
       q(0),
       ],
    q(kwegu) => [
-      q(7550),
+      q(7552),
       q(0),
       ],
    q(kwenyi) => [
-      q(3242),
+      q(3244),
       q(1),
       ],
    q(kwer) => [
-      q(3707),
+      q(3709),
       q(0),
       ],
    q(kwerba) => [
-      q(3695),
+      q(3697),
       q(0),
       ],
    q(kwerba mamberamo) => [
-      q(7555),
+      q(7557),
       q(0),
       ],
    q(kwere) => [
-      q(1926),
+      q(1927),
       q(0),
       ],
    q(kwerisa) => [
-      q(3402),
+      q(3404),
       q(0),
       ],
    q(kwese) => [
-      q(3708),
+      q(3710),
       q(0),
       ],
    q(kwesten) => [
-      q(3709),
+      q(3711),
       q(0),
       ],
    q(kwini) => [
-      q(2691),
+      q(2692),
       q(0),
       ],
    q(kwinsu) => [
-      q(3645),
+      q(3647),
       q(0),
       ],
    q(kwinti) => [
-      q(3712),
+      q(3714),
       q(0),
       ],
    q(kwoma) => [
-      q(3466),
+      q(3468),
       q(0),
       ],
    q(kwomtari) => [
-      q(3705),
+      q(3707),
       q(0),
       ],
    q(kxoe) => [
-      q(7540),
+      q(7542),
       q(0),
       ],
    q(kyak) => [
-      q(1254),
+      q(1255),
       q(0),
       ],
    q(kyaka) => [
-      q(3742),
+      q(3744),
       q(0),
       ],
    q(kyan-karyaw naga) => [
-      q(5045),
+      q(5047),
       q(0),
       ],
    q(kyanga) => [
-      q(6829),
+      q(6831),
       q(0),
       ],
    q(kyenele) => [
-      q(3557),
+      q(3559),
       q(0),
       ],
    q(kyerung) => [
-      q(3330),
+      q(3332),
       q(0),
       ],
    q(kyrgyz) => [
@@ -39220,79 +39234,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(la'bi) => [
-      q(3817),
+      q(3819),
       q(0),
       ],
    q(laa laa bwamu) => [
-      q(1550),
+      q(1551),
       q(0),
       ],
    q(laadan) => [
-      q(3854),
+      q(3856),
       q(0),
       ],
    q(laal) => [
-      q(2463),
+      q(2464),
       q(0),
       ],
    q(laalaa) => [
-      q(1641),
+      q(1642),
       q(1),
       ],
    q(laari) => [
-      q(3849),
+      q(3851),
       q(0),
       ],
    q(laba) => [
-      q(3806),
+      q(3808),
       q(0),
       ],
    q(label) => [
-      q(3812),
+      q(3814),
       q(0),
       ],
    q(labir) => [
-      q(3112),
+      q(3113),
       q(0),
       ],
    q(labo) => [
-      q(4630),
+      q(4632),
       q(0),
       ],
    q(labo phowa) => [
-      q(7726),
+      q(7728),
       q(0),
       ],
    q(labu) => [
-      q(3828),
+      q(3830),
       q(0),
       ],
    q(labuk-kinabatangan kadazan) => [
-      q(2156),
+      q(2157),
       q(0),
       ],
    q(lacandon) => [
-      q(3793),
+      q(3795),
       q(0),
       ],
    q(lachi) => [
-      q(3827),
+      q(3829),
       q(0),
       ],
    q(lachiguiri zapotec) => [
-      q(7912),
+      q(7914),
       q(0),
       ],
    q(lachixio zapotec) => [
-      q(7923),
+      q(7925),
       q(0),
       ],
    q(ladakhi) => [
-      q(3818),
+      q(3820),
       q(0),
       ],
    q(ladin) => [
-      q(3957),
+      q(3959),
       q(0),
       ],
    q(ladino) => [
@@ -39300,39 +39314,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ladji ladji) => [
-      q(3963),
+      q(3965),
       q(0),
       ],
    q(laeko-libuat) => [
-      q(3945),
+      q(3947),
       q(0),
       ],
    q(lafofa) => [
-      q(3795),
+      q(3797),
       q(0),
       ],
    q(laghu) => [
-      q(3885),
+      q(3887),
       q(0),
       ],
    q(laghuu) => [
-      q(3887),
+      q(3889),
       q(0),
       ],
    q(lagwan) => [
-      q(3515),
+      q(3517),
       q(0),
       ],
    q(laha (indonesia)) => [
-      q(3899),
+      q(3901),
       q(0),
       ],
    q(laha (viet nam)) => [
-      q(3898),
+      q(3900),
       q(0),
       ],
    q(lahanan) => [
-      q(3903),
+      q(3905),
       q(0),
       ],
    q(lahnda) => [
@@ -39340,127 +39354,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lahta) => [
-      q(3684),
+      q(3686),
       q(1),
       ],
    q(lahta karen) => [
-      q(3684),
+      q(3686),
       q(0),
       ],
    q(lahu) => [
-      q(3907),
+      q(3909),
       q(0),
       ],
    q(lahu shi) => [
-      q(3900),
+      q(3902),
       q(0),
       ],
    q(lahul lohar) => [
-      q(3901),
+      q(3903),
       q(0),
       ],
    q(laimbue) => [
-      q(3994),
+      q(3996),
       q(0),
       ],
    q(laitu chin) => [
-      q(1774),
+      q(1775),
       q(0),
       ],
    q(laiyolo) => [
-      q(3932),
+      q(3934),
       q(0),
       ],
    q(lak) => [
-      q(3814),
+      q(3816),
       q(0),
       ],
    q(laka (chad)) => [
-      q(3802),
+      q(3804),
       q(0),
       ],
    q(laka (nigeria)) => [
-      q(3799),
+      q(3801),
       q(0),
       ],
    q(lakalei) => [
-      q(3937),
+      q(3939),
       q(0),
       ],
    q(lake miwok) => [
-      q(3993),
+      q(3995),
       q(0),
       ],
    q(lakha) => [
-      q(3942),
+      q(3944),
       q(0),
       ],
    q(laki) => [
-      q(3943),
+      q(3945),
       q(0),
       ],
    q(lakkia) => [
-      q(3813),
+      q(3815),
       q(0),
       ],
    q(lakon) => [
-      q(3947),
+      q(3949),
       q(0),
       ],
    q(lakonde) => [
-      q(3940),
+      q(3942),
       q(0),
       ],
    q(lakota) => [
-      q(3951),
+      q(3953),
       q(0),
       ],
    q(lakota dida) => [
-      q(2036),
+      q(2037),
       q(0),
       ],
    q(lala) => [
-      q(5063),
+      q(5065),
       q(0),
       ],
    q(lala-bisa) => [
-      q(3859),
+      q(3861),
       q(0),
       ],
    q(lala-roba) => [
-      q(3954),
+      q(3956),
       q(0),
       ],
    q(lalana chinantec) => [
-      q(1801),
+      q(1802),
       q(0),
       ],
    q(lalia) => [
-      q(3800),
+      q(3802),
       q(0),
       ],
    q(lama (togo)) => [
-      q(3805),
+      q(3807),
       q(0),
       ],
    q(lama bai) => [
-      q(3809),
+      q(3811),
       q(0),
       ],
    q(lamaholot) => [
-      q(6104),
+      q(6106),
       q(0),
       ],
    q(lamalera) => [
-      q(3990),
+      q(3992),
       q(0),
       ],
    q(lamang) => [
-      q(2752),
+      q(2753),
       q(0),
       ],
    q(lamatuka) => [
-      q(3989),
+      q(3991),
       q(0),
       ],
    q(lamba) => [
@@ -39468,59 +39482,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lambadi) => [
-      q(3986),
+      q(3988),
       q(0),
       ],
    q(lambayeque quechua) => [
-      q(5681),
+      q(5683),
       q(0),
       ],
    q(lambichhong) => [
-      q(3981),
+      q(3983),
       q(0),
       ],
    q(lamboya) => [
-      q(3995),
+      q(3997),
       q(0),
       ],
    q(lambya) => [
-      q(3797),
+      q(3799),
       q(0),
       ],
    q(lame) => [
-      q(1302),
+      q(1303),
       q(0),
       ],
    q(lamenu) => [
-      q(3991),
+      q(3993),
       q(0),
       ],
    q(lamet) => [
-      q(3822),
+      q(3824),
       q(0),
       ],
    q(lamja-dengsa-tola) => [
-      q(3848),
+      q(3850),
       q(0),
       ],
    q(lamkang) => [
-      q(3984),
+      q(3986),
       q(0),
       ],
    q(lamma) => [
-      q(3878),
+      q(3880),
       q(0),
       ],
    q(lamnso') => [
-      q(4008),
+      q(4010),
       q(0),
       ],
    q(lamogai) => [
-      q(3980),
+      q(3982),
       q(0),
       ],
    q(lampung api) => [
-      q(3934),
+      q(3936),
       q(0),
       ],
    q(lampung nyo) => [
@@ -39528,15 +39542,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lamu) => [
-      q(3961),
+      q(3963),
       q(0),
       ],
    q(lamu-lamu) => [
-      q(3832),
+      q(3834),
       q(0),
       ],
    q(lanas lobu) => [
-      q(5871),
+      q(5873),
       q(0),
       ],
    q(land dayak languages) => [
@@ -39544,51 +39558,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(landoma) => [
-      q(3853),
+      q(3855),
       q(0),
       ],
    q(lang'e) => [
-      q(7706),
+      q(7708),
       q(0),
       ],
    q(langam) => [
-      q(4005),
+      q(4007),
       q(0),
       ],
    q(langbashe) => [
-      q(3997),
+      q(3999),
       q(0),
       ],
    q(langi) => [
-      q(3796),
+      q(3798),
       q(0),
       ],
    q(langnian buyang) => [
-      q(7681),
+      q(7683),
       q(0),
       ],
    q(lango (sudan)) => [
-      q(4007),
+      q(4009),
       q(0),
       ],
    q(lango (uganda)) => [
-      q(3798),
+      q(3800),
       q(0),
       ],
    q(langobardic) => [
-      q(4000),
+      q(4002),
       q(0),
       ],
    q(langue des signes de belgique francophone) => [
-      q(5984),
+      q(5986),
       q(0),
       ],
    q(lanima) => [
-      q(4010),
+      q(4012),
       q(0),
       ],
    q(lanoh) => [
-      q(4001),
+      q(4003),
       q(0),
       ],
    q(lao) => [
@@ -39596,47 +39610,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lao naga) => [
-      q(4953),
+      q(4955),
       q(0),
       ],
    q(laomian) => [
-      q(4101),
+      q(4103),
       q(0),
       ],
    q(laopang) => [
-      q(3816),
+      q(3818),
       q(0),
       ],
    q(laos sign language) => [
-      q(4062),
+      q(4064),
       q(0),
       ],
    q(lapaguia-guivini zapotec) => [
-      q(7953),
+      q(7955),
       q(0),
       ],
    q(laragia) => [
-      q(4043),
+      q(4045),
       q(0),
       ],
    q(larantuka malay) => [
-      q(4051),
+      q(4053),
       q(0),
       ],
    q(lardil) => [
-      q(3833),
+      q(3835),
       q(0),
       ],
    q(larevat) => [
-      q(4052),
+      q(4054),
       q(0),
       ],
    q(large flowery miao) => [
-      q(2779),
+      q(2780),
       q(0),
       ],
    q(lari) => [
-      q(4046),
+      q(4048),
       q(0),
       ],
    q(larike-wakasihu) => [
@@ -39644,39 +39658,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(laro) => [
-      q(4049),
+      q(4051),
       q(0),
       ],
    q(larteh) => [
-      q(3804),
+      q(3806),
       q(0),
       ],
    q(laru) => [
-      q(3801),
+      q(3803),
       q(0),
       ],
    q(lasalimu) => [
-      q(3966),
+      q(3968),
       q(0),
       ],
    q(lasgerdi) => [
-      q(4054),
+      q(4056),
       q(0),
       ],
    q(lashi) => [
-      q(4059),
+      q(4061),
       q(0),
       ],
    q(lasi) => [
-      q(4065),
+      q(4067),
       q(0),
       ],
    q(late middle chinese) => [
-      q(4068),
+      q(4070),
       q(0),
       ],
    q(latgalian) => [
-      q(4069),
+      q(4071),
       q(0),
       ],
    q(latin) => [
@@ -39684,11 +39698,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(latu) => [
-      q(4074),
+      q(4076),
       q(0),
       ],
    q(latunde) => [
-      q(4071),
+      q(4073),
       q(0),
       ],
    q(latvian) => [
@@ -39696,103 +39710,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(latvian sign language) => [
-      q(4060),
+      q(4062),
       q(0),
       ],
    q(lau) => [
-      q(3972),
+      q(3974),
       q(0),
       ],
    q(laua) => [
-      q(4078),
+      q(4080),
       q(0),
       ],
    q(lauan) => [
-      q(3973),
+      q(3975),
       q(0),
       ],
    q(lauje) => [
-      q(3807),
+      q(3809),
       q(0),
       ],
    q(laura) => [
-      q(4085),
+      q(4087),
       q(0),
       ],
    q(laurentian) => [
-      q(4042),
+      q(4044),
       q(0),
       ],
    q(lautu chin) => [
-      q(1779),
+      q(1780),
       q(0),
       ],
    q(lavatbura-lamusong) => [
-      q(3829),
+      q(3831),
       q(0),
       ],
    q(lave) => [
-      q(1422),
+      q(1423),
       q(0),
       ],
    q(laven) => [
-      q(3823),
+      q(3825),
       q(0),
       ],
    q(lavrung) => [
-      q(3101),
+      q(3102),
       q(1),
       ],
    q(lavukaleve) => [
-      q(4093),
+      q(4095),
       q(0),
       ],
    q(lawangan) => [
-      q(3831),
+      q(3833),
       q(0),
       ],
    q(lawu) => [
-      q(4104),
+      q(4106),
       q(0),
       ],
    q(lawunuia) => [
-      q(6480),
+      q(6482),
       q(0),
       ],
    q(layakha) => [
-      q(4106),
+      q(4108),
       q(0),
       ],
    q(laz) => [
-      q(4112),
+      q(4114),
       q(0),
       ],
    q(lealao chinantec) => [
-      q(1771),
+      q(1772),
       q(0),
       ],
    q(leco) => [
-      q(3860),
+      q(3862),
       q(0),
       ],
    q(ledo kaili) => [
-      q(3879),
+      q(3881),
       q(0),
       ],
    q(leelau) => [
-      q(3851),
+      q(3853),
       q(0),
       ],
    q(lefa) => [
-      q(3882),
+      q(3884),
       q(0),
       ],
    q(lega-mwenga) => [
-      q(3891),
+      q(3893),
       q(0),
       ],
    q(lega-shabunda) => [
-      q(3858),
+      q(3860),
       q(0),
       ],
    q(legbo) => [
@@ -39800,131 +39814,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(legenyem) => [
-      q(3834),
+      q(3836),
       q(0),
       ],
    q(lehali) => [
-      q(6676),
+      q(6678),
       q(0),
       ],
    q(lehalurup) => [
-      q(6938),
+      q(6940),
       q(0),
       ],
    q(lehar) => [
-      q(1641),
+      q(1642),
       q(0),
       ],
    q(leinong naga) => [
-      q(4111),
+      q(4113),
       q(0),
       ],
    q(leipon) => [
-      q(3867),
+      q(3869),
       q(0),
       ],
    q(lelak) => [
-      q(3964),
+      q(3966),
       q(0),
       ],
    q(lele (chad)) => [
-      q(3967),
+      q(3969),
       q(0),
       ],
    q(lele (democratic republic of congo)) => [
-      q(3868),
+      q(3870),
       q(0),
       ],
    q(lele (guinea)) => [
-      q(3956),
+      q(3958),
       q(0),
       ],
    q(lele (papua new guinea)) => [
-      q(3958),
+      q(3960),
       q(0),
       ],
    q(lelemi) => [
-      q(3863),
+      q(3865),
       q(0),
       ],
    q(lelepa) => [
-      q(4035),
+      q(4037),
       q(0),
       ],
    q(lembena) => [
-      q(3873),
+      q(3875),
       q(0),
       ],
    q(lemerig) => [
-      q(4053),
+      q(4055),
       q(0),
       ],
    q(lemio) => [
-      q(3865),
+      q(3867),
       q(0),
       ],
    q(lemnian) => [
-      q(7396),
+      q(7398),
       q(0),
       ],
    q(lemolang) => [
-      q(3881),
+      q(3883),
       q(0),
       ],
    q(lemoro) => [
-      q(3850),
+      q(3852),
       q(0),
       ],
    q(lenakel) => [
-      q(6618),
+      q(6620),
       q(0),
       ],
    q(lenca) => [
-      q(3870),
+      q(3872),
       q(0),
       ],
    q(lendu) => [
-      q(3861),
+      q(3863),
       q(0),
       ],
    q(lengilu) => [
-      q(3888),
+      q(3890),
       q(0),
       ],
    q(lengo) => [
-      q(3894),
+      q(3896),
       q(0),
       ],
    q(lengola) => [
-      q(3866),
+      q(3868),
       q(0),
       ],
    q(lengua de senas catalana) => [
-      q(1866),
+      q(1867),
       q(1),
       ],
    q(lengua de senas del paraguay) => [
-      q(5672),
+      q(5674),
       q(1),
       ],
    q(lengua de senas panamenas) => [
-      q(4063),
+      q(4065),
       q(1),
       ],
    q(leningitij) => [
-      q(4003),
+      q(4005),
       q(0),
       ],
    q(lenje) => [
-      q(3864),
+      q(3866),
       q(0),
       ],
    q(lenkau) => [
-      q(3874),
+      q(3876),
       q(0),
       ],
    q(lenyima) => [
-      q(3847),
+      q(3849),
       q(0),
       ],
    q(leonese) => [
@@ -39932,39 +39946,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(lepcha) => [
-      q(3872),
+      q(3874),
       q(0),
       ],
    q(lepki) => [
-      q(4036),
+      q(4038),
       q(0),
       ],
    q(lepontic) => [
-      q(7401),
+      q(7403),
       q(0),
       ],
    q(lere) => [
-      q(2572),
+      q(2573),
       q(0),
       ],
    q(lese) => [
-      q(3875),
+      q(3877),
       q(0),
       ],
    q(lesing-gelimi) => [
-      q(3876),
+      q(3878),
       q(0),
       ],
    q(letemboi) => [
-      q(4978),
+      q(4980),
       q(0),
       ],
    q(leti (cameroon)) => [
-      q(3871),
+      q(3873),
       q(0),
       ],
    q(leti (indonesia)) => [
-      q(4070),
+      q(4072),
       q(0),
       ],
    q(letzeburgesch) => [
@@ -39972,23 +39986,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(levuka) => [
-      q(4095),
+      q(4097),
       q(0),
       ],
    q(lewo) => [
-      q(4105),
+      q(4107),
       q(0),
       ],
    q(lewo eleng) => [
-      q(4097),
+      q(4099),
       q(0),
       ],
    q(lewotobi) => [
-      q(4103),
+      q(4105),
       q(0),
       ],
    q(leyigha) => [
-      q(0998),
+      q(0999),
       q(0),
       ],
    q(lezghian) => [
@@ -39996,135 +40010,135 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lhaovo) => [
-      q(4294),
+      q(4296),
       q(1),
       ],
    q(lhokpu) => [
-      q(3904),
+      q(3906),
       q(0),
       ],
    q(lhomi) => [
-      q(3902),
+      q(3904),
       q(0),
       ],
    q(li'o) => [
-      q(3933),
+      q(3935),
       q(0),
       ],
    q(liabuku) => [
-      q(3927),
+      q(3929),
       q(0),
       ],
    q(liana-seti) => [
-      q(6255),
+      q(6257),
       q(0),
       ],
    q(liangmai naga) => [
-      q(4911),
+      q(4913),
       q(0),
       ],
    q(lianshan zhuang) => [
-      q(7872),
+      q(7874),
       q(0),
       ],
    q(liberia kpelle) => [
-      q(7457),
+      q(7459),
       q(0),
       ],
    q(liberian english) => [
-      q(3922),
+      q(3924),
       q(0),
       ],
    q(libido) => [
-      q(3921),
+      q(3923),
       q(0),
       ],
    q(libinza) => [
-      q(3929),
+      q(3931),
       q(0),
       ],
    q(libon bikol) => [
-      q(3820),
+      q(3822),
       q(0),
       ],
    q(liburnian) => [
-      q(7398),
+      q(7400),
       q(0),
       ],
    q(libyan arabic) => [
-      q(1000),
+      q(1001),
       q(0),
       ],
    q(libyan sign language) => [
-      q(3826),
+      q(3828),
       q(0),
       ],
    q(ligbi) => [
-      q(3914),
+      q(3916),
       q(0),
       ],
    q(ligenza) => [
-      q(3897),
+      q(3899),
       q(0),
       ],
    q(ligurian) => [
-      q(3916),
+      q(3918),
       q(0),
       ],
    q(ligurian (ancient)) => [
-      q(7397),
+      q(7399),
       q(0),
       ],
    q(lihir) => [
-      q(3915),
+      q(3917),
       q(0),
       ],
    q(lijili) => [
-      q(4256),
+      q(4258),
       q(0),
       ],
    q(lika) => [
-      q(3917),
+      q(3919),
       q(0),
       ],
    q(liki) => [
-      q(3919),
+      q(3921),
       q(0),
       ],
    q(likila) => [
-      q(3912),
+      q(3914),
       q(0),
       ],
    q(likuba) => [
-      q(3737),
+      q(3739),
       q(0),
       ],
    q(likum) => [
-      q(3909),
+      q(3911),
       q(0),
       ],
    q(likwala) => [
-      q(3693),
+      q(3695),
       q(0),
       ],
    q(lilau) => [
-      q(3965),
+      q(3967),
       q(0),
       ],
    q(lillooet) => [
-      q(3918),
+      q(3920),
       q(0),
       ],
    q(limassa) => [
-      q(1306),
+      q(1307),
       q(0),
       ],
    q(limbu) => [
-      q(3913),
+      q(3915),
       q(0),
       ],
    q(limbum) => [
-      q(3988),
+      q(3990),
       q(0),
       ],
    q(limburgan) => [
@@ -40140,23 +40154,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(limi) => [
-      q(7680),
+      q(7682),
       q(0),
       ],
    q(limilngan) => [
-      q(3976),
+      q(3978),
       q(0),
       ],
    q(limos kalinga) => [
-      q(3462),
+      q(3464),
       q(0),
       ],
    q(lindu) => [
-      q(3449),
+      q(3451),
       q(0),
       ],
    q(linear a) => [
-      q(3792),
+      q(3794),
       q(0),
       ],
    q(lingala) => [
@@ -40164,19 +40178,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lingao) => [
-      q(5266),
+      q(5268),
       q(0),
       ],
    q(lingarak) => [
-      q(3889),
+      q(3891),
       q(0),
       ],
    q(lingua franca) => [
-      q(5516),
+      q(5518),
       q(0),
       ],
    q(lingua franca nova) => [
-      q(3883),
+      q(3885),
       q(0),
       ],
    q(lipan apache) => [
@@ -40184,27 +40198,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lipo) => [
-      q(4038),
+      q(4040),
       q(0),
       ],
    q(lisabata-nuniali) => [
-      q(3843),
+      q(3845),
       q(0),
       ],
    q(lisela) => [
-      q(3839),
+      q(3841),
       q(0),
       ],
    q(lish) => [
-      q(4058),
+      q(4060),
       q(0),
       ],
    q(lishan didan) => [
-      q(6692),
+      q(6694),
       q(0),
       ],
    q(lishana deni) => [
-      q(4055),
+      q(4057),
       q(0),
       ],
    q(lishanid noshan) => [
@@ -40212,11 +40226,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lisu) => [
-      q(3923),
+      q(3925),
       q(0),
       ],
    q(literary chinese) => [
-      q(4109),
+      q(4111),
       q(0),
       ],
    q(lithuanian) => [
@@ -40224,87 +40238,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lithuanian sign language) => [
-      q(3971),
+      q(3973),
       q(0),
       ],
    q(litzlitz) => [
-      q(4110),
+      q(4112),
       q(0),
       ],
    q(liujiang zhuang) => [
-      q(7870),
+      q(7872),
       q(0),
       ],
    q(liuqian zhuang) => [
-      q(7873),
+      q(7875),
       q(0),
       ],
    q(liv) => [
-      q(3925),
+      q(3927),
       q(0),
       ],
    q(livvi) => [
-      q(5246),
+      q(5248),
       q(0),
       ],
    q(llengua de signes catalana) => [
-      q(1866),
+      q(1867),
       q(2),
       ],
    q(llengua de signes valenciana) => [
-      q(7048),
+      q(7050),
       q(1),
       ],
    q(lo-toga) => [
-      q(3906),
+      q(3908),
       q(0),
       ],
    q(loarki) => [
-      q(4045),
+      q(4047),
       q(0),
       ],
    q(lobala) => [
-      q(4026),
+      q(4028),
       q(0),
       ],
    q(lobi) => [
-      q(4013),
+      q(4015),
       q(0),
       ],
    q(lodhi) => [
-      q(3821),
+      q(3823),
       q(0),
       ],
    q(logba) => [
-      q(3893),
+      q(3895),
       q(0),
       ],
    q(logo) => [
-      q(4017),
+      q(4019),
       q(0),
       ],
    q(logol) => [
-      q(4016),
+      q(4018),
       q(0),
       ],
    q(logooli) => [
-      q(5739),
+      q(5741),
       q(0),
       ],
    q(logorik) => [
-      q(3924),
+      q(3926),
       q(0),
       ],
    q(logudorese sardinian) => [
-      q(6209),
+      q(6211),
       q(0),
       ],
    q(lohorung) => [
-      q(3825),
+      q(3827),
       q(0),
       ],
    q(loja highland quichua) => [
-      q(5703),
+      q(5705),
       q(0),
       ],
    q(lojban) => [
@@ -40312,175 +40326,175 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lokaa) => [
-      q(7596),
+      q(7598),
       q(0),
       ],
    q(loke) => [
-      q(4034),
+      q(4036),
       q(0),
       ],
    q(loko) => [
-      q(4021),
+      q(4023),
       q(0),
       ],
    q(lokoya) => [
-      q(3953),
+      q(3955),
       q(0),
       ],
    q(lola) => [
-      q(3835),
+      q(3837),
       q(0),
       ],
    q(lolak) => [
-      q(3970),
+      q(3972),
       q(0),
       ],
    q(lole) => [
-      q(3960),
+      q(3962),
       q(0),
       ],
    q(lolo) => [
-      q(3955),
+      q(3957),
       q(0),
       ],
    q(loloda) => [
-      q(4012),
+      q(4014),
       q(0),
       ],
    q(lolopo) => [
-      q(7611),
+      q(7613),
       q(0),
       ],
    q(loma (cote d'ivoire)) => [
-      q(4019),
+      q(4021),
       q(0),
       ],
    q(loma (liberia)) => [
-      q(4022),
+      q(4024),
       q(0),
       ],
    q(lomaiviti) => [
-      q(3992),
+      q(3994),
       q(0),
       ],
    q(lomavren) => [
-      q(5811),
+      q(5813),
       q(0),
       ],
    q(lombard) => [
-      q(3987),
+      q(3989),
       q(0),
       ],
    q(lombi) => [
-      q(3982),
+      q(3984),
       q(0),
       ],
    q(lombo) => [
-      q(4024),
+      q(4026),
       q(0),
       ],
    q(lomwe) => [
-      q(4843),
+      q(4845),
       q(0),
       ],
    q(loncong) => [
-      q(3836),
+      q(3838),
       q(0),
       ],
    q(long phuri naga) => [
-      q(4037),
+      q(4039),
       q(0),
       ],
    q(long wat) => [
-      q(6755),
+      q(6757),
       q(0),
       ],
    q(longgu) => [
-      q(3896),
+      q(3898),
       q(0),
       ],
    q(longto) => [
-      q(7202),
+      q(7204),
       q(0),
       ],
    q(longuda) => [
-      q(4009),
+      q(4011),
       q(0),
       ],
    q(loniu) => [
-      q(4028),
+      q(4030),
       q(0),
       ],
    q(lonwolwol) => [
-      q(1845),
+      q(1846),
       q(0),
       ],
    q(lonzo) => [
-      q(4011),
+      q(4013),
       q(0),
       ],
    q(loo) => [
-      q(3855),
+      q(3857),
       q(0),
       ],
    q(lopa) => [
-      q(4025),
+      q(4027),
       q(0),
       ],
    q(lopi) => [
-      q(4031),
+      q(4033),
       q(0),
       ],
    q(lopit) => [
-      q(4039),
+      q(4041),
       q(0),
       ],
    q(lorang) => [
-      q(4048),
+      q(4050),
       q(0),
       ],
    q(lorediakarkar) => [
-      q(4006),
+      q(4008),
       q(0),
       ],
    q(loreto-ucayali spanish) => [
-      q(6188),
+      q(6190),
       q(0),
       ],
    q(lote) => [
-      q(6963),
+      q(6965),
       q(0),
       ],
    q(lotha naga) => [
-      q(4906),
+      q(4908),
       q(0),
       ],
    q(lotud) => [
-      q(2164),
+      q(2165),
       q(0),
       ],
    q(lou) => [
-      q(4020),
+      q(4022),
       q(0),
       ],
    q(louisiana creole french) => [
-      q(4030),
+      q(4032),
       q(0),
       ],
    q(loun) => [
-      q(4033),
+      q(4035),
       q(0),
       ],
    q(loup a) => [
-      q(7400),
+      q(7402),
       q(0),
       ],
    q(loup b) => [
-      q(7393),
+      q(7395),
       q(0),
       ],
    q(lovono) => [
-      q(7039),
+      q(7041),
       q(1),
       ],
    q(low german) => [
@@ -40492,19 +40506,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(lower burdekin) => [
-      q(7291),
+      q(7293),
       q(0),
       ],
    q(lower chehalis) => [
-      q(1705),
+      q(1706),
       q(0),
       ],
    q(lower grand valley dani) => [
-      q(2102),
+      q(2103),
       q(0),
       ],
    q(lower silesian) => [
-      q(6099),
+      q(6101),
       q(0),
       ],
    q(lower sorbian) => [
@@ -40512,31 +40526,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lower southern aranda) => [
-      q(0988),
+      q(0989),
       q(0),
       ],
    q(lower ta'oih) => [
-      q(6747),
+      q(6749),
       q(0),
       ],
    q(lower tanana) => [
-      q(6356),
+      q(6358),
       q(0),
       ],
    q(lowland oaxaca chontal) => [
-      q(1778),
+      q(1779),
       q(0),
       ],
    q(lowland tarahumara) => [
-      q(6358),
+      q(6360),
       q(0),
       ],
    q(loxicha zapotec) => [
-      q(7956),
+      q(7958),
       q(0),
       ],
    q(loyop) => [
-      q(6938),
+      q(6940),
       q(1),
       ],
    q(lozi) => [
@@ -40544,15 +40558,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lu) => [
-      q(3331),
+      q(3333),
       q(0),
       ],
    q(lua') => [
-      q(5585),
+      q(5587),
       q(0),
       ],
    q(luang) => [
-      q(3880),
+      q(3882),
       q(0),
       ],
    q(luba-katanga) => [
@@ -40564,59 +40578,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lubila) => [
-      q(3209),
+      q(3211),
       q(0),
       ],
    q(lubu) => [
-      q(3837),
+      q(3839),
       q(0),
       ],
    q(lubuagan kalinga) => [
-      q(3479),
+      q(3481),
       q(0),
       ],
    q(lubukusu) => [
-      q(1576),
+      q(1577),
       q(1),
       ],
    q(luchazi) => [
-      q(3838),
+      q(3840),
       q(0),
       ],
    q(lucumi) => [
-      q(4084),
+      q(4086),
       q(0),
       ],
    q(ludian) => [
-      q(4076),
+      q(4078),
       q(0),
       ],
    q(lufu) => [
-      q(3857),
+      q(3859),
       q(0),
       ],
    q(lugbara) => [
-      q(3886),
+      q(3888),
       q(0),
       ],
    q(luguru) => [
-      q(5863),
+      q(5865),
       q(0),
       ],
    q(luhu) => [
-      q(3842),
+      q(3844),
       q(0),
       ],
    q(lui) => [
-      q(3811),
+      q(3813),
       q(0),
       ],
    q(luidakho-luisukha-lutirichi) => [
-      q(2901),
+      q(2902),
       q(1),
       ],
    q(luimbi) => [
-      q(4082),
+      q(4084),
       q(0),
       ],
    q(luiseno) => [
@@ -40624,15 +40638,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lukabaras) => [
-      q(3938),
+      q(3940),
       q(1),
       ],
    q(lukpa) => [
-      q(2122),
+      q(2123),
       q(0),
       ],
    q(lule) => [
-      q(6891),
+      q(6893),
       q(0),
       ],
    q(lule sami) => [
@@ -40640,35 +40654,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lulogooli) => [
-      q(5739),
+      q(5741),
       q(1),
       ],
    q(lumba-yakkha) => [
-      q(4087),
+      q(4089),
       q(0),
       ],
    q(lumbee) => [
-      q(3996),
+      q(3998),
       q(0),
       ],
    q(lumbu) => [
-      q(4083),
+      q(4085),
       q(0),
       ],
    q(lumun) => [
-      q(3977),
+      q(3979),
       q(0),
       ],
    q(lun bawang) => [
-      q(3999),
+      q(4001),
       q(1),
       ],
    q(luna) => [
-      q(4079),
+      q(4081),
       q(0),
       ],
    q(lunanakha) => [
-      q(4080),
+      q(4082),
       q(0),
       ],
    q(lunda) => [
@@ -40676,19 +40690,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lundayeh) => [
-      q(3999),
+      q(4001),
       q(0),
       ],
    q(lungalunga) => [
-      q(7022),
+      q(7024),
       q(0),
       ],
    q(lungga) => [
-      q(3884),
+      q(3886),
       q(0),
       ],
    q(luo (cameroon)) => [
-      q(4089),
+      q(4091),
       q(0),
       ],
    q(luo (kenya and tanzania)) => [
@@ -40696,19 +40710,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(luopohe hmong) => [
-      q(2787),
+      q(2788),
       q(0),
       ],
    q(luopohe miao) => [
-      q(2787),
+      q(2788),
       q(1),
       ],
    q(luri) => [
-      q(3846),
+      q(3848),
       q(0),
       ],
    q(lusengo) => [
-      q(4056),
+      q(4058),
       q(0),
       ],
    q(lushai) => [
@@ -40716,35 +40730,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(lushootseed) => [
-      q(4086),
+      q(4088),
       q(0),
       ],
    q(lusi) => [
-      q(3340),
+      q(3342),
       q(0),
       ],
    q(lusitanian) => [
-      q(7402),
+      q(7404),
       q(0),
       ],
    q(lutachoni) => [
-      q(4073),
+      q(4075),
       q(1),
       ],
    q(lutos) => [
-      q(4803),
+      q(4805),
       q(0),
       ],
    q(luvale) => [
-      q(4077),
+      q(4079),
       q(0),
       ],
    q(luwati) => [
-      q(4088),
+      q(4090),
       q(0),
       ],
    q(luwo) => [
-      q(4102),
+      q(4104),
       q(0),
       ],
    q(luxembourgish) => [
@@ -40752,115 +40766,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(luyana) => [
-      q(4108),
+      q(4110),
       q(0),
       ],
    q(luyia) => [
-      q(4090),
+      q(4092),
       q(0),
       ],
    q(lwalu) => [
-      q(4096),
+      q(4098),
       q(0),
       ],
    q(lycian) => [
-      q(7394),
+      q(7396),
       q(0),
       ],
    q(lydian) => [
-      q(7395),
+      q(7397),
       q(0),
       ],
    q(lyele) => [
-      q(3862),
+      q(3864),
       q(0),
       ],
    q(lyngngam) => [
-      q(4107),
+      q(4109),
       q(0),
       ],
    q(lyons sign language) => [
-      q(4057),
+      q(4059),
       q(0),
       ],
    q(ma (democratic republic of congo)) => [
-      q(4537),
+      q(4539),
       q(0),
       ],
    q(ma (papua new guinea)) => [
-      q(4329),
+      q(4331),
       q(0),
       ],
    q(ma manda) => [
-      q(6071),
+      q(6073),
       q(0),
       ],
    q(ma'anyan) => [
-      q(4295),
+      q(4297),
       q(0),
       ],
    q(ma'di) => [
-      q(4280),
+      q(4282),
       q(0),
       ],
    q(ma'ya) => [
-      q(6113),
+      q(6115),
       q(0),
       ],
    q(maa) => [
-      q(1783),
+      q(1784),
       q(0),
       ],
    q(maaka) => [
-      q(4220),
+      q(4222),
       q(0),
       ],
    q(maasina fulfulde) => [
-      q(2342),
+      q(2343),
       q(0),
       ],
    q(maay) => [
-      q(7695),
+      q(7697),
       q(0),
       ],
    q(maba (chad)) => [
-      q(4181),
+      q(4183),
       q(0),
       ],
    q(maba (indonesia)) => [
-      q(4479),
+      q(4481),
       q(0),
       ],
    q(mabaale) => [
-      q(4412),
+      q(4414),
       q(0),
       ],
    q(mabaan) => [
-      q(4248),
+      q(4250),
       q(0),
       ],
    q(mabaka valley kalinga) => [
-      q(3407),
+      q(3409),
       q(0),
       ],
    q(mabire) => [
-      q(4586),
+      q(4588),
       q(0),
       ],
    q(maca) => [
-      q(4151),
+      q(4153),
       q(0),
       ],
    q(macaguaje) => [
-      q(4162),
+      q(4164),
       q(0),
       ],
    q(macaguan) => [
-      q(4138),
+      q(4140),
       q(0),
       ],
    q(macanese) => [
-      q(4709),
+      q(4711),
       q(0),
       ],
    q(macedo-romanian) => [
@@ -40872,63 +40886,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(machame) => [
-      q(3117),
+      q(3118),
       q(0),
       ],
    q(machiguenga) => [
-      q(4152),
+      q(4154),
       q(0),
       ],
    q(machinere) => [
-      q(4457),
+      q(4459),
       q(0),
       ],
    q(machinga) => [
-      q(4619),
+      q(4621),
       q(0),
       ],
    q(maco) => [
-      q(7210),
+      q(7212),
       q(0),
       ],
    q(macuna) => [
-      q(4690),
+      q(4692),
       q(0),
       ],
    q(macushi) => [
-      q(4128),
+      q(4130),
       q(0),
       ],
    q(mada (cameroon)) => [
-      q(4665),
+      q(4667),
       q(0),
       ],
    q(mada (nigeria)) => [
-      q(4177),
+      q(4179),
       q(0),
       ],
    q(madagascar sign language) => [
-      q(4694),
+      q(4696),
       q(0),
       ],
    q(madak) => [
-      q(4410),
+      q(4412),
       q(0),
       ],
    q(maden) => [
-      q(7427),
+      q(7429),
       q(0),
       ],
    q(madhi madhi) => [
-      q(2084),
+      q(2085),
       q(0),
       ],
    q(madi) => [
-      q(2615),
+      q(2616),
       q(0),
       ],
    q(madngele) => [
-      q(7885),
+      q(7887),
       q(0),
       ],
    q(madurese) => [
@@ -40936,31 +40950,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mae) => [
-      q(4392),
+      q(4394),
       q(0),
       ],
    q(maek) => [
-      q(2786),
+      q(2787),
       q(0),
       ],
    q(maeng itneg) => [
-      q(3018),
+      q(3019),
       q(0),
       ],
    q(mafa) => [
-      q(4116),
+      q(4118),
       q(0),
       ],
    q(mafea) => [
-      q(4361),
+      q(4363),
       q(0),
       ],
    q(mag-antsi ayta) => [
-      q(5989),
+      q(5991),
       q(0),
       ],
    q(mag-indi ayta) => [
-      q(1299),
+      q(1300),
       q(0),
       ],
    q(magahi) => [
@@ -40968,103 +40982,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(magbukun ayta) => [
-      q(1007),
+      q(1008),
       q(0),
       ],
    q(magdalena penasco mixtec) => [
-      q(7515),
+      q(7517),
       q(0),
       ],
    q(maghdi) => [
-      q(2556),
+      q(2557),
       q(0),
       ],
    q(magoma) => [
-      q(2563),
+      q(2564),
       q(0),
       ],
    q(magori) => [
-      q(7841),
+      q(7843),
       q(0),
       ],
    q(maguindanaon) => [
-      q(4183),
+      q(4185),
       q(0),
       ],
    q(magyi) => [
-      q(2557),
+      q(2558),
       q(0),
       ],
    q(mah meri) => [
-      q(4277),
+      q(4279),
       q(1),
       ],
    q(mahali) => [
-      q(4339),
+      q(4341),
       q(0),
       ],
    q(maharastri prakrit) => [
-      q(5512),
+      q(5514),
       q(0),
       ],
    q(mahasu pahari) => [
-      q(1159),
+      q(1160),
       q(0),
       ],
    q(mahican) => [
-      q(4340),
+      q(4342),
       q(0),
       ],
    q(mahongwe) => [
-      q(4274),
+      q(4276),
       q(0),
       ],
    q(mahou) => [
-      q(4668),
+      q(4670),
       q(0),
       ],
    q(mai brat) => [
-      q(1010),
+      q(1011),
       q(0),
       ],
    q(maia) => [
-      q(6086),
+      q(6088),
       q(0),
       ],
    q(maiadomu) => [
-      q(4716),
+      q(4718),
       q(0),
       ],
    q(maiani) => [
-      q(6615),
+      q(6617),
       q(0),
       ],
    q(maii) => [
-      q(4400),
+      q(4402),
       q(0),
       ],
    q(mailu) => [
-      q(4268),
+      q(4270),
       q(0),
       ],
    q(maindo) => [
-      q(1924),
+      q(1925),
       q(0),
       ],
    q(mainfrankisch) => [
-      q(7021),
+      q(7023),
       q(0),
       ],
    q(mainstream kenyah) => [
-      q(7378),
+      q(7380),
       q(0),
       ],
    q(mairasi) => [
-      q(7944),
+      q(7946),
       q(0),
       ],
    q(maisin) => [
-      q(4141),
+      q(4143),
       q(0),
       ],
    q(maithili) => [
@@ -41072,55 +41086,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maiwa (indonesia)) => [
-      q(7173),
+      q(7175),
       q(0),
       ],
    q(maiwa (papua new guinea)) => [
-      q(4561),
+      q(4563),
       q(0),
       ],
    q(maiwala) => [
-      q(4588),
+      q(4590),
       q(0),
       ],
    q(majang) => [
-      q(4458),
+      q(4460),
       q(0),
       ],
    q(majera) => [
-      q(7413),
+      q(7415),
       q(0),
       ],
    q(majhi) => [
-      q(4341),
+      q(4343),
       q(0),
       ],
    q(majhwar) => [
-      q(4397),
+      q(4399),
       q(0),
       ],
    q(majukayang kalinga) => [
-      q(3455),
+      q(3457),
       q(0),
       ],
    q(mak (china)) => [
-      q(4347),
+      q(4349),
       q(0),
       ],
    q(mak (nigeria)) => [
-      q(5369),
+      q(5371),
       q(0),
       ],
    q(makaa) => [
-      q(4166),
+      q(4168),
       q(0),
       ],
    q(makah) => [
-      q(4677),
+      q(4679),
       q(0),
       ],
    q(makasae) => [
-      q(4365),
+      q(4367),
       q(0),
       ],
    q(makasar) => [
@@ -41128,95 +41142,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(makassar malay) => [
-      q(4238),
+      q(4240),
       q(0),
       ],
    q(makayam) => [
-      q(0945),
+      q(0946),
       q(0),
       ],
    q(makhuwa) => [
-      q(7035),
+      q(7037),
       q(0),
       ],
    q(makhuwa-marrevone) => [
-      q(7407),
+      q(7409),
       q(0),
       ],
    q(makhuwa-meetto) => [
-      q(4255),
+      q(4257),
       q(0),
       ],
    q(makhuwa-moniga) => [
-      q(4284),
+      q(4286),
       q(0),
       ],
    q(makhuwa-saka) => [
-      q(7499),
+      q(7501),
       q(0),
       ],
    q(makhuwa-shirima) => [
-      q(7026),
+      q(7028),
       q(0),
       ],
    q(maklew) => [
-      q(4253),
+      q(4255),
       q(0),
       ],
    q(makolkol) => [
-      q(7881),
+      q(7883),
       q(0),
       ],
    q(makonde) => [
-      q(3236),
+      q(3238),
       q(0),
       ],
    q(maku'a) => [
-      q(4092),
+      q(4094),
       q(0),
       ],
    q(makurap) => [
-      q(4473),
+      q(4475),
       q(0),
       ],
    q(makuri naga) => [
-      q(3121),
+      q(3122),
       q(0),
       ],
    q(makwe) => [
-      q(7693),
+      q(7695),
       q(0),
       ],
    q(makyan naga) => [
-      q(6906),
+      q(6908),
       q(0),
       ],
    q(mal) => [
-      q(4370),
+      q(4372),
       q(0),
       ],
    q(mal paharia) => [
-      q(4343),
+      q(4345),
       q(0),
       ],
    q(mala (nigeria)) => [
-      q(5872),
+      q(5874),
       q(0),
       ],
    q(mala (papua new guinea)) => [
-      q(5404),
+      q(5406),
       q(0),
       ],
    q(mala malasar) => [
-      q(2960),
+      q(2961),
       q(0),
       ],
    q(malaccan creole malay) => [
-      q(1687),
+      q(1688),
       q(0),
       ],
    q(malaccan creole portuguese) => [
-      q(4163),
+      q(4165),
       q(0),
       ],
    q(malagasy) => [
@@ -41224,43 +41238,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malalamai) => [
-      q(4406),
+      q(4408),
       q(0),
       ],
    q(malango) => [
-      q(4377),
+      q(4379),
       q(0),
       ],
    q(malankuravan) => [
-      q(4330),
+      q(4332),
       q(0),
       ],
    q(malapandaram) => [
-      q(4331),
+      q(4333),
       q(0),
       ],
    q(malaryan) => [
-      q(4332),
+      q(4334),
       q(0),
       ],
    q(malas) => [
-      q(4357),
+      q(4359),
       q(0),
       ],
    q(malasar) => [
-      q(7700),
+      q(7702),
       q(0),
       ],
    q(malavedan) => [
-      q(4333),
+      q(4335),
       q(0),
       ],
    q(malawi lomwe) => [
-      q(4023),
+      q(4025),
       q(0),
       ],
    q(malawi sena) => [
-      q(6305),
+      q(6307),
       q(0),
       ],
    q(malay) => [
@@ -41268,7 +41282,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malay (individual language)) => [
-      q(7871),
+      q(7873),
       q(0),
       ],
    q(malay (macrolanguage)) => [
@@ -41280,15 +41294,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malayic dayak) => [
-      q(7325),
+      q(7327),
       q(0),
       ],
    q(malaynon) => [
-      q(4387),
+      q(4389),
       q(0),
       ],
    q(malayo) => [
-      q(4140),
+      q(4142),
       q(0),
       ],
    q(malayo-polynesian languages) => [
@@ -41296,11 +41310,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(malaysian sign language) => [
-      q(7415),
+      q(7417),
       q(0),
       ],
    q(malba birifor) => [
-      q(1149),
+      q(1150),
       q(0),
       ],
    q(maldivian) => [
@@ -41308,75 +41322,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(male) => [
-      q(2823),
+      q(2824),
       q(1),
       ],
    q(male (ethiopia)) => [
-      q(4198),
+      q(4200),
       q(0),
       ],
    q(male (papua new guinea)) => [
-      q(4179),
+      q(4181),
       q(0),
       ],
    q(malecite-passamaquoddy) => [
-      q(5584),
+      q(5586),
       q(0),
       ],
    q(maleku jaika) => [
-      q(2659),
+      q(2660),
       q(0),
       ],
    q(maleng) => [
-      q(5482),
+      q(5484),
       q(0),
       ],
    q(maleu-kilenge) => [
-      q(4259),
+      q(4261),
       q(0),
       ],
    q(malfaxal) => [
-      q(4386),
+      q(4388),
       q(0),
       ],
    q(malgana) => [
-      q(7027),
+      q(7029),
       q(0),
       ],
    q(malgbe) => [
-      q(4650),
+      q(4652),
       q(0),
       ],
    q(mali) => [
-      q(2443),
+      q(2444),
       q(0),
       ],
    q(malila) => [
-      q(4264),
+      q(4266),
       q(0),
       ],
    q(malimba) => [
-      q(4695),
+      q(4697),
       q(0),
       ],
    q(malimpung) => [
-      q(4372),
+      q(4374),
       q(0),
       ],
    q(malinaltepec me'phaa) => [
-      q(6408),
+      q(6410),
       q(0),
       ],
    q(malinaltepec tlapanec) => [
-      q(6408),
+      q(6410),
       q(1),
       ],
    q(malo) => [
-      q(4366),
+      q(4368),
       q(0),
       ],
    q(malol) => [
-      q(4135),
+      q(4137),
       q(0),
       ],
    q(maltese) => [
@@ -41384,107 +41398,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(maltese sign language) => [
-      q(4187),
+      q(4189),
       q(0),
       ],
    q(malua bay) => [
-      q(4375),
+      q(4377),
       q(0),
       ],
    q(malvi) => [
-      q(4590),
+      q(4592),
       q(0),
       ],
    q(malyangapa) => [
-      q(7631),
+      q(7633),
       q(0),
       ],
    q(mam) => [
-      q(4118),
+      q(4120),
       q(0),
       ],
    q(mama) => [
-      q(4388),
+      q(4390),
       q(0),
       ],
    q(mamaa) => [
-      q(4278),
+      q(4280),
       q(0),
       ],
    q(mamainde) => [
-      q(7169),
+      q(7171),
       q(0),
       ],
    q(mamanwa) => [
-      q(4401),
+      q(4403),
       q(0),
       ],
    q(mamara senoufo) => [
-      q(4680),
+      q(4682),
       q(0),
       ],
    q(mamasa) => [
-      q(4487),
+      q(4489),
       q(0),
       ],
    q(mambae) => [
-      q(4260),
+      q(4262),
       q(0),
       ],
    q(mambai) => [
-      q(4169),
+      q(4171),
       q(0),
       ],
    q(mamboru) => [
-      q(4601),
+      q(4603),
       q(0),
       ],
    q(mambwe-lungu) => [
-      q(4265),
+      q(4267),
       q(0),
       ],
    q(mampruli) => [
-      q(4123),
+      q(4125),
       q(0),
       ],
    q(mamuju) => [
-      q(4501),
+      q(4503),
       q(0),
       ],
    q(mamulique) => [
-      q(2255),
+      q(2256),
       q(0),
       ],
    q(mamusi) => [
-      q(3237),
+      q(3239),
       q(0),
       ],
    q(mamvu) => [
-      q(4184),
+      q(4186),
       q(0),
       ],
    q(man met) => [
-      q(4399),
+      q(4401),
       q(0),
       ],
    q(manado malay) => [
-      q(7416),
+      q(7418),
       q(0),
       ],
    q(manam) => [
-      q(4599),
+      q(4601),
       q(0),
       ],
    q(manambu) => [
-      q(4369),
+      q(4371),
       q(0),
       ],
    q(manangba) => [
-      q(4972),
+      q(4974),
       q(0),
       ],
    q(manangkari) => [
-      q(7903),
+      q(7905),
       q(0),
       ],
    q(manchu) => [
@@ -41492,31 +41506,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manda (australia)) => [
-      q(7874),
+      q(7876),
       q(0),
       ],
    q(manda (india)) => [
-      q(4273),
+      q(4275),
       q(0),
       ],
    q(manda (tanzania)) => [
-      q(4266),
+      q(4268),
       q(0),
       ],
    q(mandahuaca) => [
-      q(4291),
+      q(4293),
       q(0),
       ],
    q(mandaic) => [
-      q(4299),
+      q(4301),
       q(0),
       ],
    q(mandan) => [
-      q(4288),
+      q(4290),
       q(0),
       ],
    q(mandandanyi) => [
-      q(7884),
+      q(7886),
       q(0),
       ],
    q(mandar) => [
@@ -41524,19 +41538,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandara) => [
-      q(6383),
+      q(6385),
       q(0),
       ],
    q(mandari) => [
-      q(4498),
+      q(4500),
       q(0),
       ],
    q(mandarin chinese) => [
-      q(1789),
+      q(1790),
       q(0),
       ],
    q(mandaya) => [
-      q(4527),
+      q(4529),
       q(0),
       ],
    q(mande languages) => [
@@ -41544,11 +41558,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandeali) => [
-      q(4327),
+      q(4329),
       q(0),
       ],
    q(mander) => [
-      q(4495),
+      q(4497),
       q(0),
       ],
    q(manding) => [
@@ -41560,11 +41574,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandinka) => [
-      q(4421),
+      q(4423),
       q(0),
       ],
    q(mandjak) => [
-      q(4244),
+      q(4246),
       q(0),
       ],
    q(mandobo atas) => [
@@ -41572,79 +41586,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mandobo bawah) => [
-      q(1556),
+      q(1557),
       q(0),
       ],
    q(manem) => [
-      q(3082),
+      q(3083),
       q(0),
       ],
    q(mang) => [
-      q(7902),
+      q(7904),
       q(0),
       ],
    q(manga kanuri) => [
-      q(3205),
+      q(3207),
       q(0),
       ],
    q(mangala) => [
-      q(4211),
+      q(4213),
       q(0),
       ],
    q(mangarayi) => [
-      q(4456),
+      q(4458),
       q(0),
       ],
    q(mangareva) => [
-      q(4524),
+      q(4526),
       q(0),
       ],
    q(mangas) => [
-      q(7904),
+      q(7906),
       q(0),
       ],
    q(mangayat) => [
-      q(4679),
+      q(4681),
       q(0),
       ],
    q(mangbetu) => [
-      q(4185),
+      q(4187),
       q(0),
       ],
    q(mangbutu) => [
-      q(4186),
+      q(4188),
       q(0),
       ],
    q(mangerr) => [
-      q(7878),
+      q(7880),
       q(0),
       ],
    q(mangga buang) => [
-      q(4402),
+      q(4404),
       q(0),
       ],
    q(manggarai) => [
-      q(4502),
+      q(4504),
       q(0),
       ],
    q(mango) => [
-      q(4252),
+      q(4254),
       q(0),
       ],
    q(mangole) => [
-      q(4481),
+      q(4483),
       q(0),
       ],
    q(mangseng) => [
-      q(4132),
+      q(4134),
       q(0),
       ],
    q(mangue) => [
-      q(4443),
+      q(4445),
       q(0),
       ],
    q(manichaean middle persian) => [
-      q(7417),
+      q(7419),
       q(0),
       ],
    q(manide) => [
@@ -41652,11 +41666,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manikion) => [
-      q(4432),
+      q(4434),
       q(0),
       ],
    q(manipa) => [
-      q(4493),
+      q(4495),
       q(0),
       ],
    q(manipuri) => [
@@ -41664,19 +41678,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mankanya) => [
-      q(3483),
+      q(3485),
       q(0),
       ],
    q(manna-dora) => [
-      q(4336),
+      q(4338),
       q(0),
       ],
    q(mannan) => [
-      q(4337),
+      q(4339),
       q(0),
       ],
    q(mano) => [
-      q(4219),
+      q(4221),
       q(0),
       ],
    q(manobo languages) => [
@@ -41684,39 +41698,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manombai) => [
-      q(7205),
+      q(7207),
       q(0),
       ],
    q(mansaka) => [
-      q(4538),
+      q(4540),
       q(0),
       ],
    q(mansi) => [
-      q(4428),
+      q(4430),
       q(0),
       ],
    q(mansoanka) => [
-      q(4549),
+      q(4551),
       q(0),
       ],
    q(manta) => [
-      q(4676),
+      q(4678),
       q(0),
       ],
    q(mantsi) => [
-      q(5100),
+      q(5102),
       q(0),
       ],
    q(manumanaw) => [
-      q(3720),
+      q(3722),
       q(1),
       ],
    q(manumanaw karen) => [
-      q(3720),
+      q(3722),
       q(0),
       ],
    q(manusela) => [
-      q(7121),
+      q(7123),
       q(0),
       ],
    q(manx) => [
@@ -41724,31 +41738,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(manya) => [
-      q(4700),
+      q(4702),
       q(0),
       ],
    q(manyawa) => [
-      q(4433),
+      q(4435),
       q(0),
       ],
    q(manyika) => [
-      q(4647),
+      q(4649),
       q(0),
       ],
    q(manza) => [
-      q(4712),
+      q(4714),
       q(0),
       ],
    q(mao naga) => [
-      q(4745),
+      q(4747),
       q(0),
       ],
    q(maonan) => [
-      q(4391),
+      q(4393),
       q(0),
       ],
    q(maore comorian) => [
-      q(6298),
+      q(6300),
       q(0),
       ],
    q(maori) => [
@@ -41756,27 +41770,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mape) => [
-      q(4371),
+      q(4373),
       q(0),
       ],
    q(mapena) => [
-      q(4423),
+      q(4425),
       q(0),
       ],
    q(mapia) => [
-      q(4477),
+      q(4479),
       q(0),
       ],
    q(mapidian) => [
-      q(4475),
+      q(4477),
       q(0),
       ],
    q(mapos buang) => [
-      q(1619),
+      q(1620),
       q(0),
       ],
    q(mapoyo) => [
-      q(4157),
+      q(4159),
       q(0),
       ],
    q(mapuche) => [
@@ -41788,59 +41802,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mapun) => [
-      q(6060),
+      q(6062),
       q(0),
       ],
    q(maquiritari) => [
-      q(4158),
+      q(4160),
       q(0),
       ],
    q(mara) => [
-      q(4202),
+      q(4204),
       q(0),
       ],
    q(mara chin) => [
-      q(4511),
+      q(4513),
       q(0),
       ],
    q(marachi) => [
-      q(4044),
+      q(4046),
       q(0),
       ],
    q(maraghei) => [
-      q(7023),
+      q(7025),
       q(0),
       ],
    q(maragus) => [
-      q(4521),
+      q(4523),
       q(0),
       ],
    q(maram naga) => [
-      q(4960),
+      q(4962),
       q(0),
       ],
    q(marama) => [
-      q(4047),
+      q(4049),
       q(0),
       ],
    q(maramba) => [
-      q(4673),
+      q(4675),
       q(0),
       ],
    q(maranao) => [
-      q(4525),
+      q(4527),
       q(0),
       ],
    q(marangis) => [
-      q(7073),
+      q(7075),
       q(1),
       ],
    q(maranunggu) => [
-      q(7891),
+      q(7893),
       q(0),
       ],
    q(mararit) => [
-      q(4249),
+      q(4251),
       q(0),
       ],
    q(marathi) => [
@@ -41848,43 +41862,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marau) => [
-      q(4614),
+      q(4616),
       q(0),
       ],
    q(marba) => [
-      q(4459),
+      q(4461),
       q(0),
       ],
    q(maremgi) => [
-      q(4526),
+      q(4528),
       q(0),
       ],
    q(marenje) => [
-      q(7031),
+      q(7033),
       q(0),
       ],
    q(marfa) => [
-      q(4617),
+      q(4619),
       q(0),
       ],
    q(margany) => [
-      q(7876),
+      q(7878),
       q(0),
       ],
    q(marghi central) => [
-      q(4522),
+      q(4524),
       q(0),
       ],
    q(marghi south) => [
-      q(4235),
+      q(4237),
       q(0),
       ],
    q(margos-yarowilca-lauricocha quechua) => [
-      q(5705),
+      q(5707),
       q(0),
       ],
    q(margu) => [
-      q(4279),
+      q(4281),
       q(0),
       ],
    q(mari) => [
@@ -41892,11 +41906,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mari (east sepik province)) => [
-      q(4148),
+      q(4150),
       q(0),
       ],
    q(mari (madang province)) => [
-      q(2810),
+      q(2811),
       q(0),
       ],
    q(mari (russia)) => [
@@ -41904,95 +41918,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(maria (india)) => [
-      q(4520),
+      q(4522),
       q(0),
       ],
    q(maria (papua new guinea)) => [
-      q(4192),
+      q(4194),
       q(0),
       ],
    q(maricopa) => [
-      q(4506),
+      q(4508),
       q(0),
       ],
    q(maridan) => [
-      q(7877),
+      q(7879),
       q(0),
       ],
    q(maridjabin) => [
-      q(7883),
+      q(7885),
       q(0),
       ],
    q(marik) => [
-      q(1939),
+      q(1940),
       q(0),
       ],
    q(marimanindji) => [
-      q(7886),
+      q(7888),
       q(0),
       ],
    q(marind) => [
-      q(4528),
+      q(4530),
       q(0),
       ],
    q(maring) => [
-      q(4147),
+      q(4149),
       q(0),
       ],
    q(maring naga) => [
-      q(4992),
+      q(4994),
       q(0),
       ],
    q(maringarr) => [
-      q(7893),
+      q(7895),
       q(0),
       ],
    q(marino) => [
-      q(4505),
+      q(4507),
       q(0),
       ],
    q(mariri) => [
-      q(4486),
+      q(4488),
       q(0),
       ],
    q(marithiel) => [
-      q(4240),
+      q(4242),
       q(0),
       ],
    q(maritime sign language) => [
-      q(5078),
+      q(5080),
       q(0),
       ],
    q(maritsaua) => [
-      q(4543),
+      q(4545),
       q(0),
       ],
    q(mariyedi) => [
-      q(7898),
+      q(7900),
       q(0),
       ],
    q(marka) => [
-      q(5800),
+      q(5802),
       q(0),
       ],
    q(markweeta) => [
-      q(2264),
+      q(2265),
       q(0),
       ],
    q(marma) => [
-      q(5826),
+      q(5828),
       q(0),
       ],
    q(marovo) => [
-      q(4611),
+      q(4613),
       q(0),
       ],
    q(marriammu) => [
-      q(7485),
+      q(7487),
       q(0),
       ],
    q(marrucinian) => [
-      q(6901),
+      q(6903),
       q(0),
       ],
    q(marshallese) => [
@@ -42000,31 +42014,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marsian) => [
-      q(2966),
+      q(2967),
       q(0),
       ],
    q(martha's vineyard sign language) => [
-      q(4508),
+      q(4510),
       q(0),
       ],
    q(marti ke) => [
-      q(7880),
+      q(7882),
       q(0),
       ],
    q(martu wangka) => [
-      q(4462),
+      q(4464),
       q(0),
       ],
    q(martuyhunira) => [
-      q(7016),
+      q(7018),
       q(0),
       ],
    q(maru) => [
-      q(4294),
+      q(4296),
       q(0),
       ],
    q(marubo) => [
-      q(4708),
+      q(4710),
       q(0),
       ],
    q(marwari) => [
@@ -42032,19 +42046,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(marwari (india)) => [
-      q(5878),
+      q(5880),
       q(0),
       ],
    q(marwari (pakistan)) => [
-      q(4602),
+      q(4604),
       q(0),
       ],
    q(masaaba) => [
-      q(4689),
+      q(4691),
       q(0),
       ],
    q(masadiit itneg) => [
-      q(6529),
+      q(6531),
       q(0),
       ],
    q(masai) => [
@@ -42052,191 +42066,191 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(masalit) => [
-      q(4382),
+      q(4384),
       q(0),
       ],
    q(masana) => [
-      q(4164),
+      q(4166),
       q(0),
       ],
    q(masbatenyo) => [
-      q(4529),
+      q(4531),
       q(0),
       ],
    q(mashco piro) => [
-      q(1908),
+      q(1909),
       q(0),
       ],
    q(mashi (nigeria)) => [
-      q(3123),
+      q(3124),
       q(0),
       ],
    q(mashi (zambia)) => [
-      q(4286),
+      q(4288),
       q(0),
       ],
    q(masikoro malagasy) => [
-      q(4535),
+      q(4537),
       q(0),
       ],
    q(masimasi) => [
-      q(3003),
+      q(3004),
       q(0),
       ],
    q(masiwang) => [
-      q(1332),
+      q(1333),
       q(0),
       ],
    q(maskelynes) => [
-      q(3448),
+      q(3450),
       q(0),
       ],
    q(maslam) => [
-      q(4548),
+      q(4550),
       q(0),
       ],
    q(masmaje) => [
-      q(4216),
+      q(4218),
       q(0),
       ],
    q(massalat) => [
-      q(4182),
+      q(4184),
       q(0),
       ],
    q(massep) => [
-      q(4615),
+      q(4617),
       q(0),
       ],
    q(matagalpa) => [
-      q(4566),
+      q(4568),
       q(0),
       ],
    q(matal) => [
-      q(4230),
+      q(4232),
       q(0),
       ],
    q(matbat) => [
-      q(7423),
+      q(7425),
       q(0),
       ],
    q(matengo) => [
-      q(4269),
+      q(4271),
       q(0),
       ],
    q(matepi) => [
-      q(4482),
+      q(4484),
       q(0),
       ],
    q(matigsalug manobo) => [
-      q(4144),
+      q(4146),
       q(0),
       ],
    q(matipuhy) => [
-      q(4705),
+      q(4707),
       q(0),
       ],
    q(matis) => [
-      q(4469),
+      q(4471),
       q(0),
       ],
    q(mato) => [
-      q(4217),
+      q(4219),
       q(0),
       ],
    q(mato grosso arara) => [
-      q(0986),
+      q(0987),
       q(0),
       ],
    q(mator) => [
-      q(4565),
+      q(4567),
       q(0),
       ],
    q(matses) => [
-      q(4156),
+      q(4158),
       q(0),
       ],
    q(mattoki) => [
-      q(7443),
+      q(7445),
       q(1),
       ],
    q(mattole) => [
-      q(4600),
+      q(4602),
       q(0),
       ],
    q(matu chin) => [
-      q(2774),
+      q(2775),
       q(0),
       ],
    q(matukar) => [
-      q(4326),
+      q(4328),
       q(0),
       ],
    q(matumbi) => [
-      q(4270),
+      q(4272),
       q(0),
       ],
    q(matya samo) => [
-      q(6260),
+      q(6262),
       q(0),
       ],
    q(maung) => [
-      q(4460),
+      q(4462),
       q(0),
       ],
    q(mauritian sign language) => [
-      q(4067),
+      q(4069),
       q(0),
       ],
    q(mauwake) => [
-      q(4283),
+      q(4285),
       q(0),
       ],
    q(mawa (chad)) => [
-      q(4173),
+      q(4175),
       q(0),
       ],
    q(mawa (nigeria)) => [
-      q(7166),
+      q(7168),
       q(0),
       ],
    q(mawak) => [
-      q(4325),
+      q(4327),
       q(0),
       ],
    q(mawan) => [
-      q(4176),
+      q(4178),
       q(0),
       ],
    q(mawayana) => [
-      q(4714),
+      q(4716),
       q(0),
       ],
    q(mawchi) => [
-      q(4345),
+      q(4347),
       q(0),
       ],
    q(mawes) => [
-      q(4258),
+      q(4260),
       q(0),
       ],
    q(mawukakan) => [
-      q(4668),
+      q(4670),
       q(1),
       ],
    q(maxakali) => [
-      q(4136),
+      q(4138),
       q(0),
       ],
    q(maxi gbe) => [
-      q(4656),
+      q(4658),
       q(0),
       ],
    q(maya samo) => [
-      q(6338),
+      q(6340),
       q(0),
       ],
    q(mayaguduna) => [
-      q(7428),
+      q(7430),
       q(0),
       ],
    q(mayan languages) => [
@@ -42244,323 +42258,323 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mayangna) => [
-      q(7586),
+      q(7588),
       q(0),
       ],
    q(mayawali) => [
-      q(7792),
+      q(7794),
       q(0),
       ],
    q(mayeka) => [
-      q(4672),
+      q(4674),
       q(0),
       ],
    q(mayi-kulan) => [
-      q(7566),
+      q(7568),
       q(0),
       ],
    q(mayi-thakurti) => [
-      q(7568),
+      q(7570),
       q(0),
       ],
    q(mayi-yapi) => [
-      q(7565),
+      q(7567),
       q(0),
       ],
    q(mayo) => [
-      q(4247),
+      q(4249),
       q(0),
       ],
    q(mayogo) => [
-      q(4188),
+      q(4190),
       q(0),
       ],
    q(mayoyao ifugao) => [
-      q(2917),
+      q(2918),
       q(0),
       ],
    q(mazagway) => [
-      q(2076),
+      q(2077),
       q(0),
       ],
    q(mazaltepec zapotec) => [
-      q(7936),
+      q(7938),
       q(0),
       ],
    q(mazanderani) => [
-      q(4704),
+      q(4706),
       q(0),
       ],
    q(mazatlan mazatec) => [
-      q(7038),
+      q(7040),
       q(0),
       ],
    q(mazatlan mixe) => [
-      q(4702),
+      q(4704),
       q(0),
       ],
    q(mba) => [
-      q(4225),
+      q(4227),
       q(0),
       ],
    q(mbala) => [
-      q(4190),
+      q(4192),
       q(0),
       ],
    q(mbalanhu) => [
-      q(3998),
+      q(4000),
       q(0),
       ],
    q(mbandja) => [
-      q(7899),
+      q(7901),
       q(0),
       ],
    q(mbangala) => [
-      q(4651),
+      q(4653),
       q(0),
       ],
    q(mbangi) => [
-      q(4261),
+      q(4263),
       q(0),
       ],
    q(mbangwe) => [
-      q(7887),
+      q(7889),
       q(0),
       ],
    q(mbara (australia)) => [
-      q(4608),
+      q(4610),
       q(0),
       ],
    q(mbara (chad)) => [
-      q(4463),
+      q(4465),
       q(0),
       ],
    q(mbariman-gudhinma) => [
-      q(7895),
+      q(7897),
       q(0),
       ],
    q(mbati) => [
-      q(4189),
+      q(4191),
       q(0),
       ],
    q(mbato) => [
-      q(2678),
+      q(2679),
       q(0),
       ],
    q(mbay) => [
-      q(4671),
+      q(4673),
       q(0),
       ],
    q(mbe) => [
-      q(4237),
+      q(4239),
       q(0),
       ],
    q(mbe') => [
-      q(4563),
+      q(4565),
       q(0),
       ],
    q(mbelime) => [
-      q(4489),
+      q(4491),
       q(0),
       ],
    q(mbere) => [
-      q(4193),
+      q(4195),
       q(0),
       ],
    q(mbesa) => [
-      q(7892),
+      q(7894),
       q(0),
       ],
    q(mbo (cameroon)) => [
-      q(4139),
+      q(4141),
       q(0),
       ],
    q(mbo (democratic republic of congo)) => [
-      q(7896),
+      q(7898),
       q(0),
       ],
    q(mboi) => [
-      q(4440),
+      q(4442),
       q(0),
       ],
    q(mboko) => [
-      q(4194),
+      q(4196),
       q(0),
       ],
    q(mbole) => [
-      q(4191),
+      q(4193),
       q(0),
       ],
    q(mbonga) => [
-      q(7406),
+      q(7408),
       q(0),
       ],
    q(mbongno) => [
-      q(1179),
+      q(1180),
       q(0),
       ],
    q(mbosi) => [
-      q(4196),
+      q(4198),
       q(0),
       ],
    q(mbowe) => [
-      q(4659),
+      q(4661),
       q(0),
       ],
    q(mbre) => [
-      q(4342),
+      q(4344),
       q(0),
       ],
    q(mbudum) => [
-      q(7408),
+      q(7410),
       q(0),
       ],
    q(mbugu) => [
-      q(4276),
+      q(4278),
       q(0),
       ],
    q(mbugwe) => [
-      q(4272),
+      q(4274),
       q(0),
       ],
    q(mbuko) => [
-      q(4480),
+      q(4482),
       q(0),
       ],
    q(mbukushu) => [
-      q(4293),
+      q(4295),
       q(0),
       ],
    q(mbula) => [
-      q(4413),
+      q(4415),
       q(0),
       ],
    q(mbula-bwazza) => [
-      q(4145),
+      q(4147),
       q(0),
       ],
    q(mbule) => [
-      q(4367),
+      q(4369),
       q(0),
       ],
    q(mbulungish) => [
-      q(4146),
+      q(4148),
       q(0),
       ],
    q(mbum) => [
-      q(4180),
+      q(4182),
       q(0),
       ],
    q(mbunda) => [
-      q(4161),
+      q(4163),
       q(0),
       ],
    q(mbunga) => [
-      q(4271),
+      q(4273),
       q(0),
       ],
    q(mburku) => [
-      q(1056),
+      q(1057),
       q(0),
       ],
    q(mbwela) => [
-      q(4243),
+      q(4245),
       q(0),
       ],
    q(mbya guarani) => [
-      q(2653),
+      q(2654),
       q(0),
       ],
    q(me'en) => [
-      q(4682),
+      q(4684),
       q(0),
       ],
    q(mea) => [
-      q(1739),
+      q(1740),
       q(2),
       ],
    q(medebur) => [
-      q(4328),
+      q(4330),
       q(0),
       ],
    q(media lengua) => [
-      q(4582),
+      q(4584),
       q(0),
       ],
    q(mediak) => [
-      q(4642),
+      q(4644),
       q(0),
       ],
    q(median) => [
-      q(7409),
+      q(7411),
       q(0),
       ],
    q(mednyj aleut) => [
-      q(4581),
+      q(4583),
       q(0),
       ],
    q(medumba) => [
-      q(1608),
+      q(1609),
       q(0),
       ],
    q(mefele) => [
-      q(4232),
+      q(4234),
       q(0),
       ],
    q(megam) => [
-      q(4205),
+      q(4207),
       q(0),
       ],
    q(megleno romanian) => [
-      q(5869),
+      q(5871),
       q(0),
       ],
    q(mehek) => [
-      q(5124),
+      q(5126),
       q(0),
       ],
    q(mehinaku) => [
-      q(4395),
+      q(4397),
       q(0),
       ],
    q(mehri) => [
-      q(2466),
+      q(2467),
       q(0),
       ],
    q(mekeo) => [
-      q(4209),
+      q(4211),
       q(0),
       ],
    q(mekmek) => [
-      q(4607),
+      q(4609),
       q(0),
       ],
    q(mekwei) => [
-      q(4533),
+      q(4535),
       q(0),
       ],
    q(mele-fila) => [
-      q(4649),
+      q(4651),
       q(0),
       ],
    q(melo) => [
-      q(4246),
+      q(4248),
       q(0),
       ],
    q(melpa) => [
-      q(4203),
+      q(4205),
       q(0),
       ],
    q(memoni) => [
-      q(4149),
+      q(4151),
       q(0),
       ],
    q(mendalam kayan) => [
-      q(7370),
+      q(7372),
       q(0),
       ],
    q(mendankwe-nkwen) => [
-      q(4226),
+      q(4228),
       q(0),
       ],
    q(mende) => [
@@ -42568,7 +42582,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mende (papua new guinea)) => [
-      q(6042),
+      q(6044),
       q(0),
       ],
    q(mende (sierra leone)) => [
@@ -42576,79 +42590,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(mengaka) => [
-      q(7411),
+      q(7413),
       q(0),
       ],
    q(mengen) => [
-      q(4204),
+      q(4206),
       q(0),
       ],
    q(mengisa) => [
-      q(4170),
+      q(4172),
       q(0),
       ],
    q(menik) => [
-      q(6624),
+      q(6626),
       q(0),
       ],
    q(menka) => [
-      q(4200),
+      q(4202),
       q(0),
       ],
    q(menominee) => [
-      q(4222),
+      q(4224),
       q(0),
       ],
    q(mentawai) => [
-      q(4640),
+      q(4642),
       q(0),
       ],
    q(menya) => [
-      q(4168),
+      q(4170),
       q(0),
       ],
    q(meoswar) => [
-      q(4620),
+      q(4622),
       q(0),
       ],
    q(mer) => [
-      q(4429),
+      q(4431),
       q(0),
       ],
    q(meramera) => [
-      q(4657),
+      q(4659),
       q(0),
       ],
    q(merei) => [
-      q(3975),
+      q(3977),
       q(0),
       ],
    q(merey) => [
-      q(4214),
+      q(4216),
       q(0),
       ],
    q(meriam) => [
-      q(6894),
+      q(6896),
       q(0),
       ],
    q(merlav) => [
-      q(4515),
+      q(4517),
       q(0),
       ],
    q(meroitic) => [
-      q(7421),
+      q(7423),
       q(0),
       ],
    q(meru) => [
-      q(4215),
+      q(4217),
       q(0),
       ],
    q(merwari) => [
-      q(7229),
+      q(7231),
       q(0),
       ],
    q(mesaka) => [
-      q(3034),
+      q(3035),
       q(0),
       ],
    q(mescalero-chiricahua apache) => [
@@ -42656,19 +42670,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mese) => [
-      q(4159),
+      q(4161),
       q(0),
       ],
    q(meskwaki) => [
-      q(5886),
+      q(5888),
       q(0),
       ],
    q(mesme) => [
-      q(7851),
+      q(7853),
       q(0),
       ],
    q(mesmes) => [
-      q(4686),
+      q(4688),
       q(0),
       ],
    q(mesopotamian arabic) => [
@@ -42676,55 +42690,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mesqan) => [
-      q(4622),
+      q(4624),
       q(0),
       ],
    q(messapic) => [
-      q(1792),
+      q(1793),
       q(0),
       ],
    q(meta') => [
-      q(4262),
+      q(4264),
       q(0),
       ],
    q(metlatonoc mixtec) => [
-      q(4666),
+      q(4668),
       q(0),
       ],
    q(mewari) => [
-      q(4570),
+      q(4572),
       q(0),
       ],
    q(mewati) => [
-      q(7242),
+      q(7244),
       q(0),
       ],
    q(mexican sign language) => [
-      q(4241),
+      q(4243),
       q(0),
       ],
    q(meyah) => [
-      q(4208),
+      q(4210),
       q(0),
       ],
    q(mezontla popoloca) => [
-      q(5364),
+      q(5366),
       q(0),
       ],
    q(mezquital otomi) => [
-      q(5317),
+      q(5319),
       q(0),
       ],
    q(mfinu) => [
-      q(7879),
+      q(7881),
       q(0),
       ],
    q(mfumte) => [
-      q(4832),
+      q(4834),
       q(0),
       ],
    q(mgbolizhia) => [
-      q(2565),
+      q(2566),
       q(0),
       ],
    q(mi'kmaq) => [
@@ -42732,35 +42746,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miahuatlan zapotec) => [
-      q(7815),
+      q(7817),
       q(0),
       ],
    q(miami) => [
-      q(4297),
+      q(4299),
       q(0),
       ],
    q(mian) => [
-      q(4472),
+      q(4474),
       q(0),
       ],
    q(miani) => [
-      q(5484),
+      q(5486),
       q(0),
       ],
    q(michif) => [
-      q(1848),
+      q(1849),
       q(0),
       ],
    q(michigamea) => [
-      q(1788),
+      q(1789),
       q(0),
       ],
    q(michoacan mazahua) => [
-      q(4390),
+      q(4392),
       q(0),
       ],
    q(michoacan nahuatl) => [
-      q(4771),
+      q(4773),
       q(0),
       ],
    q(micmac) => [
@@ -42768,23 +42782,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(mid grand valley dani) => [
-      q(2107),
+      q(2108),
       q(0),
       ],
    q(mid-southern banda) => [
-      q(1243),
+      q(1244),
       q(0),
       ],
    q(middle armenian) => [
-      q(0989),
+      q(0990),
       q(0),
       ],
    q(middle breton) => [
-      q(7298),
+      q(7300),
       q(0),
       ],
    q(middle cornish) => [
-      q(1807),
+      q(1808),
       q(0),
       ],
    q(middle dutch (ca. 1050-1350)) => [
@@ -42804,7 +42818,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(middle hittite) => [
-      q(2850),
+      q(2851),
       q(0),
       ],
    q(middle irish (900-1200)) => [
@@ -42812,103 +42826,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(middle korean (10th-16th cent.)) => [
-      q(5233),
+      q(5235),
       q(0),
       ],
    q(middle low german) => [
-      q(2558),
+      q(2559),
       q(0),
       ],
    q(middle mongolian) => [
-      q(7432),
+      q(7434),
       q(0),
       ],
    q(middle newar) => [
-      q(5138),
+      q(5140),
       q(0),
       ],
    q(middle watut) => [
-      q(4464),
+      q(4466),
       q(0),
       ],
    q(middle welsh) => [
-      q(7157),
+      q(7159),
       q(0),
       ],
    q(midob) => [
-      q(4207),
+      q(4209),
       q(0),
       ],
    q(migaama) => [
-      q(4411),
+      q(4413),
       q(0),
       ],
    q(migabac) => [
-      q(4468),
+      q(4470),
       q(0),
       ],
    q(migum) => [
-      q(3439),
+      q(3441),
       q(0),
       ],
    q(miji) => [
-      q(6059),
+      q(6061),
       q(1),
       ],
    q(miju-mishmi) => [
-      q(4654),
+      q(4656),
       q(0),
       ],
    q(mikasuki) => [
-      q(4306),
+      q(4308),
       q(0),
       ],
    q(mili) => [
-      q(7691),
+      q(7693),
       q(0),
       ],
    q(miltu) => [
-      q(4373),
+      q(4375),
       q(0),
       ],
    q(miluk) => [
-      q(2962),
+      q(2963),
       q(0),
       ],
    q(milyan) => [
-      q(2967),
+      q(2968),
       q(0),
       ],
    q(min bei chinese) => [
-      q(4425),
+      q(4427),
       q(0),
       ],
    q(min dong chinese) => [
-      q(1700),
+      q(1701),
       q(0),
       ],
    q(min nan chinese) => [
-      q(4728),
+      q(4730),
       q(0),
       ],
    q(min zhong chinese) => [
-      q(1935),
+      q(1936),
       q(0),
       ],
    q(mina (cameroon)) => [
-      q(2799),
+      q(2800),
       q(0),
       ],
    q(mina (india)) => [
-      q(4678),
+      q(4680),
       q(0),
       ],
    q(minaean) => [
-      q(2972),
+      q(2973),
       q(0),
       ],
    q(minang) => [
-      q(7478),
+      q(7480),
       q(0),
       ],
    q(minangkabau) => [
@@ -42916,71 +42930,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(minanibai) => [
-      q(4172),
+      q(4174),
       q(0),
       ],
    q(minaveha) => [
-      q(4610),
+      q(4612),
       q(0),
       ],
    q(minderico) => [
-      q(2134),
+      q(2135),
       q(0),
       ],
    q(mindiri) => [
-      q(4466),
+      q(4468),
       q(0),
       ],
    q(mingang doso) => [
-      q(4354),
+      q(4356),
       q(0),
       ],
    q(mingrelian) => [
-      q(7410),
+      q(7412),
       q(0),
       ],
    q(minica huitoto) => [
-      q(2847),
+      q(2848),
       q(0),
       ],
    q(minidien) => [
-      q(7131),
+      q(7133),
       q(0),
       ],
    q(minigir) => [
-      q(1571),
+      q(1572),
       q(1),
       ],
    q(minjungbal) => [
-      q(7365),
+      q(7367),
       q(0),
       ],
    q(minkin) => [
-      q(7560),
+      q(7562),
       q(0),
       ],
    q(minoan) => [
-      q(5257),
+      q(5259),
       q(0),
       ],
    q(minokok) => [
-      q(4494),
+      q(4496),
       q(0),
       ],
    q(minriq) => [
-      q(4426),
+      q(4428),
       q(0),
       ],
    q(mintil) => [
-      q(4710),
+      q(4712),
       q(0),
       ],
    q(minz zhuang) => [
-      q(7839),
+      q(7841),
       q(0),
       ],
    q(miqie) => [
-      q(7654),
+      q(7656),
       q(0),
       ],
    q(mirandese) => [
@@ -42988,127 +43002,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(miraya bikol) => [
-      q(5758),
+      q(5760),
       q(0),
       ],
    q(mirgan) => [
-      q(7940),
+      q(7942),
       q(0),
       ],
    q(miriti) => [
-      q(4408),
+      q(4410),
       q(0),
       ],
    q(miriwung) => [
-      q(4213),
+      q(4215),
       q(0),
       ],
    q(miship) => [
-      q(4334),
+      q(4336),
       q(0),
       ],
    q(misima-panaeati) => [
-      q(4476),
+      q(4478),
       q(0),
       ],
    q(mising) => [
-      q(4510),
+      q(4512),
       q(0),
       ],
    q(miskito) => [
-      q(4311),
+      q(4313),
       q(0),
       ],
    q(mitla zapotec) => [
-      q(7823),
+      q(7825),
       q(0),
       ],
    q(mitlatongo mixtec) => [
-      q(7028),
+      q(7030),
       q(0),
       ],
    q(mittu) => [
-      q(4639),
+      q(4641),
       q(0),
       ],
    q(mituku) => [
-      q(7890),
+      q(7892),
       q(0),
       ],
    q(miu) => [
-      q(4467),
+      q(4469),
       q(0),
       ],
    q(miwa) => [
-      q(7024),
+      q(7026),
       q(0),
       ],
    q(mixed great andamanese) => [
-      q(2398),
+      q(2399),
       q(0),
       ],
    q(mixtepec mixtec) => [
-      q(4316),
+      q(4318),
       q(0),
       ],
    q(mixtepec zapotec) => [
-      q(7924),
+      q(7926),
       q(0),
       ],
    q(miya) => [
-      q(4346),
+      q(4348),
       q(0),
       ],
    q(miyako) => [
-      q(4606),
+      q(4608),
       q(0),
       ],
    q(miyobe) => [
-      q(6174),
+      q(6176),
       q(0),
       ],
    q(mlabri) => [
-      q(4504),
+      q(4506),
       q(0),
       ],
    q(mlahso) => [
-      q(3905),
+      q(3907),
       q(0),
       ],
    q(mlap) => [
-      q(3376),
+      q(3378),
       q(0),
       ],
    q(mlomp) => [
-      q(4378),
+      q(4380),
       q(0),
       ],
    q(mmaala) => [
-      q(4407),
+      q(4409),
       q(0),
       ],
    q(mmen) => [
-      q(1147),
+      q(1148),
       q(0),
       ],
    q(mo) => [
-      q(7145),
+      q(7147),
       q(1),
       ],
    q(mo'da) => [
-      q(2431),
+      q(2432),
       q(0),
       ],
    q(moabite) => [
-      q(5190),
+      q(5192),
       q(0),
       ],
    q(moba) => [
-      q(4239),
+      q(4241),
       q(0),
       ],
    q(mobilian) => [
-      q(4437),
+      q(4439),
       q(0),
       ],
    q(mobumrin aizi) => [
@@ -43116,31 +43130,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mobwa karen) => [
-      q(3108),
+      q(3109),
       q(0),
       ],
    q(mocheno) => [
-      q(4285),
+      q(4287),
       q(0),
       ],
    q(mochi) => [
-      q(5242),
+      q(5244),
       q(0),
       ],
    q(mochica) => [
-      q(5251),
+      q(5253),
       q(0),
       ],
    q(mocho) => [
-      q(4275),
+      q(4277),
       q(0),
       ],
    q(mocovi) => [
-      q(4436),
+      q(4438),
       q(0),
       ],
    q(modang) => [
-      q(4648),
+      q(4650),
       q(0),
       ],
    q(modern greek (1453-)) => [
@@ -43148,31 +43162,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(modole) => [
-      q(4492),
+      q(4494),
       q(0),
       ],
    q(moere) => [
-      q(4613),
+      q(4615),
       q(0),
       ],
    q(mofu-gudur) => [
-      q(4301),
+      q(4303),
       q(0),
       ],
    q(mogholi) => [
-      q(4281),
+      q(4283),
       q(0),
       ],
    q(mogofin) => [
-      q(4229),
+      q(4231),
       q(0),
       ],
    q(mogum) => [
-      q(4448),
+      q(4450),
       q(0),
       ],
    q(mohave) => [
-      q(4449),
+      q(4451),
       q(0),
       ],
    q(mohawk) => [
@@ -43180,59 +43194,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mohegan-pequot) => [
-      q(7466),
+      q(7468),
       q(0),
       ],
    q(moi (congo)) => [
-      q(4450),
+      q(4452),
       q(0),
       ],
    q(moi (indonesia)) => [
-      q(4658),
+      q(4660),
       q(0),
       ],
    q(moikodi) => [
-      q(4355),
+      q(4357),
       q(0),
       ],
    q(moingi) => [
-      q(4644),
+      q(4646),
       q(0),
       ],
    q(moji) => [
-      q(7692),
+      q(7694),
       q(0),
       ],
    q(mok) => [
-      q(4497),
+      q(4499),
       q(0),
       ],
    q(moken) => [
-      q(4638),
+      q(4640),
       q(0),
       ],
    q(mokerang) => [
-      q(4242),
+      q(4244),
       q(0),
       ],
    q(mokilese) => [
-      q(4349),
+      q(4351),
       q(0),
       ],
    q(moklen) => [
-      q(4352),
+      q(4354),
       q(0),
       ],
    q(mokole) => [
-      q(4351),
+      q(4353),
       q(0),
       ],
    q(mokpwe) => [
-      q(1428),
+      q(1429),
       q(0),
       ],
    q(moksela) => [
-      q(7032),
+      q(7034),
       q(0),
       ],
    q(moksha) => [
@@ -43240,11 +43254,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(molale) => [
-      q(4130),
+      q(4132),
       q(0),
       ],
    q(molbog) => [
-      q(5663),
+      q(5665),
       q(0),
       ],
    q(moldavian) => [
@@ -43252,7 +43266,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(moldova sign language) => [
-      q(7046),
+      q(7048),
       q(0),
       ],
    q(moldovan) => [
@@ -43260,59 +43274,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(molengue) => [
-      q(1568),
+      q(1569),
       q(0),
       ],
    q(molima) => [
-      q(4451),
+      q(4453),
       q(0),
       ],
    q(molmo one) => [
-      q(0943),
+      q(0944),
       q(0),
       ],
    q(molo) => [
-      q(7888),
+      q(7890),
       q(0),
       ],
    q(molof) => [
-      q(4539),
+      q(4541),
       q(0),
       ],
    q(moloko) => [
-      q(4385),
+      q(4387),
       q(0),
       ],
    q(mom jango) => [
-      q(6992),
+      q(6994),
       q(0),
       ],
    q(moma) => [
-      q(4681),
+      q(4683),
       q(0),
       ],
    q(momare) => [
-      q(4552),
+      q(4554),
       q(0),
       ],
    q(mombo dogon) => [
-      q(2082),
+      q(2083),
       q(0),
       ],
    q(mombum) => [
-      q(4542),
+      q(4544),
       q(0),
       ],
    q(momina) => [
-      q(4389),
+      q(4391),
       q(0),
       ],
    q(momuna) => [
-      q(4483),
+      q(4485),
       q(0),
       ],
    q(mon) => [
-      q(4431),
+      q(4433),
       q(0),
       ],
    q(mon-khmer languages) => [
@@ -43320,15 +43334,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(monastic sign language) => [
-      q(4697),
+      q(4699),
       q(0),
       ],
    q(monde) => [
-      q(4415),
+      q(4417),
       q(0),
       ],
    q(mondropolon) => [
-      q(5036),
+      q(5038),
       q(0),
       ],
    q(mong) => [
@@ -43336,11 +43350,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(mong leng) => [
-      q(2804),
+      q(2805),
       q(1),
       ],
    q(mong njua) => [
-      q(2804),
+      q(2805),
       q(2),
       ],
    q(mongo) => [
@@ -43348,11 +43362,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mongol) => [
-      q(4267),
+      q(4269),
       q(0),
       ],
    q(mongolia buriat) => [
-      q(1578),
+      q(1579),
       q(0),
       ],
    q(mongolian) => [
@@ -43364,115 +43378,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mongolian sign language) => [
-      q(4545),
+      q(4547),
       q(0),
       ],
    q(mongondow) => [
-      q(4439),
+      q(4441),
       q(0),
       ],
    q(moni) => [
-      q(4434),
+      q(4436),
       q(0),
       ],
    q(mono (cameroon)) => [
-      q(4523),
+      q(4525),
       q(0),
       ],
    q(mono (democratic republic of congo)) => [
-      q(4419),
+      q(4421),
       q(0),
       ],
    q(mono (solomon islands)) => [
-      q(4557),
+      q(4559),
       q(0),
       ],
    q(mono (usa)) => [
-      q(4427),
+      q(4429),
       q(0),
       ],
    q(monom) => [
-      q(4444),
+      q(4446),
       q(0),
       ],
    q(monsang naga) => [
-      q(4967),
+      q(4969),
       q(0),
       ],
    q(montagnais) => [
-      q(4438),
+      q(4440),
       q(0),
       ],
    q(montol) => [
-      q(4564),
+      q(4566),
       q(0),
       ],
    q(monumbo) => [
-      q(4655),
+      q(4657),
       q(0),
       ],
    q(monzombo) => [
-      q(4441),
+      q(4443),
       q(0),
       ],
    q(moo) => [
-      q(2684),
+      q(2685),
       q(0),
       ],
    q(moose cree) => [
-      q(1853),
+      q(1854),
       q(0),
       ],
    q(mopan maya) => [
-      q(4445),
+      q(4447),
       q(0),
       ],
    q(mor (bomberai peninsula)) => [
-      q(4446),
+      q(4448),
       q(0),
       ],
    q(mor (mor islands)) => [
-      q(4296),
+      q(4298),
       q(0),
       ],
    q(moraid) => [
-      q(4534),
+      q(4536),
       q(0),
       ],
    q(morawa) => [
-      q(4696),
+      q(4698),
       q(0),
       ],
    q(morelos nahuatl) => [
-      q(4868),
+      q(4870),
       q(0),
       ],
    q(morerebi) => [
-      q(7418),
+      q(7420),
       q(0),
       ],
    q(moresada) => [
-      q(4550),
+      q(4552),
       q(0),
       ],
    q(mori atas) => [
-      q(4707),
+      q(4709),
       q(0),
       ],
    q(mori bawah) => [
-      q(7429),
+      q(7431),
       q(0),
       ],
    q(morigi) => [
-      q(4178),
+      q(4180),
       q(0),
       ],
    q(morisyen) => [
-      q(4227),
+      q(4229),
       q(0),
       ],
    q(moro) => [
-      q(4447),
+      q(4449),
       q(0),
       ],
    q(moroccan arabic) => [
@@ -43480,47 +43494,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(moroccan sign language) => [
-      q(7422),
+      q(7424),
       q(0),
       ],
    q(morokodo) => [
-      q(4250),
+      q(4252),
       q(0),
       ],
    q(morom) => [
-      q(1102),
+      q(1103),
       q(0),
       ],
    q(moronene) => [
-      q(4491),
+      q(4493),
       q(0),
       ],
    q(morori) => [
-      q(4442),
+      q(4444),
       q(0),
       ],
    q(morouas) => [
-      q(4518),
+      q(4520),
       q(0),
       ],
    q(mortlockese) => [
-      q(4514),
+      q(4516),
       q(0),
       ],
    q(moru) => [
-      q(4251),
+      q(4253),
       q(0),
       ],
    q(mosimo) => [
-      q(4499),
+      q(4501),
       q(0),
       ],
    q(mosiro) => [
-      q(4643),
+      q(4645),
       q(0),
       ],
    q(moskona) => [
-      q(4562),
+      q(4564),
       q(0),
       ],
    q(mossi) => [
@@ -43528,79 +43542,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mota) => [
-      q(4572),
+      q(4574),
       q(0),
       ],
    q(motlav) => [
-      q(4384),
+      q(4386),
       q(0),
       ],
    q(motu) => [
-      q(4218),
+      q(4220),
       q(0),
       ],
    q(mouk-aria) => [
-      q(4629),
+      q(4631),
       q(0),
       ],
    q(mountain koiali) => [
-      q(3543),
+      q(3545),
       q(0),
       ],
    q(mouwase) => [
-      q(3124),
+      q(3125),
       q(0),
       ],
    q(movima) => [
-      q(4706),
+      q(4708),
       q(0),
       ],
    q(moyadan itneg) => [
-      q(3022),
+      q(3023),
       q(0),
       ],
    q(moyon naga) => [
-      q(4974),
+      q(4976),
       q(0),
       ],
    q(mozambican sign language) => [
-      q(4715),
+      q(4717),
       q(0),
       ],
    q(mozarabic) => [
-      q(4653),
+      q(4655),
       q(0),
       ],
    q(mpade) => [
-      q(4461),
+      q(4463),
       q(0),
       ],
    q(mpalitjanh) => [
-      q(7460),
+      q(7462),
       q(0),
       ],
    q(mpi) => [
-      q(4478),
+      q(4480),
       q(0),
       ],
    q(mpiemo) => [
-      q(4174),
+      q(4176),
       q(0),
       ],
    q(mpoto) => [
-      q(4454),
+      q(4456),
       q(0),
       ],
    q(mpotovoro) => [
-      q(4616),
+      q(4618),
       q(0),
       ],
    q(mpumpong) => [
-      q(4254),
+      q(4256),
       q(0),
       ],
    q(mpuono) => [
-      q(7889),
+      q(7891),
       q(0),
       ],
    q(mpur) => [
@@ -43608,15 +43622,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mro-khimi chin) => [
-      q(1791),
+      q(1792),
       q(0),
       ],
    q(mru) => [
-      q(4517),
+      q(4519),
       q(0),
       ],
    q(mser) => [
-      q(3569),
+      q(3571),
       q(0),
       ],
    q(mt. iraya agta) => [
@@ -43628,35 +43642,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mualang) => [
-      q(4556),
+      q(4558),
       q(0),
       ],
    q(mubami) => [
-      q(6730),
+      q(6732),
       q(0),
       ],
    q(mubi) => [
-      q(4579),
+      q(4581),
       q(0),
       ],
    q(muda) => [
-      q(7688),
+      q(7690),
       q(0),
       ],
    q(mudburra) => [
-      q(2095),
+      q(2096),
       q(0),
       ],
    q(mudhili gadaba) => [
-      q(2416),
+      q(2417),
       q(0),
       ],
    q(mudu koraga) => [
-      q(7019),
+      q(7021),
       q(0),
       ],
    q(muduga) => [
-      q(6861),
+      q(6863),
       q(0),
       ],
    q(mufian) => [
@@ -43664,43 +43678,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mugom) => [
-      q(4587),
+      q(4589),
       q(0),
       ],
    q(muinane) => [
-      q(1319),
+      q(1320),
       q(0),
       ],
    q(mukha-dora) => [
-      q(4398),
+      q(4400),
       q(0),
       ],
    q(mukulu) => [
-      q(4453),
+      q(4455),
       q(0),
       ],
    q(mulaha) => [
-      q(4245),
+      q(4247),
       q(0),
       ],
    q(mulam) => [
-      q(4376),
+      q(4378),
       q(0),
       ],
    q(mulao) => [
-      q(2526),
+      q(2527),
       q(0),
       ],
    q(mulgi) => [
-      q(4605),
+      q(4607),
       q(0),
       ],
    q(mullu kurumba) => [
-      q(3523),
+      q(3525),
       q(0),
       ],
    q(mullukmulluk) => [
-      q(4455),
+      q(4457),
       q(0),
       ],
    q(multiple languages) => [
@@ -43708,27 +43722,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(muluridyi) => [
-      q(7033),
+      q(7035),
       q(0),
       ],
    q(mum) => [
-      q(3546),
+      q(3548),
       q(0),
       ],
    q(mumuye) => [
-      q(4703),
+      q(4705),
       q(0),
       ],
    q(mun chin) => [
-      q(4636),
+      q(4638),
       q(0),
       ],
    q(muna) => [
-      q(4414),
+      q(4416),
       q(0),
       ],
    q(munda) => [
-      q(6920),
+      q(6922),
       q(0),
       ],
    q(munda languages) => [
@@ -43736,71 +43750,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(mundabli) => [
-      q(1353),
+      q(1354),
       q(0),
       ],
    q(mundang) => [
-      q(4578),
+      q(4580),
       q(0),
       ],
    q(mundani) => [
-      q(4417),
+      q(4419),
       q(0),
       ],
    q(mundari) => [
-      q(6918),
+      q(6920),
       q(0),
       ],
    q(mundat) => [
-      q(4393),
+      q(4395),
       q(0),
       ],
    q(mundu) => [
-      q(4584),
+      q(4586),
       q(0),
       ],
    q(munduruku) => [
-      q(4687),
+      q(4689),
       q(0),
       ],
    q(mungaka) => [
-      q(4282),
+      q(4284),
       q(0),
       ],
    q(mungbam) => [
-      q(4305),
+      q(4307),
       q(1),
       ],
    q(munggui) => [
-      q(4560),
+      q(4562),
       q(0),
       ],
    q(mungkip) => [
-      q(4474),
+      q(4476),
       q(0),
       ],
    q(muniche) => [
-      q(4685),
+      q(4687),
       q(0),
       ],
    q(munit) => [
-      q(4555),
+      q(4557),
       q(0),
       ],
    q(munji) => [
-      q(4420),
+      q(4422),
       q(0),
       ],
    q(munsee) => [
-      q(6911),
+      q(6913),
       q(0),
       ],
    q(muong) => [
-      q(4569),
+      q(4571),
       q(0),
       ],
    q(mur pano) => [
-      q(6560),
+      q(6562),
       q(0),
       ],
    q(muratayak) => [
@@ -43808,171 +43822,171 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(murik (malaysia)) => [
-      q(4662),
+      q(4664),
       q(0),
       ],
    q(murik (papua new guinea)) => [
-      q(4558),
+      q(4560),
       q(0),
       ],
    q(murkim) => [
-      q(5810),
+      q(5812),
       q(0),
       ],
    q(murle) => [
-      q(4592),
+      q(4594),
       q(0),
       ],
    q(murrinh-patha) => [
-      q(4627),
+      q(4629),
       q(0),
       ],
    q(mursi) => [
-      q(4598),
+      q(4600),
       q(0),
       ],
    q(murui huitoto) => [
-      q(2868),
+      q(2869),
       q(0),
       ],
    q(murupi) => [
-      q(4500),
+      q(4502),
       q(0),
       ],
    q(muruwari) => [
-      q(7894),
+      q(7896),
       q(0),
       ],
    q(musak) => [
-      q(4404),
+      q(4406),
       q(0),
       ],
    q(musar) => [
-      q(4396),
+      q(4398),
       q(0),
       ],
    q(musasa) => [
-      q(6122),
+      q(6124),
       q(0),
       ],
    q(musey) => [
-      q(4532),
+      q(4534),
       q(0),
       ],
    q(musgu) => [
-      q(4583),
+      q(4585),
       q(0),
       ],
    q(mushungulu) => [
-      q(7405),
+      q(7407),
       q(0),
       ],
    q(musi) => [
-      q(4585),
+      q(4587),
       q(0),
       ],
    q(muskum) => [
-      q(4321),
+      q(4323),
       q(0),
       ],
    q(muslim tat) => [
-      q(6752),
+      q(6754),
       q(0),
       ],
    q(musom) => [
-      q(4547),
+      q(4549),
       q(0),
       ],
    q(mussau-emira) => [
-      q(2253),
+      q(2254),
       q(0),
       ],
    q(muthuvan) => [
-      q(4595),
+      q(4597),
       q(0),
       ],
    q(mutu) => [
-      q(6760),
+      q(6762),
       q(0),
       ],
    q(muya) => [
-      q(4609),
+      q(4611),
       q(0),
       ],
    q(muyang) => [
-      q(4597),
+      q(4599),
       q(0),
       ],
    q(muyuw) => [
-      q(4688),
+      q(4690),
       q(0),
       ],
    q(muzi) => [
-      q(7703),
+      q(7705),
       q(0),
       ],
    q(mvanip) => [
-      q(4160),
+      q(4162),
       q(0),
       ],
    q(mvuba) => [
-      q(4652),
+      q(4654),
       q(0),
       ],
    q(mwaghavul) => [
-      q(6283),
+      q(6285),
       q(0),
       ],
    q(mwali comorian) => [
-      q(7151),
+      q(7153),
       q(0),
       ],
    q(mwan) => [
-      q(4435),
+      q(4437),
       q(0),
       ],
    q(mwani) => [
-      q(7178),
+      q(7180),
       q(0),
       ],
    q(mwatebu) => [
-      q(4623),
+      q(4625),
       q(0),
       ],
    q(mwera (chimwera)) => [
-      q(4626),
+      q(4628),
       q(0),
       ],
    q(mwera (nyasa)) => [
-      q(4323),
+      q(4325),
       q(0),
       ],
    q(mwerlap) => [
-      q(4515),
+      q(4517),
       q(1),
       ],
    q(mwimbi-muthambi) => [
-      q(4637),
+      q(4639),
       q(0),
       ],
    q(mwotlap) => [
-      q(4384),
+      q(4386),
       q(1),
       ],
    q(mycenaean greek) => [
-      q(2564),
+      q(2565),
       q(0),
       ],
    q(myene) => [
-      q(4674),
+      q(4676),
       q(0),
       ],
    q(mysian) => [
-      q(7701),
+      q(7703),
       q(0),
       ],
    q(mzieme naga) => [
-      q(4964),
+      q(4966),
       q(0),
       ],
    q(n'ko) => [
@@ -43980,11 +43994,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(n/u) => [
-      q(4839),
+      q(4841),
       q(0),
       ],
    q(na) => [
-      q(4755),
+      q(4757),
       q(0),
       ],
    q(na-dene languages) => [
@@ -43992,91 +44006,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(na-meo) => [
-      q(4818),
+      q(4820),
       q(0),
       ],
    q(naaba) => [
-      q(4729),
+      q(4731),
       q(0),
       ],
    q(naami) => [
-      q(1633),
+      q(1634),
       q(0),
       ],
    q(naasioi) => [
-      q(4732),
+      q(4734),
       q(0),
       ],
    q(naba) => [
-      q(4416),
+      q(4418),
       q(0),
       ],
    q(nabak) => [
-      q(4722),
+      q(4724),
       q(0),
       ],
    q(nabi) => [
-      q(4577),
+      q(4579),
       q(0),
       ],
    q(nachering) => [
-      q(4763),
+      q(4765),
       q(0),
       ],
    q(nadeb) => [
-      q(4134),
+      q(4136),
       q(0),
       ],
    q(nadruvian) => [
-      q(4786),
+      q(4788),
       q(0),
       ],
    q(nafaanra) => [
-      q(4831),
+      q(4833),
       q(0),
       ],
    q(nafi) => [
-      q(6211),
+      q(6213),
       q(0),
       ],
    q(nafri) => [
-      q(5153),
+      q(5155),
       q(0),
       ],
    q(nafusi) => [
-      q(3063),
+      q(3064),
       q(0),
       ],
    q(naga pidgin) => [
-      q(4723),
+      q(4725),
       q(0),
       ],
    q(nagarchal) => [
-      q(4743),
+      q(4745),
       q(0),
       ],
    q(nage) => [
-      q(5142),
+      q(5144),
       q(0),
       ],
    q(nagumi) => [
-      q(4853),
+      q(4855),
       q(0),
       ],
    q(naha'ai) => [
-      q(4386),
+      q(4388),
       q(1),
       ],
    q(nahali) => [
-      q(4957),
+      q(4959),
       q(0),
       ],
    q(nahari) => [
-      q(4865),
+      q(4867),
       q(0),
       ],
    q(nahavaq) => [
-      q(6148),
+      q(6150),
       q(1),
       ],
    q(nahuatl languages) => [
@@ -44084,7 +44098,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nai) => [
-      q(1219),
+      q(1220),
       q(0),
       ],
    q(najdi arabic) => [
@@ -44092,151 +44106,151 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(naka'ela) => [
-      q(4721),
+      q(4723),
       q(0),
       ],
    q(nakai) => [
-      q(4929),
+      q(4931),
       q(0),
       ],
    q(nakame) => [
-      q(4881),
+      q(4883),
       q(0),
       ],
    q(nakanai) => [
-      q(4725),
+      q(4727),
       q(0),
       ],
    q(nakara) => [
-      q(4770),
+      q(4772),
       q(0),
       ],
    q(nake) => [
-      q(4747),
+      q(4749),
       q(0),
       ],
    q(naki) => [
-      q(4228),
+      q(4230),
       q(0),
       ],
    q(nakwi) => [
-      q(4735),
+      q(4737),
       q(0),
       ],
    q(nalca) => [
-      q(4945),
+      q(4947),
       q(0),
       ],
    q(nali) => [
-      q(5079),
+      q(5081),
       q(0),
       ],
    q(nalik) => [
-      q(4726),
+      q(4728),
       q(0),
       ],
    q(nalogo) => [
-      q(4959),
+      q(4961),
       q(0),
       ],
    q(nalu) => [
-      q(4724),
+      q(4726),
       q(0),
       ],
    q(naluo yi) => [
-      q(7682),
+      q(7684),
       q(0),
       ],
    q(nama (namibia)) => [
-      q(4730),
+      q(4732),
       q(1),
       ],
    q(nama (papua new guinea)) => [
-      q(4983),
+      q(4985),
       q(0),
       ],
    q(namakura) => [
-      q(4970),
+      q(4972),
       q(0),
       ],
    q(namat) => [
-      q(4931),
+      q(4933),
       q(0),
       ],
    q(nambo) => [
-      q(4772),
+      q(4774),
       q(0),
       ],
    q(nambya) => [
-      q(4976),
+      q(4978),
       q(0),
       ],
    q(namia) => [
-      q(4998),
+      q(5000),
       q(0),
       ],
    q(namiae) => [
-      q(5128),
+      q(5130),
       q(0),
       ],
    q(namibian sign language) => [
-      q(4754),
+      q(4756),
       q(0),
       ],
    q(namla) => [
-      q(4717),
+      q(4719),
       q(0),
       ],
    q(namo) => [
-      q(4667),
+      q(4669),
       q(0),
       ],
    q(namonuito) => [
-      q(4979),
+      q(4981),
       q(0),
       ],
    q(namosi-naitasiri-serua) => [
-      q(1542),
+      q(1543),
       q(0),
       ],
    q(namuyi) => [
-      q(4984),
+      q(4986),
       q(0),
       ],
    q(nanai) => [
-      q(2543),
+      q(2544),
       q(0),
       ],
    q(nancere) => [
-      q(4988),
+      q(4990),
       q(0),
       ],
    q(nande) => [
-      q(4987),
+      q(4989),
       q(0),
       ],
    q(nandi) => [
-      q(4894),
+      q(4896),
       q(0),
       ],
    q(nanerige senoufo) => [
-      q(5972),
+      q(5974),
       q(0),
       ],
    q(nanga dama dogon) => [
-      q(5182),
+      q(5184),
       q(0),
       ],
    q(nankina) => [
-      q(4996),
+      q(4998),
       q(0),
       ],
    q(nanti) => [
-      q(1827),
+      q(1828),
       q(0),
       ],
    q(nanticoke) => [
-      q(5004),
+      q(5006),
       q(0),
       ],
    q(nanubae) => [
@@ -44244,83 +44258,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(napo lowland quechua) => [
-      q(5707),
+      q(5709),
       q(0),
       ],
    q(napu) => [
-      q(5040),
+      q(5042),
       q(0),
       ],
    q(nar phu) => [
-      q(5030),
+      q(5032),
       q(0),
       ],
    q(nara) => [
-      q(5048),
+      q(5050),
       q(0),
       ],
    q(narak) => [
-      q(4719),
+      q(4721),
       q(0),
       ],
    q(narango) => [
-      q(5052),
+      q(5054),
       q(0),
       ],
    q(narau) => [
-      q(5152),
+      q(5154),
       q(0),
       ],
    q(nari nari) => [
-      q(5833),
+      q(5835),
       q(0),
       ],
    q(narim) => [
-      q(4018),
+      q(4020),
       q(0),
       ],
    q(naro) => [
-      q(4873),
+      q(4875),
       q(0),
       ],
    q(narom) => [
-      q(5056),
+      q(5058),
       q(0),
       ],
    q(narragansett) => [
-      q(7440),
+      q(7442),
       q(0),
       ],
    q(narrinyeri) => [
-      q(4736),
+      q(4738),
       q(0),
       ],
    q(narua) => [
-      q(5061),
+      q(5063),
       q(0),
       ],
    q(narungga) => [
-      q(5002),
+      q(5004),
       q(0),
       ],
    q(nasal) => [
-      q(5085),
+      q(5087),
       q(0),
       ],
    q(nasarian) => [
-      q(5127),
+      q(5129),
       q(0),
       ],
    q(naskapi) => [
-      q(5072),
+      q(5074),
       q(0),
       ],
    q(natagaimas) => [
-      q(5096),
+      q(5098),
       q(0),
       ],
    q(natanzi) => [
-      q(5101),
+      q(5103),
       q(0),
       ],
    q(nataoran amis) => [
@@ -44328,39 +44342,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(natchez) => [
-      q(4781),
+      q(4783),
       q(0),
       ],
    q(nateni) => [
-      q(5092),
+      q(5094),
       q(0),
       ],
    q(nathembo) => [
-      q(5087),
+      q(5089),
       q(0),
       ],
    q(natioro) => [
-      q(5089),
+      q(5091),
       q(0),
       ],
    q(natugu) => [
-      q(5097),
+      q(5099),
       q(0),
       ],
    q(nauete) => [
-      q(5140),
+      q(5142),
       q(0),
       ],
    q(naukan yupik) => [
-      q(7708),
+      q(7710),
       q(0),
       ],
    q(nauna) => [
-      q(4773),
+      q(4775),
       q(0),
       ],
    q(nauo) => [
-      q(5136),
+      q(5138),
       q(0),
       ],
    q(nauru) => [
@@ -44376,91 +44390,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(navut) => [
-      q(5083),
+      q(5085),
       q(0),
       ],
    q(nawaru) => [
-      q(5137),
+      q(5139),
       q(0),
       ],
    q(nawathinehena) => [
-      q(5130),
+      q(5132),
       q(0),
       ],
    q(nawdm) => [
-      q(4985),
+      q(4987),
       q(0),
       ],
    q(nawuri) => [
-      q(4734),
+      q(4736),
       q(0),
       ],
    q(naxi) => [
-      q(5150),
+      q(5152),
       q(0),
       ],
    q(nayi) => [
-      q(5029),
+      q(5031),
       q(0),
       ],
    q(nayini) => [
-      q(5166),
+      q(5168),
       q(0),
       ],
    q(ncane) => [
-      q(4776),
+      q(4778),
       q(0),
       ],
    q(nchumbulu) => [
-      q(4954),
+      q(4956),
       q(0),
       ],
    q(nda'nda') => [
-      q(5009),
+      q(5011),
       q(0),
       ],
    q(ndai) => [
-      q(2537),
+      q(2538),
       q(0),
       ],
    q(ndaka) => [
-      q(4791),
+      q(4793),
       q(0),
       ],
    q(ndaktup) => [
-      q(4775),
+      q(4777),
       q(0),
       ],
    q(ndali) => [
-      q(4788),
+      q(4790),
       q(0),
       ],
    q(ndam) => [
-      q(4793),
+      q(4795),
       q(0),
       ],
    q(ndamba) => [
-      q(4790),
+      q(4792),
       q(0),
       ],
    q(ndambomo) => [
-      q(5149),
+      q(5151),
       q(0),
       ],
    q(ndasa) => [
-      q(4782),
+      q(4784),
       q(0),
       ],
    q(ndau) => [
-      q(4784),
+      q(4786),
       q(0),
       ],
    q(nde-gbite) => [
-      q(4808),
+      q(4810),
       q(0),
       ],
    q(nde-nsele-nta) => [
-      q(4785),
+      q(4787),
       q(0),
       ],
    q(ndebele, north) => [
@@ -44472,51 +44486,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ndemli) => [
-      q(4971),
+      q(4973),
       q(0),
       ],
    q(ndendeule) => [
-      q(2100),
+      q(2101),
       q(0),
       ],
    q(ndengereko) => [
-      q(4787),
+      q(4789),
       q(0),
       ],
    q(nding) => [
-      q(2244),
+      q(2245),
       q(0),
       ],
    q(ndo) => [
-      q(4795),
+      q(4797),
       q(0),
       ],
    q(ndobo) => [
-      q(4801),
+      q(4803),
       q(0),
       ],
    q(ndoe) => [
-      q(4739),
+      q(4741),
       q(0),
       ],
    q(ndogo) => [
-      q(4804),
+      q(4806),
       q(0),
       ],
    q(ndolo) => [
-      q(4792),
+      q(4794),
       q(0),
       ],
    q(ndom) => [
-      q(5043),
+      q(5045),
       q(0),
       ],
    q(ndombe) => [
-      q(4796),
+      q(4798),
       q(0),
       ],
    q(ndonde hamba) => [
-      q(4905),
+      q(4907),
       q(0),
       ],
    q(ndonga) => [
@@ -44524,39 +44538,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ndoola) => [
-      q(4797),
+      q(4799),
       q(0),
       ],
    q(ndra'ngith) => [
-      q(2016),
+      q(2017),
       q(0),
       ],
    q(nduga) => [
-      q(4802),
+      q(4804),
       q(0),
       ],
    q(ndumu) => [
-      q(4963),
+      q(4965),
       q(0),
       ],
    q(ndunda) => [
-      q(5108),
+      q(5110),
       q(0),
       ],
    q(ndunga) => [
-      q(4798),
+      q(4800),
       q(0),
       ],
    q(ndut) => [
-      q(4800),
+      q(4802),
       q(0),
       ],
    q(ndyuka-trio pidgin) => [
-      q(4915),
+      q(4917),
       q(0),
       ],
    q(ndzwani comorian) => [
-      q(7185),
+      q(7187),
       q(0),
       ],
    q(neapolitan) => [
@@ -44564,59 +44578,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nedebang) => [
-      q(4807),
+      q(4809),
       q(0),
       ],
    q(nefamese) => [
-      q(4810),
+      q(4812),
       q(0),
       ],
    q(negerhollands) => [
-      q(1976),
+      q(1977),
       q(0),
       ],
    q(negeri sembilan malay) => [
-      q(7882),
+      q(7884),
       q(0),
       ],
    q(negidal) => [
-      q(4811),
+      q(4813),
       q(0),
       ],
    q(nehan) => [
-      q(5075),
+      q(5077),
       q(0),
       ],
    q(nek) => [
-      q(4884),
+      q(4886),
       q(0),
       ],
    q(nekgini) => [
-      q(4926),
+      q(4928),
       q(0),
       ],
    q(neko) => [
-      q(4814),
+      q(4816),
       q(0),
       ],
    q(neku) => [
-      q(4815),
+      q(4817),
       q(0),
       ],
    q(nelemwa-nixumwak) => [
-      q(4809),
+      q(4811),
       q(0),
       ],
    q(neme) => [
-      q(4825),
+      q(4827),
       q(0),
       ],
    q(nemi) => [
-      q(4816),
+      q(4818),
       q(0),
       ],
    q(nen) => [
-      q(5044),
+      q(5046),
       q(0),
       ],
    q(nend) => [
@@ -44624,23 +44638,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nenets) => [
-      q(7738),
+      q(7740),
       q(0),
       ],
    q(nenge) => [
-      q(2065),
+      q(2066),
       q(2),
       ],
    q(nengone) => [
-      q(4817),
+      q(4819),
       q(0),
       ],
    q(neo) => [
-      q(4823),
+      q(4825),
       q(0),
       ],
    q(neo-hittite) => [
-      q(4813),
+      q(4815),
       q(0),
       ],
    q(nepal bhasa) => [
@@ -44648,7 +44662,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nepalese sign language) => [
-      q(5076),
+      q(5078),
       q(0),
       ],
    q(nepali) => [
@@ -44656,7 +44670,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nepali (individual language)) => [
-      q(5034),
+      q(5036),
       q(0),
       ],
    q(nepali (macrolanguage)) => [
@@ -44664,27 +44678,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(nepali kurux) => [
-      q(3725),
+      q(3727),
       q(0),
       ],
    q(nete) => [
-      q(4822),
+      q(4824),
       q(0),
       ],
    q(neve'ei) => [
-      q(7040),
+      q(7042),
       q(1),
       ],
    q(neverver) => [
-      q(3889),
+      q(3891),
       q(1),
       ],
    q(new caledonian javanese) => [
-      q(3053),
+      q(3054),
       q(0),
       ],
    q(new zealand sign language) => [
-      q(5179),
+      q(5181),
       q(0),
       ],
    q(newari) => [
@@ -44692,135 +44706,135 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(neyo) => [
-      q(4826),
+      q(4828),
       q(0),
       ],
    q(nez perce) => [
-      q(4827),
+      q(4829),
       q(0),
       ],
    q(ngaanyatjarra) => [
-      q(5090),
+      q(5092),
       q(0),
       ],
    q(ngabere) => [
-      q(2702),
+      q(2703),
       q(0),
       ],
    q(ngad'a) => [
-      q(5143),
+      q(5145),
       q(0),
       ],
    q(ngadjunmaya) => [
-      q(4916),
+      q(4918),
       q(0),
       ],
    q(ngadjuri) => [
-      q(3150),
+      q(3152),
       q(0),
       ],
    q(ngaing) => [
-      q(4991),
+      q(4993),
       q(0),
       ],
    q(ngaju) => [
-      q(4888),
+      q(4890),
       q(0),
       ],
    q(ngala) => [
-      q(5104),
+      q(5106),
       q(0),
       ],
    q(ngalakan) => [
-      q(4885),
+      q(4887),
       q(0),
       ],
    q(ngalum) => [
-      q(6346),
+      q(6348),
       q(0),
       ],
    q(ngam) => [
-      q(4962),
+      q(4964),
       q(0),
       ],
    q(ngamambo) => [
-      q(4757),
+      q(4759),
       q(0),
       ],
    q(ngambay) => [
-      q(5900),
+      q(5902),
       q(0),
       ],
    q(ngamini) => [
-      q(4981),
+      q(4983),
       q(0),
       ],
    q(ngamo) => [
-      q(4744),
+      q(4746),
       q(0),
       ],
    q(ngan'gityemerri) => [
-      q(4727),
+      q(4729),
       q(0),
       ],
    q(nganakarti) => [
-      q(7435),
+      q(7437),
       q(0),
       ],
    q(nganasan) => [
-      q(4893),
+      q(4895),
       q(0),
       ],
    q(ngandi) => [
-      q(4882),
+      q(4884),
       q(0),
       ],
    q(ngando (central african republic)) => [
-      q(4836),
+      q(4838),
       q(0),
       ],
    q(ngando (democratic republic of congo)) => [
-      q(5141),
+      q(5143),
       q(0),
       ],
    q(ngandyera) => [
-      q(4990),
+      q(4992),
       q(0),
       ],
    q(ngangam) => [
-      q(2571),
+      q(2572),
       q(0),
       ],
    q(ngantangarra) => [
-      q(5088),
+      q(5090),
       q(0),
       ],
    q(nganyaywana) => [
-      q(5173),
+      q(5175),
       q(0),
       ],
    q(ngardi) => [
-      q(5879),
+      q(5881),
       q(0),
       ],
    q(ngarigu) => [
-      q(7434),
+      q(7436),
       q(0),
       ],
    q(ngarinman) => [
-      q(4746),
+      q(4748),
       q(0),
       ],
    q(ngarinyin) => [
-      q(6914),
+      q(6916),
       q(0),
       ],
    q(ngarla) => [
-      q(5054),
+      q(5056),
       q(0),
       ],
    q(ngarluma) => [
-      q(5055),
+      q(5057),
       q(0),
       ],
    q(ngas) => [
@@ -44828,51 +44842,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ngasa) => [
-      q(5069),
+      q(5071),
       q(0),
       ],
    q(ngatik men's creole) => [
-      q(4844),
+      q(4846),
       q(0),
       ],
    q(ngawn chin) => [
-      q(1806),
+      q(1807),
       q(0),
       ],
    q(ngawun) => [
-      q(5148),
+      q(5150),
       q(0),
       ],
    q(ngayawung) => [
-      q(5133),
+      q(5135),
       q(0),
       ],
    q(ngazidja comorian) => [
-      q(7833),
+      q(7835),
       q(0),
       ],
    q(ngbaka) => [
-      q(4833),
+      q(4835),
       q(0),
       ],
    q(ngbaka ma'bo) => [
-      q(4748),
+      q(4750),
       q(0),
       ],
    q(ngbaka manza) => [
-      q(4838),
+      q(4840),
       q(0),
       ],
    q(ngbee) => [
-      q(3084),
+      q(3085),
       q(0),
       ],
    q(ngbinda) => [
-      q(4741),
+      q(4743),
       q(0),
       ],
    q(ngbundu) => [
-      q(5121),
+      q(5123),
       q(0),
       ],
    q(ngelima) => [
@@ -44880,159 +44894,159 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ngemba) => [
-      q(4837),
+      q(4839),
       q(0),
       ],
    q(ngeq) => [
-      q(4851),
+      q(4853),
       q(0),
       ],
    q(ngete) => [
-      q(4999),
+      q(5001),
       q(0),
       ],
    q(nggem) => [
-      q(4752),
+      q(4754),
       q(0),
       ],
    q(nggwahyi) => [
-      q(4855),
+      q(4857),
       q(0),
       ],
    q(ngie) => [
-      q(4841),
+      q(4843),
       q(0),
       ],
    q(ngiemboon) => [
-      q(4993),
+      q(4995),
       q(0),
       ],
    q(ngile) => [
-      q(3113),
+      q(3114),
       q(0),
       ],
    q(ngindo) => [
-      q(5001),
+      q(5003),
       q(0),
       ],
    q(ngiti) => [
-      q(4901),
+      q(4903),
       q(0),
       ],
    q(ngizim) => [
-      q(4840),
+      q(4842),
       q(0),
       ],
    q(ngkalmpw kanum) => [
-      q(3210),
+      q(3212),
       q(0),
       ],
    q(ngom) => [
-      q(5047),
+      q(5049),
       q(0),
       ],
    q(ngomba) => [
-      q(3087),
+      q(3088),
       q(0),
       ],
    q(ngombale) => [
-      q(4944),
+      q(4946),
       q(0),
       ],
    q(ngombe (central african republic)) => [
-      q(4969),
+      q(4971),
       q(0),
       ],
    q(ngombe (democratic republic of congo)) => [
-      q(4835),
+      q(4837),
       q(0),
       ],
    q(ngongo) => [
-      q(5022),
+      q(5024),
       q(0),
       ],
    q(ngoni) => [
-      q(4846),
+      q(4848),
       q(0),
       ],
    q(ngoreme) => [
-      q(4848),
+      q(4850),
       q(1),
       ],
    q(ngoshie) => [
-      q(5070),
+      q(5072),
       q(0),
       ],
    q(ngul) => [
-      q(4952),
+      q(4954),
       q(0),
       ],
    q(ngulu) => [
-      q(4847),
+      q(4849),
       q(0),
       ],
    q(nguluwan) => [
-      q(5123),
+      q(5125),
       q(0),
       ],
    q(ngumbi) => [
-      q(5109),
+      q(5111),
       q(0),
       ],
    q(ngunawal) => [
-      q(7533),
+      q(7535),
       q(0),
       ],
    q(ngundi) => [
-      q(4794),
+      q(4796),
       q(0),
       ],
    q(ngundu) => [
-      q(5105),
+      q(5107),
       q(0),
       ],
    q(ngungwel) => [
-      q(4857),
+      q(4859),
       q(0),
       ],
    q(nguon) => [
-      q(5115),
+      q(5117),
       q(0),
       ],
    q(ngurimi) => [
-      q(4848),
+      q(4850),
       q(0),
       ],
    q(ngurmbur) => [
-      q(5062),
+      q(5064),
       q(0),
       ],
    q(ngwaba) => [
-      q(4854),
+      q(4856),
       q(0),
       ],
    q(ngwe) => [
-      q(5132),
+      q(5134),
       q(0),
       ],
    q(ngwo) => [
-      q(4845),
+      q(4847),
       q(0),
       ],
    q(nhanda) => [
-      q(4858),
+      q(4860),
       q(0),
       ],
    q(nhengatu) => [
-      q(7739),
+      q(7741),
       q(0),
       ],
    q(nhirrpi) => [
-      q(2836),
+      q(2837),
       q(0),
       ],
    q(nhuwala) => [
-      q(4863),
+      q(4865),
       q(0),
       ],
    q(nias) => [
@@ -45040,19 +45054,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nicaragua creole english) => [
-      q(1622),
+      q(1623),
       q(0),
       ],
    q(nicaraguan sign language) => [
-      q(4777),
+      q(4779),
       q(0),
       ],
    q(nicarao) => [
-      q(5574),
+      q(5576),
       q(1),
       ],
    q(niellim) => [
-      q(4883),
+      q(4885),
       q(0),
       ],
    q(niger-kordofanian languages) => [
@@ -45060,43 +45074,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nigeria mambila) => [
-      q(4701),
+      q(4703),
       q(0),
       ],
    q(nigerian fulfulde) => [
-      q(2392),
+      q(2393),
       q(0),
       ],
    q(nigerian pidgin) => [
-      q(5391),
+      q(5393),
       q(0),
       ],
    q(nigerian sign language) => [
-      q(5071),
+      q(5073),
       q(0),
       ],
    q(nihali) => [
-      q(4951),
+      q(4953),
       q(0),
       ],
    q(nii) => [
-      q(4887),
+      q(4889),
       q(0),
       ],
    q(nijadali) => [
-      q(4720),
+      q(4722),
       q(0),
       ],
    q(niksek) => [
-      q(2422),
+      q(2423),
       q(0),
       ],
    q(nila) => [
-      q(4890),
+      q(4892),
       q(0),
       ],
    q(nilamba) => [
-      q(4891),
+      q(4893),
       q(0),
       ],
    q(nilo-saharan languages) => [
@@ -45104,95 +45118,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nimadi) => [
-      q(5013),
+      q(5015),
       q(0),
       ],
    q(nimanbur) => [
-      q(4975),
+      q(4977),
       q(0),
       ],
    q(nimbari) => [
-      q(4977),
+      q(4979),
       q(0),
       ],
    q(nimboran) => [
-      q(4895),
+      q(4897),
       q(0),
       ],
    q(nimi) => [
-      q(4896),
+      q(4898),
       q(0),
       ],
    q(nimo) => [
-      q(4899),
+      q(4901),
       q(0),
       ],
    q(nimoa) => [
-      q(4982),
+      q(4984),
       q(0),
       ],
    q(ninam) => [
-      q(6009),
+      q(6011),
       q(0),
       ],
    q(ninde) => [
-      q(4630),
+      q(4632),
       q(1),
       ],
    q(nindi) => [
-      q(5144),
+      q(5146),
       q(0),
       ],
    q(ningera) => [
-      q(4759),
+      q(4761),
       q(0),
       ],
    q(ninggerum) => [
-      q(5151),
+      q(5153),
       q(0),
       ],
    q(ningil) => [
-      q(4902),
+      q(4904),
       q(0),
       ],
    q(ningye) => [
-      q(5003),
+      q(5005),
       q(0),
       ],
    q(ninia yali) => [
-      q(4950),
+      q(4952),
       q(0),
       ],
    q(ninzo) => [
-      q(4892),
+      q(4894),
       q(0),
       ],
    q(nipsan) => [
-      q(5038),
+      q(5040),
       q(0),
       ],
    q(nisa) => [
-      q(4914),
+      q(4916),
       q(0),
       ],
    q(nisenan) => [
-      q(5086),
+      q(5088),
       q(0),
       ],
    q(nisga'a) => [
-      q(4766),
+      q(4768),
       q(0),
       ],
    q(nisi (china)) => [
-      q(7750),
+      q(7752),
       q(0),
       ],
    q(niuafo'ou) => [
-      q(5113),
+      q(5115),
       q(0),
       ],
    q(niuatoputapu) => [
-      q(4934),
+      q(4936),
       q(0),
       ],
    q(niuean) => [
@@ -45200,79 +45214,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nivacle) => [
-      q(1643),
+      q(1644),
       q(0),
       ],
    q(niwer mil) => [
-      q(2831),
+      q(2832),
       q(0),
       ],
    q(njalgulgule) => [
-      q(4909),
+      q(4911),
       q(0),
       ],
    q(njebi) => [
-      q(5176),
+      q(5178),
       q(0),
       ],
    q(njen) => [
-      q(4908),
+      q(4910),
       q(0),
       ],
    q(njerep) => [
-      q(4913),
+      q(4915),
       q(0),
       ],
    q(njyem) => [
-      q(4918),
+      q(4920),
       q(0),
       ],
    q(nkami) => [
-      q(4935),
+      q(4937),
       q(0),
       ],
    q(nkangala) => [
-      q(4932),
+      q(4934),
       q(0),
       ],
    q(nkari) => [
-      q(4943),
+      q(4945),
       q(0),
       ],
    q(nkem-nkum) => [
-      q(3001),
+      q(3002),
       q(0),
       ],
    q(nkhumbi) => [
-      q(3347),
+      q(3349),
       q(0),
       ],
    q(nkongho) => [
-      q(4922),
+      q(4924),
       q(0),
       ],
    q(nkonya) => [
-      q(4933),
+      q(4935),
       q(0),
       ],
    q(nkoroo) => [
-      q(4942),
+      q(4944),
       q(0),
       ],
    q(nkoya) => [
-      q(4920),
+      q(4922),
       q(0),
       ],
    q(nkukoli) => [
-      q(4750),
+      q(4752),
       q(0),
       ],
    q(nkutu) => [
-      q(4941),
+      q(4943),
       q(0),
       ],
    q(nnam) => [
-      q(4751),
+      q(4753),
       q(0),
       ],
    q(no linguistic content) => [
@@ -45280,19 +45294,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nobiin) => [
-      q(2344),
+      q(2345),
       q(0),
       ],
    q(nobonob) => [
-      q(2417),
+      q(2418),
       q(0),
       ],
    q(nocaman) => [
-      q(5020),
+      q(5022),
       q(0),
       ],
    q(nocte naga) => [
-      q(4904),
+      q(4906),
       q(0),
       ],
    q(nogai) => [
@@ -45300,71 +45314,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(noiri) => [
-      q(5016),
+      q(5018),
       q(0),
       ],
    q(nokuku) => [
-      q(4930),
+      q(4932),
       q(0),
       ],
    q(nomaande) => [
-      q(3869),
+      q(3871),
       q(0),
       ],
    q(nomane) => [
-      q(5014),
+      q(5016),
       q(0),
       ],
    q(nomatsiguenga) => [
-      q(5024),
+      q(5026),
       q(0),
       ],
    q(nomlaki) => [
-      q(5019),
+      q(5021),
       q(0),
       ],
    q(nomu) => [
-      q(5015),
+      q(5017),
       q(0),
       ],
    q(nong zhuang) => [
-      q(7845),
+      q(7847),
       q(0),
       ],
    q(nonuya) => [
-      q(5017),
+      q(5019),
       q(0),
       ],
    q(nooksack) => [
-      q(5018),
+      q(5020),
       q(0),
       ],
    q(noon) => [
-      q(6136),
+      q(6138),
       q(0),
       ],
    q(noone) => [
-      q(4875),
+      q(4877),
       q(0),
       ],
    q(nopala chatino) => [
-      q(1929),
+      q(1930),
       q(0),
       ],
    q(nora) => [
-      q(5059),
+      q(5061),
       q(1),
       ],
    q(noric) => [
-      q(5049),
+      q(5051),
       q(0),
       ],
    q(norn) => [
-      q(5057),
+      q(5059),
       q(0),
       ],
    q(norra) => [
-      q(5059),
+      q(5061),
       q(0),
       ],
    q(norse, old) => [
@@ -45372,11 +45386,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north alaskan inupiatun) => [
-      q(2292),
+      q(2293),
       q(0),
       ],
    q(north ambrym) => [
-      q(4394),
+      q(4396),
       q(0),
       ],
    q(north american indian languages) => [
@@ -45384,23 +45398,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north asmat) => [
-      q(4937),
+      q(4939),
       q(0),
       ],
    q(north awyu) => [
-      q(7655),
+      q(7657),
       q(0),
       ],
    q(north azerbaijani) => [
-      q(1015),
+      q(1016),
       q(0),
       ],
    q(north babar) => [
-      q(1066),
+      q(1067),
       q(0),
       ],
    q(north bolivian quechua) => [
-      q(5686),
+      q(5688),
       q(0),
       ],
    q(north caucasian languages) => [
@@ -45408,15 +45422,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north central mixe) => [
-      q(4819),
+      q(4821),
       q(0),
       ],
    q(north efate) => [
-      q(3969),
+      q(3971),
       q(0),
       ],
    q(north fali) => [
-      q(2355),
+      q(2356),
       q(0),
       ],
    q(north germanic languages) => [
@@ -45424,11 +45438,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north giziga) => [
-      q(2524),
+      q(2525),
       q(0),
       ],
    q(north junin quechua) => [
-      q(5706),
+      q(5708),
       q(0),
       ],
    q(north levantine arabic) => [
@@ -45436,23 +45450,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(north marquesan) => [
-      q(4519),
+      q(4521),
       q(0),
       ],
    q(north mesopotamian arabic) => [
-      q(1003),
+      q(1004),
       q(0),
       ],
    q(north mofu) => [
-      q(4233),
+      q(4235),
       q(0),
       ],
    q(north moluccan malay) => [
-      q(4124),
+      q(4126),
       q(0),
       ],
    q(north muyu) => [
-      q(3626),
+      q(3628),
       q(0),
       ],
    q(north ndebele) => [
@@ -45460,39 +45474,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(north nuaulu) => [
-      q(4994),
+      q(4996),
       q(0),
       ],
    q(north picene) => [
-      q(5058),
+      q(5060),
       q(0),
       ],
    q(north slavey) => [
-      q(5936),
+      q(5938),
       q(0),
       ],
    q(north tairora) => [
-      q(6384),
+      q(6386),
       q(0),
       ],
    q(north tanna) => [
-      q(6620),
+      q(6622),
       q(0),
       ],
    q(north wahgi) => [
-      q(7122),
+      q(7124),
       q(0),
       ],
    q(north watut) => [
-      q(6912),
+      q(6914),
       q(0),
       ],
    q(northeast kiwai) => [
-      q(3372),
+      q(3374),
       q(0),
       ],
    q(northeast maidu) => [
-      q(4980),
+      q(4982),
       q(0),
       ],
    q(northeast pashai) => [
@@ -45504,15 +45518,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(northeastern dinka) => [
-      q(2047),
+      q(2048),
       q(0),
       ],
    q(northeastern pomo) => [
-      q(5406),
+      q(5408),
       q(0),
       ],
    q(northeastern thai) => [
-      q(6751),
+      q(6753),
       q(0),
       ],
    q(northern alta) => [
@@ -45520,55 +45534,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern altai) => [
-      q(0927),
+      q(0928),
       q(0),
       ],
    q(northern amami-oshima) => [
-      q(5881),
+      q(5883),
       q(0),
       ],
    q(northern bai) => [
-      q(1137),
+      q(1138),
       q(1),
       ],
    q(northern betsimisaraka malagasy) => [
-      q(1314),
+      q(1315),
       q(0),
       ],
    q(northern binukidnon) => [
-      q(3753),
+      q(3755),
       q(0),
       ],
    q(northern bobo madare) => [
-      q(1051),
+      q(1052),
       q(0),
       ],
    q(northern bontok) => [
-      q(5757),
+      q(5759),
       q(0),
       ],
    q(northern catanduanes bikol) => [
-      q(1898),
+      q(1899),
       q(0),
       ],
    q(northern conchucos ancash quechua) => [
-      q(5723),
+      q(5725),
       q(0),
       ],
    q(northern dagara) => [
-      q(2010),
+      q(2011),
       q(0),
       ],
    q(northern dong) => [
-      q(2114),
+      q(2115),
       q(0),
       ],
    q(northern east cree) => [
-      q(1852),
+      q(1853),
       q(0),
       ],
    q(northern embera) => [
-      q(2257),
+      q(2258),
       q(0),
       ],
    q(northern frisian) => [
@@ -45576,147 +45590,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern ghale) => [
-      q(2505),
+      q(2506),
       q(0),
       ],
    q(northern gondi) => [
-      q(2578),
+      q(2579),
       q(0),
       ],
    q(northern grebo) => [
-      q(2432),
+      q(2433),
       q(0),
       ],
    q(northern guiyang hmong) => [
-      q(2859),
+      q(2860),
       q(0),
       ],
    q(northern guiyang miao) => [
-      q(2859),
+      q(2860),
       q(1),
       ],
    q(northern haida) => [
-      q(2738),
+      q(2739),
       q(0),
       ],
    q(northern hindko) => [
-      q(2806),
+      q(2807),
       q(0),
       ],
    q(northern huishui hmong) => [
-      q(2784),
+      q(2785),
       q(0),
       ],
    q(northern huishui miao) => [
-      q(2784),
+      q(2785),
       q(1),
       ],
    q(northern kalapuya) => [
-      q(5060),
+      q(5062),
       q(0),
       ],
    q(northern kankanay) => [
-      q(7436),
+      q(7438),
       q(0),
       ],
    q(northern khmer) => [
-      q(3726),
+      q(3728),
       q(0),
       ],
    q(northern kissi) => [
-      q(3564),
+      q(3566),
       q(0),
       ],
    q(northern kurdish) => [
-      q(3469),
+      q(3471),
       q(0),
       ],
    q(northern luri) => [
-      q(4041),
+      q(4043),
       q(0),
       ],
    q(northern mashan hmong) => [
-      q(2789),
+      q(2790),
       q(0),
       ],
    q(northern mashan miao) => [
-      q(2789),
+      q(2790),
       q(1),
       ],
    q(northern muji) => [
-      q(7702),
+      q(7704),
       q(0),
       ],
    q(northern nago) => [
-      q(7368),
+      q(7370),
       q(0),
       ],
    q(northern ngbandi) => [
-      q(4834),
+      q(4836),
       q(0),
       ],
    q(northern nisu) => [
-      q(7659),
+      q(7661),
       q(0),
       ],
    q(northern nuni) => [
-      q(5122),
+      q(5124),
       q(0),
       ],
    q(northern oaxaca nahuatl) => [
-      q(4879),
+      q(4881),
       q(0),
       ],
    q(northern ohlone) => [
-      q(1882),
+      q(1883),
       q(0),
       ],
    q(northern one) => [
-      q(5275),
+      q(5277),
       q(0),
       ],
    q(northern paiute) => [
-      q(5352),
+      q(5354),
       q(0),
       ],
    q(northern pame) => [
-      q(5520),
+      q(5522),
       q(0),
       ],
    q(northern pashto) => [
-      q(5376),
+      q(5378),
       q(0),
       ],
    q(northern pastaza quichua) => [
-      q(5712),
+      q(5714),
       q(0),
       ],
    q(northern pomo) => [
-      q(5410),
+      q(5412),
       q(0),
       ],
    q(northern puebla nahuatl) => [
-      q(4769),
+      q(4771),
       q(0),
       ],
    q(northern pumi) => [
-      q(5513),
+      q(5515),
       q(0),
       ],
    q(northern qiandong miao) => [
-      q(2741),
+      q(2742),
       q(0),
       ],
    q(northern qiang) => [
-      q(1797),
+      q(1798),
       q(0),
       ],
    q(northern rengma naga) => [
-      q(4997),
+      q(4999),
       q(0),
       ],
    q(northern roglai) => [
-      q(5840),
+      q(5842),
       q(0),
       ],
    q(northern sami) => [
@@ -45724,11 +45738,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(northern sierra miwok) => [
-      q(5077),
+      q(5079),
       q(0),
       ],
    q(northern sorsoganon) => [
-      q(1270),
+      q(1271),
       q(0),
       ],
    q(northern sotho) => [
@@ -45736,99 +45750,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(northern subanen) => [
-      q(6253),
+      q(6255),
       q(0),
       ],
    q(northern tarahumara) => [
-      q(6499),
+      q(6501),
       q(0),
       ],
    q(northern tepehuan) => [
-      q(5094),
+      q(5096),
       q(0),
       ],
    q(northern thai) => [
-      q(5012),
+      q(5014),
       q(0),
       ],
    q(northern tiwa) => [
-      q(6795),
+      q(6797),
       q(0),
       ],
    q(northern tlaxiaco mixtec) => [
-      q(7516),
+      q(7518),
       q(0),
       ],
    q(northern toussian) => [
-      q(6722),
+      q(6724),
       q(0),
       ],
    q(northern tujia) => [
-      q(6538),
+      q(6540),
       q(0),
       ],
    q(northern tutchone) => [
-      q(6745),
+      q(6747),
       q(0),
       ],
    q(northern uzbek) => [
-      q(6966),
+      q(6968),
       q(0),
       ],
    q(northern yukaghir) => [
-      q(7663),
+      q(7665),
       q(0),
       ],
    q(northwest alaska inupiatun) => [
-      q(2293),
+      q(2294),
       q(0),
       ],
    q(northwest gbaya) => [
-      q(2694),
+      q(2695),
       q(0),
       ],
    q(northwest maidu) => [
-      q(4320),
+      q(4322),
       q(0),
       ],
    q(northwest oaxaca mixtec) => [
-      q(4645),
+      q(4647),
       q(0),
       ],
    q(northwest pashai) => [
-      q(2544),
+      q(2545),
       q(0),
       ],
    q(northwest pashayi) => [
-      q(2544),
+      q(2545),
       q(1),
       ],
    q(northwestern dinka) => [
-      q(2053),
+      q(2054),
       q(0),
       ],
    q(northwestern fars) => [
-      q(2337),
+      q(2338),
       q(0),
       ],
    q(northwestern kolami) => [
-      q(3282),
+      q(3284),
       q(0),
       ],
    q(northwestern kung) => [
-      q(6973),
+      q(6975),
       q(2),
       ],
    q(northwestern nisu) => [
-      q(5068),
+      q(5070),
       q(0),
       ],
    q(northwestern ojibwa) => [
-      q(5216),
+      q(5218),
       q(0),
       ],
    q(northwestern tamang) => [
-      q(6594),
+      q(6596),
       q(0),
       ],
    q(norwegian) => [
@@ -45844,7 +45858,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(norwegian sign language) => [
-      q(5073),
+      q(5075),
       q(0),
       ],
    q(not applicable) => [
@@ -45852,59 +45866,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(notre) => [
-      q(1300),
+      q(1301),
       q(0),
       ],
    q(notsi) => [
-      q(4765),
+      q(4767),
       q(0),
       ],
    q(nottoway) => [
-      q(5098),
+      q(5100),
       q(0),
       ],
    q(nottoway-meherrin) => [
-      q(5139),
+      q(5141),
       q(0),
       ],
    q(novial) => [
-      q(5026),
+      q(5028),
       q(0),
       ],
    q(noy) => [
-      q(5028),
+      q(5030),
       q(0),
       ],
    q(nsenga) => [
-      q(5067),
+      q(5069),
       q(0),
       ],
    q(nshi) => [
-      q(5065),
+      q(5067),
       q(0),
       ],
    q(nsongo) => [
-      q(5084),
+      q(5086),
       q(0),
       ],
    q(ntcham) => [
-      q(1496),
+      q(1497),
       q(0),
       ],
    q(ntomba) => [
-      q(5093),
+      q(5095),
       q(0),
       ],
    q(nu) => [
-      q(4839),
+      q(4841),
       q(1),
       ],
    q(nubaca) => [
-      q(1025),
+      q(1026),
       q(0),
       ],
    q(nubi) => [
-      q(3220),
+      q(3222),
       q(0),
       ],
    q(nubian languages) => [
@@ -45912,91 +45926,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nubri) => [
-      q(3622),
+      q(3624),
       q(0),
       ],
    q(nuer) => [
-      q(5119),
+      q(5121),
       q(0),
       ],
    q(nugunu (australia)) => [
-      q(5006),
+      q(5008),
       q(0),
       ],
    q(nugunu (cameroon)) => [
-      q(7589),
+      q(7591),
       q(0),
       ],
    q(nuk) => [
-      q(5011),
+      q(5013),
       q(0),
       ],
    q(nukak maku) => [
-      q(4142),
+      q(4144),
       q(0),
       ],
    q(nukna) => [
-      q(3446),
+      q(3448),
       q(0),
       ],
    q(nukuini) => [
-      q(5103),
+      q(5105),
       q(0),
       ],
    q(nukumanu) => [
-      q(5117),
+      q(5119),
       q(0),
       ],
    q(nukunul) => [
-      q(7441),
+      q(7443),
       q(0),
       ],
    q(nukuoro) => [
-      q(4936),
+      q(4938),
       q(0),
       ],
    q(nukuria) => [
-      q(5118),
+      q(5120),
       q(0),
       ],
    q(numana-nunku-gbantu-numbu) => [
-      q(4753),
+      q(4755),
       q(0),
       ],
    q(numanggang) => [
-      q(5021),
+      q(5023),
       q(0),
       ],
    q(numbami) => [
-      q(6039),
+      q(6041),
       q(0),
       ],
    q(nume) => [
-      q(6487),
+      q(6489),
       q(0),
       ],
    q(numee) => [
-      q(3242),
+      q(3244),
       q(0),
       ],
    q(numidian) => [
-      q(5147),
+      q(5149),
       q(0),
       ],
    q(nung (viet nam)) => [
-      q(5120),
+      q(5122),
       q(0),
       ],
    q(nungali) => [
-      q(5107),
+      q(5109),
       q(0),
       ],
    q(nunggubuyu) => [
-      q(5125),
+      q(5127),
       q(0),
       ],
    q(nungu) => [
-      q(5789),
+      q(5791),
       q(0),
       ],
    q(nuosu) => [
@@ -46004,75 +46018,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(nupbikha) => [
-      q(5031),
+      q(5033),
       q(0),
       ],
    q(nupe-nupe-tako) => [
-      q(5116),
+      q(5118),
       q(0),
       ],
    q(nupode huitoto) => [
-      q(2871),
+      q(2872),
       q(0),
       ],
    q(nusa laut) => [
-      q(5112),
+      q(5114),
       q(0),
       ],
    q(nusu) => [
-      q(5106),
+      q(5108),
       q(0),
       ],
    q(nuu-chah-nulth) => [
-      q(5111),
+      q(5113),
       q(0),
       ],
    q(nuuchahnulth) => [
-      q(5111),
+      q(5113),
       q(1),
       ],
    q(nyabwa) => [
-      q(5131),
+      q(5133),
       q(0),
       ],
    q(nyaheun) => [
-      q(4824),
+      q(4826),
       q(0),
       ],
    q(nyahkur) => [
-      q(1669),
+      q(1670),
       q(0),
       ],
    q(nyakyusa-ngonde) => [
-      q(5174),
+      q(5176),
       q(0),
       ],
    q(nyalayu) => [
-      q(7685),
+      q(7687),
       q(0),
       ],
    q(nyali) => [
-      q(4949),
+      q(4951),
       q(0),
       ],
    q(nyam) => [
-      q(4968),
+      q(4970),
       q(0),
       ],
    q(nyamal) => [
-      q(4958),
+      q(4960),
       q(0),
       ],
    q(nyambo) => [
-      q(5027),
+      q(5029),
       q(0),
       ],
    q(nyamusa-molo) => [
-      q(5135),
+      q(5137),
       q(0),
       ],
    q(nyamwanga) => [
-      q(4633),
+      q(4635),
       q(0),
       ],
    q(nyamwezi) => [
@@ -46080,35 +46094,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyaneka) => [
-      q(5163),
+      q(5165),
       q(0),
       ],
    q(nyang'i) => [
-      q(5165),
+      q(5167),
       q(0),
       ],
    q(nyanga) => [
-      q(5162),
+      q(5164),
       q(0),
       ],
    q(nyanga-li) => [
-      q(5155),
+      q(5157),
       q(0),
       ],
    q(nyangatom) => [
-      q(4995),
+      q(4997),
       q(0),
       ],
    q(nyangbo) => [
-      q(5154),
+      q(5156),
       q(0),
       ],
    q(nyangga) => [
-      q(5008),
+      q(5010),
       q(0),
       ],
    q(nyangumarta) => [
-      q(4986),
+      q(4988),
       q(0),
       ],
    q(nyanja) => [
@@ -46120,79 +46134,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyankpa) => [
-      q(7626),
+      q(7628),
       q(0),
       ],
    q(nyarafolo senoufo) => [
-      q(5980),
+      q(5982),
       q(0),
       ],
    q(nyaturu) => [
-      q(5788),
+      q(5790),
       q(0),
       ],
    q(nyaw) => [
-      q(5172),
+      q(5174),
       q(0),
       ],
    q(nyawaygi) => [
-      q(5169),
+      q(5171),
       q(0),
       ],
    q(nyelayu) => [
-      q(7685),
+      q(7687),
       q(1),
       ],
    q(nyemba) => [
-      q(4738),
+      q(4740),
       q(0),
       ],
    q(nyengo) => [
-      q(5157),
+      q(5159),
       q(0),
       ],
    q(nyenkha) => [
-      q(4812),
+      q(4814),
       q(0),
       ],
    q(nyeu) => [
-      q(5164),
+      q(5166),
       q(0),
       ],
    q(nyigina) => [
-      q(5160),
+      q(5162),
       q(0),
       ],
    q(nyiha (malawi)) => [
-      q(5167),
+      q(5169),
       q(0),
       ],
    q(nyiha (tanzania)) => [
-      q(4886),
+      q(4888),
       q(0),
       ],
    q(nyika (malawi and zambia)) => [
-      q(4940),
+      q(4942),
       q(0),
       ],
    q(nyika (tanzania)) => [
-      q(4938),
+      q(4940),
       q(0),
       ],
    q(nyindrou) => [
-      q(3911),
+      q(3913),
       q(0),
       ],
    q(nyindu) => [
-      q(5159),
+      q(5161),
       q(0),
       ],
    q(nyishi) => [
-      q(4919),
+      q(4921),
       q(0),
       ],
    q(nyiyaparli) => [
-      q(7442),
+      q(7444),
       q(0),
       ],
    q(nynorsk, norwegian) => [
@@ -46200,19 +46214,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(nyokon) => [
-      q(5129),
+      q(5131),
       q(0),
       ],
    q(nyole) => [
-      q(5110),
+      q(5112),
       q(0),
       ],
    q(nyong) => [
-      q(4589),
+      q(4591),
       q(0),
       ],
    q(nyore) => [
-      q(5156),
+      q(5158),
       q(0),
       ],
    q(nyoro) => [
@@ -46220,27 +46234,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(nyulnyul) => [
-      q(5171),
+      q(5173),
       q(0),
       ],
    q(nyunga) => [
-      q(5168),
+      q(5170),
       q(0),
       ],
    q(nyungwe) => [
-      q(5170),
+      q(5172),
       q(0),
       ],
    q(nzakambay) => [
-      q(5181),
+      q(5183),
       q(0),
       ],
    q(nzakara) => [
-      q(5177),
+      q(5179),
       q(0),
       ],
    q(nzanyi) => [
-      q(4903),
+      q(4905),
       q(0),
       ],
    q(nzima) => [
@@ -46248,27 +46262,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(o'chi'chi') => [
-      q(7444),
+      q(7446),
       q(0),
       ],
    q(o'du) => [
-      q(6830),
+      q(6832),
       q(0),
       ],
    q(obanliku) => [
-      q(1636),
+      q(1637),
       q(0),
       ],
    q(obispeno) => [
-      q(5187),
+      q(5189),
       q(0),
       ],
    q(oblo) => [
-      q(5189),
+      q(5191),
       q(0),
       ],
    q(obo manobo) => [
-      q(5191),
+      q(5193),
       q(0),
       ],
    q(obokuitai) => [
@@ -46280,11 +46294,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(obulom) => [
-      q(5194),
+      q(5196),
       q(0),
       ],
    q(ocaina) => [
-      q(5195),
+      q(5197),
       q(0),
       ],
    q(occidental) => [
@@ -46296,35 +46310,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ocotepec mixtec) => [
-      q(4300),
+      q(4302),
       q(0),
       ],
    q(ocotlan zapotec) => [
-      q(7805),
+      q(7807),
       q(0),
       ],
    q(od) => [
-      q(5200),
+      q(5202),
       q(0),
       ],
    q(odiai) => [
-      q(1190),
+      q(1191),
       q(0),
       ],
    q(odoodee) => [
-      q(3403),
+      q(3405),
       q(0),
       ],
    q(odual) => [
-      q(5202),
+      q(5204),
       q(0),
       ],
    q(odut) => [
-      q(5199),
+      q(5201),
       q(0),
       ],
    q(ofaye) => [
-      q(5291),
+      q(5293),
       q(0),
       ],
    q(official aramaic (700-300 bce)) => [
@@ -46332,27 +46346,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ofo) => [
-      q(5203),
+      q(5205),
       q(0),
       ],
    q(ogbah) => [
-      q(5207),
+      q(5209),
       q(0),
       ],
    q(ogbia) => [
-      q(5206),
+      q(5208),
       q(0),
       ],
    q(ogbogolo) => [
-      q(5209),
+      q(5211),
       q(0),
       ],
    q(ogbronuagum) => [
-      q(5211),
+      q(5213),
       q(0),
       ],
    q(ogea) => [
-      q(2283),
+      q(2284),
       q(0),
       ],
    q(oirat) => [
@@ -46360,7 +46374,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(oirata) => [
-      q(5214),
+      q(5216),
       q(0),
       ],
    q(ojibwa) => [
@@ -46368,71 +46382,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ojitlan chinantec) => [
-      q(1722),
+      q(1723),
       q(0),
       ],
    q(okanagan) => [
-      q(5223),
+      q(5225),
       q(0),
       ],
    q(oki-no-erabu) => [
-      q(5234),
+      q(5236),
       q(0),
       ],
    q(okiek) => [
-      q(5229),
+      q(5231),
       q(0),
       ],
    q(oko-eni-osayen) => [
-      q(5237),
+      q(5239),
       q(0),
       ],
    q(oko-juwoi) => [
-      q(5230),
+      q(5232),
       q(0),
       ],
    q(okobo) => [
-      q(5224),
+      q(5226),
       q(0),
       ],
    q(okodia) => [
-      q(5225),
+      q(5227),
       q(0),
       ],
    q(okolod) => [
-      q(3567),
+      q(3569),
       q(0),
       ],
    q(okpamheri) => [
-      q(5286),
+      q(5288),
       q(0),
       ],
    q(okpe (northwestern edo)) => [
-      q(5240),
+      q(5242),
       q(0),
       ],
    q(okpe (southwestern edo)) => [
-      q(5226),
+      q(5228),
       q(0),
       ],
    q(oksapmin) => [
-      q(5288),
+      q(5290),
       q(0),
       ],
    q(oku) => [
-      q(5238),
+      q(5240),
       q(0),
       ],
    q(old aramaic (up to 700 bce)) => [
-      q(5185),
+      q(5187),
       q(0),
       ],
    q(old avar) => [
-      q(5186),
+      q(5188),
       q(0),
       ],
    q(old breton) => [
-      q(5193),
+      q(5195),
       q(0),
       ],
    q(old bulgarian) => [
@@ -46440,11 +46454,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(3),
       ],
    q(old burmese) => [
-      q(5192),
+      q(5194),
       q(0),
       ],
    q(old chinese) => [
-      q(5196),
+      q(5198),
       q(0),
       ],
    q(old church slavonic) => [
@@ -46452,11 +46466,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(4),
       ],
    q(old cornish) => [
-      q(5197),
+      q(5199),
       q(0),
       ],
    q(old dutch) => [
-      q(5201),
+      q(5203),
       q(0),
       ],
    q(old english (ca. 450-1100)) => [
@@ -46468,11 +46482,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old frisian) => [
-      q(5204),
+      q(5206),
       q(0),
       ],
    q(old georgian) => [
-      q(5208),
+      q(5210),
       q(0),
       ],
    q(old high german (ca. 750-1050)) => [
@@ -46480,11 +46494,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old hittite) => [
-      q(5212),
+      q(5214),
       q(0),
       ],
    q(old hungarian) => [
-      q(5213),
+      q(5215),
       q(0),
       ],
    q(old irish (to 900)) => [
@@ -46492,31 +46506,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old japanese) => [
-      q(5219),
+      q(5221),
       q(0),
       ],
    q(old kentish sign language) => [
-      q(5232),
+      q(5234),
       q(0),
       ],
    q(old korean (3rd-9th cent.)) => [
-      q(5235),
+      q(5237),
       q(0),
       ],
    q(old lithuanian) => [
-      q(5248),
+      q(5250),
       q(0),
       ],
    q(old manipuri) => [
-      q(5259),
+      q(5261),
       q(0),
       ],
    q(old marathi) => [
-      q(5260),
+      q(5262),
       q(0),
       ],
    q(old mon) => [
-      q(5264),
+      q(5266),
       q(0),
       ],
    q(old newari) => [
@@ -46528,7 +46542,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old nubian) => [
-      q(5279),
+      q(5281),
       q(0),
       ],
    q(old occitan (to 1500)) => [
@@ -46536,7 +46550,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(old ossetic) => [
-      q(5285),
+      q(5287),
       q(0),
       ],
    q(old persian (ca. 600-400 b.c.)) => [
@@ -46548,11 +46562,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old russian) => [
-      q(5303),
+      q(5305),
       q(0),
       ],
    q(old saxon) => [
-      q(5314),
+      q(5316),
       q(0),
       ],
    q(old slavonic) => [
@@ -46560,103 +46574,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(old spanish) => [
-      q(5311),
+      q(5313),
       q(0),
       ],
    q(old tamil) => [
-      q(5330),
+      q(5332),
       q(0),
       ],
    q(old tibetan) => [
-      q(5315),
+      q(5317),
       q(0),
       ],
    q(old turkish) => [
-      q(5319),
+      q(5321),
       q(0),
       ],
    q(old uighur) => [
-      q(5335),
+      q(5337),
       q(0),
       ],
    q(old welsh) => [
-      q(5338),
+      q(5340),
       q(0),
       ],
    q(olekha) => [
-      q(5243),
+      q(5245),
       q(0),
       ],
    q(olkol) => [
-      q(5244),
+      q(5246),
       q(0),
       ],
    q(olo) => [
-      q(5268),
+      q(5270),
       q(0),
       ],
    q(oloma) => [
-      q(5245),
+      q(5247),
       q(0),
       ],
    q(olrat) => [
-      q(5247),
+      q(5249),
       q(0),
       ],
    q(olu'bo) => [
-      q(4081),
+      q(4083),
       q(0),
       ],
    q(olukhayo) => [
-      q(3948),
+      q(3950),
       q(1),
       ],
    q(olulumo-ikom) => [
-      q(2942),
+      q(2943),
       q(0),
       ],
    q(oluluyia) => [
-      q(4090),
+      q(4092),
       q(1),
       ],
    q(olumarachi) => [
-      q(4044),
+      q(4046),
       q(1),
       ],
    q(olumarama) => [
-      q(4047),
+      q(4049),
       q(1),
       ],
    q(olunyole) => [
-      q(5156),
+      q(5158),
       q(1),
       ],
    q(olusamia) => [
-      q(4061),
+      q(4063),
       q(1),
       ],
    q(olushisa) => [
-      q(3950),
+      q(3952),
       q(1),
       ],
    q(oluta popoluca) => [
-      q(5495),
+      q(5497),
       q(0),
       ],
    q(olutsotso) => [
-      q(4072),
+      q(4074),
       q(1),
       ],
    q(oluwanga) => [
-      q(4098),
+      q(4100),
       q(1),
       ],
    q(omagua) => [
-      q(5253),
+      q(5255),
       q(0),
       ],
    q(omaha-ponca) => [
-      q(5249),
+      q(5251),
       q(0),
       ],
    q(omani arabic) => [
@@ -46664,23 +46678,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ombamba) => [
-      q(4137),
+      q(4139),
       q(0),
       ],
    q(ombo) => [
-      q(5256),
+      q(5258),
       q(0),
       ],
    q(omejes) => [
-      q(5252),
+      q(5254),
       q(0),
       ],
    q(ometepec nahuatl) => [
-      q(4874),
+      q(4876),
       q(0),
       ],
    q(omi) => [
-      q(5254),
+      q(5256),
       q(0),
       ],
    q(omie) => [
@@ -46688,7 +46702,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(omok) => [
-      q(5255),
+      q(5257),
       q(0),
       ],
    q(omotic languages) => [
@@ -46696,99 +46710,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(omotik) => [
-      q(5261),
+      q(5263),
       q(0),
       ],
    q(omurano) => [
-      q(5262),
+      q(5264),
       q(0),
       ],
    q(ona) => [
-      q(5265),
+      q(5267),
       q(0),
       ],
    q(oneida) => [
-      q(5267),
+      q(5269),
       q(0),
       ],
    q(ong) => [
-      q(5282),
+      q(5284),
       q(0),
       ],
    q(onge) => [
-      q(5283),
+      q(5285),
       q(0),
       ],
    q(onin) => [
-      q(5269),
+      q(5271),
       q(0),
       ],
    q(onin based pidgin) => [
-      q(5280),
+      q(5282),
       q(0),
       ],
    q(oniyan) => [
-      q(1448),
+      q(1449),
       q(1),
       ],
    q(onjob) => [
-      q(5270),
+      q(5272),
       q(0),
       ],
    q(ono) => [
-      q(5276),
+      q(5278),
       q(0),
       ],
    q(onobasulu) => [
-      q(5272),
+      q(5274),
       q(0),
       ],
    q(onondaga) => [
-      q(5273),
+      q(5275),
       q(0),
       ],
    q(ontenu) => [
-      q(5277),
+      q(5279),
       q(0),
       ],
    q(ontong java) => [
-      q(5221),
+      q(5223),
       q(0),
       ],
    q(oorlams) => [
-      q(5284),
+      q(5286),
       q(0),
       ],
    q(opao) => [
-      q(5289),
+      q(5291),
       q(0),
       ],
    q(opata) => [
-      q(5290),
+      q(5292),
       q(0),
       ],
    q(opuuo) => [
-      q(3892),
+      q(3894),
       q(0),
       ],
    q(orang kanaq) => [
-      q(5297),
+      q(5299),
       q(0),
       ],
    q(orang seletar) => [
-      q(5300),
+      q(5302),
       q(0),
       ],
    q(oraon sadri) => [
-      q(5955),
+      q(5957),
       q(0),
       ],
    q(orejon) => [
-      q(5294),
+      q(5296),
       q(0),
       ],
    q(oring) => [
-      q(5295),
+      q(5297),
       q(0),
       ],
    q(oriya) => [
@@ -46796,7 +46810,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(oriya (individual language)) => [
-      q(5306),
+      q(5308),
       q(0),
       ],
    q(oriya (macrolanguage)) => [
@@ -46804,51 +46818,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(orizaba nahuatl) => [
-      q(4955),
+      q(4957),
       q(0),
       ],
    q(orma) => [
-      q(5293),
+      q(5295),
       q(0),
       ],
    q(ormu) => [
-      q(5307),
+      q(5309),
       q(0),
       ],
    q(ormuri) => [
-      q(5302),
+      q(5304),
       q(0),
       ],
    q(oro) => [
-      q(5305),
+      q(5307),
       q(0),
       ],
    q(oro win) => [
-      q(5304),
+      q(5306),
       q(0),
       ],
    q(oroch) => [
-      q(5184),
+      q(5186),
       q(0),
       ],
    q(oroha) => [
-      q(5292),
+      q(5294),
       q(0),
       ],
    q(orok) => [
-      q(5183),
+      q(5185),
       q(0),
       ],
    q(orokaiva) => [
-      q(5239),
+      q(5241),
       q(0),
       ],
    q(oroko) => [
-      q(1108),
+      q(1109),
       q(0),
       ],
    q(orokolo) => [
-      q(5298),
+      q(5300),
       q(0),
       ],
    q(oromo) => [
@@ -46856,19 +46870,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(oroqen) => [
-      q(5296),
+      q(5298),
       q(0),
       ],
    q(orowe) => [
-      q(1381),
+      q(1382),
       q(0),
       ],
    q(oruma) => [
-      q(5299),
+      q(5301),
       q(0),
       ],
    q(orya) => [
-      q(6944),
+      q(6946),
       q(0),
       ],
    q(osage) => [
@@ -46876,19 +46890,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(osatu) => [
-      q(5312),
+      q(5314),
       q(0),
       ],
    q(oscan) => [
-      q(5308),
+      q(5310),
       q(0),
       ],
    q(osing) => [
-      q(5309),
+      q(5311),
       q(0),
       ],
    q(ososo) => [
-      q(5310),
+      q(5312),
       q(0),
       ],
    q(ossetian) => [
@@ -46900,15 +46914,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(ot danum) => [
-      q(5316),
+      q(5318),
       q(0),
       ],
    q(otank) => [
-      q(6952),
+      q(6954),
       q(0),
       ],
    q(oti) => [
-      q(5318),
+      q(5320),
       q(0),
       ],
    q(oto-manguean languages) => [
@@ -46920,11 +46934,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(otoro) => [
-      q(5324),
+      q(5326),
       q(0),
       ],
    q(ottawa) => [
-      q(5328),
+      q(5330),
       q(0),
       ],
    q(ottoman turkish (1500-1928)) => [
@@ -46932,131 +46946,131 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(otuho) => [
-      q(4029),
+      q(4031),
       q(0),
       ],
    q(otuke) => [
-      q(5327),
+      q(5329),
       q(0),
       ],
    q(ouma) => [
-      q(5336),
+      q(5338),
       q(0),
       ],
    q(oune) => [
-      q(5334),
+      q(5336),
       q(0),
       ],
    q(owa) => [
-      q(6264),
+      q(6266),
       q(0),
       ],
    q(owenia) => [
-      q(7234),
+      q(7236),
       q(0),
       ],
    q(owiniga) => [
-      q(5337),
+      q(5339),
       q(0),
       ],
    q(oy) => [
-      q(5339),
+      q(5341),
       q(0),
       ],
    q(oya'oya) => [
-      q(5342),
+      q(5344),
       q(0),
       ],
    q(oyda) => [
-      q(5340),
+      q(5342),
       q(0),
       ],
    q(ozolotepec zapotec) => [
-      q(7816),
+      q(7818),
       q(0),
       ],
    q(ozumacin chinantec) => [
-      q(1728),
+      q(1729),
       q(0),
       ],
    q(pa di) => [
-      q(5397),
+      q(5399),
       q(0),
       ],
    q(pa'a) => [
-      q(5583),
+      q(5585),
       q(0),
       ],
    q(pa'o) => [
-      q(1287),
+      q(1288),
       q(1),
       ],
    q(pa'o karen) => [
-      q(1287),
+      q(1288),
       q(0),
       ],
    q(pa-hng) => [
-      q(5433),
+      q(5435),
       q(0),
       ],
    q(paafang) => [
-      q(5421),
+      q(5423),
       q(0),
       ],
    q(paakantyi) => [
-      q(2139),
+      q(2140),
       q(0),
       ],
    q(paama) => [
-      q(5506),
+      q(5508),
       q(0),
       ],
    q(paasaal) => [
-      q(6036),
+      q(6038),
       q(0),
       ],
    q(pacahuara) => [
-      q(5393),
+      q(5395),
       q(0),
       ],
    q(pacaraos quechua) => [
-      q(5708),
+      q(5710),
       q(0),
       ],
    q(pacific gulf yupik) => [
-      q(2258),
+      q(2259),
       q(0),
       ],
    q(pacoh) => [
-      q(5345),
+      q(5347),
       q(0),
       ],
    q(padoe) => [
-      q(5399),
+      q(5401),
       q(0),
       ],
    q(paekche) => [
-      q(5474),
+      q(5476),
       q(0),
       ],
    q(paelignian) => [
-      q(5430),
+      q(5432),
       q(0),
       ],
    q(paez) => [
-      q(5362),
+      q(5364),
       q(0),
       ],
    q(pagi) => [
-      q(5427),
+      q(5429),
       q(0),
       ],
    q(pagibete) => [
-      q(5347),
+      q(5349),
       q(0),
       ],
    q(pagu) => [
-      q(5432),
+      q(5434),
       q(0),
       ],
    q(pahanan agta) => [
@@ -47064,15 +47078,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pahari-potwari) => [
-      q(5442),
+      q(5444),
       q(0),
       ],
    q(pahi) => [
-      q(3895),
+      q(3897),
       q(0),
       ],
    q(pahlavani) => [
-      q(5445),
+      q(5447),
       q(0),
       ],
    q(pahlavi) => [
@@ -47080,47 +47094,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pai tavytera) => [
-      q(5626),
+      q(5628),
       q(0),
       ],
    q(paici) => [
-      q(5592),
+      q(5594),
       q(0),
       ],
    q(paipai) => [
-      q(5572),
+      q(5574),
       q(0),
       ],
    q(paite chin) => [
-      q(5389),
+      q(5391),
       q(0),
       ],
    q(paiwan) => [
-      q(5664),
+      q(5666),
       q(0),
       ],
    q(pak-tong) => [
-      q(5475),
+      q(5477),
       q(0),
       ],
    q(pakaasnovos) => [
-      q(5357),
+      q(5359),
       q(0),
       ],
    q(pakanha) => [
-      q(5477),
+      q(5479),
       q(0),
       ],
    q(pakistan sign language) => [
-      q(5481),
+      q(5483),
       q(0),
       ],
    q(paku) => [
-      q(5483),
+      q(5485),
       q(0),
       ],
    q(paku karen) => [
-      q(3110),
+      q(3111),
       q(0),
       ],
    q(pal) => [
@@ -47128,15 +47142,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(palaic) => [
-      q(5497),
+      q(5499),
       q(0),
       ],
    q(palaka senoufo) => [
-      q(5498),
+      q(5500),
       q(0),
       ],
    q(palantla chinantec) => [
-      q(1830),
+      q(1831),
       q(0),
       ],
    q(palauan) => [
@@ -47144,11 +47158,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(paleni) => [
-      q(5537),
+      q(5539),
       q(0),
       ],
    q(palenquero) => [
-      q(5494),
+      q(5496),
       q(0),
       ],
    q(pali) => [
@@ -47156,63 +47170,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(palikur) => [
-      q(5501),
+      q(5503),
       q(0),
       ],
    q(paliyan) => [
-      q(5384),
+      q(5386),
       q(0),
       ],
    q(pallanganmiddang) => [
-      q(5509),
+      q(5511),
       q(0),
       ],
    q(palor) => [
-      q(2332),
+      q(2333),
       q(0),
       ],
    q(palpa) => [
-      q(5496),
+      q(5498),
       q(0),
       ],
    q(palu'e) => [
-      q(5488),
+      q(5490),
       q(0),
       ],
    q(paluan) => [
-      q(5505),
+      q(5507),
       q(0),
       ],
    q(palula) => [
-      q(5438),
+      q(5440),
       q(1),
       ],
    q(palumata) => [
-      q(5508),
+      q(5510),
       q(0),
       ],
    q(palya bareli) => [
-      q(1394),
+      q(1395),
       q(0),
       ],
    q(pam) => [
-      q(5518),
+      q(5520),
       q(0),
       ],
    q(pambia) => [
-      q(5507),
+      q(5509),
       q(0),
       ],
    q(pamlico) => [
-      q(5515),
+      q(5517),
       q(0),
       ],
    q(pamona) => [
-      q(5511),
+      q(5513),
       q(0),
       ],
    q(pamosu) => [
-      q(2757),
+      q(2758),
       q(0),
       ],
    q(pampanga) => [
@@ -47220,51 +47234,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pamplona atta) => [
-      q(0925),
+      q(0926),
       q(0),
       ],
    q(pana (burkina faso)) => [
-      q(5542),
+      q(5544),
       q(0),
       ],
    q(pana (central african republic)) => [
-      q(5551),
+      q(5553),
       q(0),
       ],
    q(panamanian sign language) => [
-      q(4063),
+      q(4065),
       q(0),
       ],
    q(panamint) => [
-      q(5354),
+      q(5356),
       q(0),
       ],
    q(panao huanuco quechua) => [
-      q(5721),
+      q(5723),
       q(0),
       ],
    q(panara) => [
-      q(3575),
+      q(3577),
       q(0),
       ],
    q(panasuan) => [
-      q(5616),
+      q(5618),
       q(0),
       ],
    q(panawa) => [
-      q(5660),
+      q(5662),
       q(0),
       ],
    q(pancana) => [
-      q(5541),
+      q(5543),
       q(0),
       ],
    q(panchpargania) => [
-      q(6427),
+      q(6429),
       q(0),
       ],
    q(pande) => [
-      q(1261),
+      q(1262),
       q(0),
       ],
    q(pangasinan) => [
@@ -47272,27 +47286,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pangseng) => [
-      q(5431),
+      q(5433),
       q(0),
       ],
    q(pangutaran sama) => [
-      q(6102),
+      q(6104),
       q(0),
       ],
    q(pangwa) => [
-      q(5373),
+      q(5375),
       q(0),
       ],
    q(pangwali) => [
-      q(5426),
+      q(5428),
       q(0),
       ],
    q(panim) => [
-      q(5543),
+      q(5545),
       q(0),
       ],
    q(paniya) => [
-      q(5385),
+      q(5387),
       q(0),
       ],
    q(panjabi) => [
@@ -47300,67 +47314,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pankarare) => [
-      q(5359),
+      q(5361),
       q(0),
       ],
    q(pankararu) => [
-      q(5361),
+      q(5363),
       q(0),
       ],
    q(pankhu) => [
-      q(5476),
+      q(5478),
       q(0),
       ],
    q(pannei) => [
-      q(5530),
+      q(5532),
       q(0),
       ],
    q(pano) => [
-      q(4503),
+      q(4505),
       q(0),
       ],
    q(panoan katukina) => [
-      q(3496),
+      q(3498),
       q(0),
       ],
    q(panobo) => [
-      q(5540),
+      q(5542),
       q(0),
       ],
    q(panyi bai) => [
-      q(1137),
+      q(1138),
       q(0),
       ],
    q(panytyima) => [
-      q(5548),
+      q(5550),
       q(0),
       ],
    q(pao) => [
-      q(5570),
+      q(5572),
       q(0),
       ],
    q(papantla totonac) => [
-      q(6644),
+      q(6646),
       q(0),
       ],
    q(papapana) => [
-      q(5576),
+      q(5578),
       q(0),
       ],
    q(papar) => [
-      q(2132),
+      q(2133),
       q(0),
       ],
    q(papasena) => [
-      q(5355),
+      q(5357),
       q(0),
       ],
    q(papel) => [
-      q(5371),
+      q(5373),
       q(0),
       ],
    q(papi) => [
-      q(5571),
+      q(5573),
       q(0),
       ],
    q(papiamento) => [
@@ -47368,11 +47382,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(papitalai) => [
-      q(5356),
+      q(5358),
       q(0),
       ],
    q(papora) => [
-      q(5582),
+      q(5584),
       q(0),
       ],
    q(papuan languages) => [
@@ -47380,11 +47394,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(papuan malay) => [
-      q(5526),
+      q(5528),
       q(0),
       ],
    q(papuma) => [
-      q(5575),
+      q(5577),
       q(0),
       ],
    q(para arara) => [
@@ -47392,95 +47406,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(para gaviao) => [
-      q(2674),
+      q(2675),
       q(0),
       ],
    q(para naga) => [
-      q(5676),
+      q(5678),
       q(0),
       ],
    q(parachi) => [
-      q(5586),
+      q(5588),
       q(0),
       ],
    q(paraguayan guarani) => [
-      q(2647),
+      q(2648),
       q(0),
       ],
    q(paraguayan sign language) => [
-      q(5672),
+      q(5674),
       q(0),
       ],
    q(parakana) => [
-      q(5351),
+      q(5353),
       q(0),
       ],
    q(paranan) => [
-      q(5589),
+      q(5591),
       q(0),
       ],
    q(paranawat) => [
-      q(5348),
+      q(5350),
       q(0),
       ],
    q(paraujano) => [
-      q(5366),
+      q(5368),
       q(0),
       ],
    q(parauk) => [
-      q(5593),
+      q(5595),
       q(0),
       ],
    q(parawen) => [
-      q(5603),
+      q(5605),
       q(0),
       ],
    q(pardhan) => [
-      q(5386),
+      q(5388),
       q(0),
       ],
    q(pardhi) => [
-      q(5390),
+      q(5392),
       q(0),
       ],
    q(pare) => [
-      q(5581),
+      q(5583),
       q(0),
       ],
    q(parecis) => [
-      q(5344),
+      q(5346),
       q(0),
       ],
    q(parenga) => [
-      q(5388),
+      q(5390),
       q(0),
       ],
    q(pari) => [
-      q(3949),
+      q(3951),
       q(0),
       ],
    q(parkari koli) => [
-      q(3688),
+      q(3690),
       q(0),
       ],
    q(parkwa) => [
-      q(5368),
+      q(5370),
       q(0),
       ],
    q(parsi) => [
-      q(5597),
+      q(5599),
       q(0),
       ],
    q(parsi-dari) => [
-      q(5587),
+      q(5589),
       q(0),
       ],
    q(parthian) => [
-      q(7467),
+      q(7469),
       q(0),
       ],
    q(parya) => [
-      q(5353),
+      q(5355),
       q(0),
       ],
    q(pashto) => [
@@ -47488,99 +47502,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(pasi) => [
-      q(5619),
+      q(5621),
       q(0),
       ],
    q(pass valley yali) => [
-      q(7575),
+      q(7577),
       q(0),
       ],
    q(patamona) => [
-      q(5363),
+      q(5365),
       q(0),
       ],
    q(patani) => [
-      q(5629),
+      q(5631),
       q(0),
       ],
    q(pataxo ha-ha-hae) => [
-      q(5627),
+      q(5629),
       q(0),
       ],
    q(patep) => [
-      q(5631),
+      q(5633),
       q(0),
       ],
    q(pathiya) => [
-      q(5638),
+      q(5640),
       q(0),
       ],
    q(patpatar) => [
-      q(2488),
+      q(2489),
       q(0),
       ],
    q(pattani) => [
-      q(3794),
+      q(3796),
       q(0),
       ],
    q(pattani malay) => [
-      q(4223),
+      q(4225),
       q(0),
       ],
    q(pattapu) => [
-      q(5632),
+      q(5634),
       q(0),
       ],
    q(patwin) => [
-      q(5662),
+      q(5664),
       q(0),
       ],
    q(paulohi) => [
-      q(5490),
+      q(5492),
       q(0),
       ],
    q(paumari) => [
-      q(5346),
+      q(5348),
       q(0),
       ],
    q(paunaka) => [
-      q(5536),
+      q(5538),
       q(0),
       ],
    q(pauri bareli) => [
-      q(1136),
+      q(1137),
       q(0),
       ],
    q(pauserna) => [
-      q(5615),
+      q(5617),
       q(0),
       ],
    q(pawaia) => [
-      q(5659),
+      q(5661),
       q(0),
       ],
    q(pawnee) => [
-      q(5358),
+      q(5360),
       q(0),
       ],
    q(paynamar) => [
-      q(5521),
+      q(5523),
       q(0),
       ],
    q(pe) => [
-      q(5350),
+      q(5352),
       q(0),
       ],
    q(pear) => [
-      q(5380),
+      q(5382),
       q(0),
       ],
    q(pech) => [
-      q(5360),
+      q(5362),
       q(0),
       ],
    q(pecheneg) => [
-      q(7456),
+      q(7458),
       q(0),
       ],
    q(pedi) => [
@@ -47588,19 +47602,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(peere) => [
-      q(5422),
+      q(5424),
       q(0),
       ],
    q(pei) => [
-      q(5579),
+      q(5581),
       q(0),
       ],
    q(pekal) => [
-      q(5412),
+      q(5414),
       q(0),
       ],
    q(pela) => [
-      q(1569),
+      q(1570),
       q(0),
       ],
    q(pele-ata) => [
@@ -47608,7 +47622,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pelende) => [
-      q(5578),
+      q(5580),
       q(0),
       ],
    q(pemon) => [
@@ -47616,55 +47630,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pemono) => [
-      q(5417),
+      q(5419),
       q(0),
       ],
    q(penang sign language) => [
-      q(5611),
+      q(5613),
       q(0),
       ],
    q(penchal) => [
-      q(5411),
+      q(5413),
       q(0),
       ],
    q(pendau) => [
-      q(6910),
+      q(6912),
       q(0),
       ],
    q(pengo) => [
-      q(5407),
+      q(5409),
       q(0),
       ],
    q(pennsylvania german) => [
-      q(5396),
+      q(5398),
       q(0),
       ],
    q(penoles mixtec) => [
-      q(4307),
+      q(4309),
       q(0),
       ],
    q(penrhyn) => [
-      q(5533),
+      q(5535),
       q(0),
       ],
    q(pentlatch) => [
-      q(5637),
+      q(5639),
       q(0),
       ],
    q(perai) => [
-      q(7110),
+      q(7112),
       q(0),
       ],
    q(peranakan indonesian) => [
-      q(5402),
+      q(5404),
       q(0),
       ],
    q(peripheral mongolian) => [
-      q(4603),
+      q(4605),
       q(0),
       ],
    q(pero) => [
-      q(5461),
+      q(5463),
       q(0),
       ],
    q(persian) => [
@@ -47672,7 +47686,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(persian sign language) => [
-      q(5608),
+      q(5610),
       q(0),
       ],
    q(persian, old (ca.600-400 b.c.)) => [
@@ -47680,55 +47694,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(peruvian sign language) => [
-      q(5594),
+      q(5596),
       q(0),
       ],
    q(petapa zapotec) => [
-      q(7916),
+      q(7918),
       q(0),
       ],
    q(petats) => [
-      q(5418),
+      q(5420),
       q(0),
       ],
    q(petjo) => [
-      q(5419),
+      q(5421),
       q(0),
       ],
    q(peve) => [
-      q(3978),
+      q(3980),
       q(0),
       ],
    q(pfaelzisch) => [
-      q(5423),
+      q(5425),
       q(0),
       ],
    q(phai) => [
-      q(5601),
+      q(5603),
       q(0),
       ],
    q(phake) => [
-      q(5437),
+      q(5439),
       q(0),
       ],
    q(phala) => [
-      q(7725),
+      q(7727),
       q(0),
       ],
    q(phalura) => [
-      q(5438),
+      q(5440),
       q(0),
       ],
    q(phana') => [
-      q(5441),
+      q(5443),
       q(0),
       ],
    q(phangduwali) => [
-      q(5446),
+      q(5448),
       q(0),
       ],
    q(phende) => [
-      q(5413),
+      q(5415),
       q(0),
       ],
    q(philippine languages) => [
@@ -47736,11 +47750,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(philippine sign language) => [
-      q(5618),
+      q(5620),
       q(0),
       ],
    q(phimbi) => [
-      q(5439),
+      q(5441),
       q(0),
       ],
    q(phoenician) => [
@@ -47748,127 +47762,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(phola) => [
-      q(7727),
+      q(7729),
       q(0),
       ],
    q(pholo) => [
-      q(7653),
+      q(7655),
       q(0),
       ],
    q(phom naga) => [
-      q(5033),
+      q(5035),
       q(0),
       ],
    q(phong-kniang) => [
-      q(5549),
+      q(5551),
       q(0),
       ],
    q(phrae pwo karen) => [
-      q(3395),
+      q(3397),
       q(0),
       ],
    q(phrygian) => [
-      q(7458),
+      q(7460),
       q(0),
       ],
    q(phu thai) => [
-      q(5443),
+      q(5445),
       q(0),
       ],
    q(phuan) => [
-      q(5444),
+      q(5446),
       q(0),
       ],
    q(phudagi) => [
-      q(5434),
+      q(5436),
       q(0),
       ],
    q(phuie) => [
-      q(5645),
+      q(5647),
       q(0),
       ],
    q(phukha) => [
-      q(5436),
+      q(5438),
       q(0),
       ],
    q(phuma) => [
-      q(7729),
+      q(7731),
       q(0),
       ],
    q(phunoi) => [
-      q(5440),
+      q(5442),
       q(0),
       ],
    q(phuong) => [
-      q(5435),
+      q(5437),
       q(0),
       ],
    q(phupa) => [
-      q(7732),
+      q(7734),
       q(0),
       ],
    q(phupha) => [
-      q(7728),
+      q(7730),
       q(0),
       ],
    q(phuza) => [
-      q(7733),
+      q(7735),
       q(0),
       ],
    q(piamatsina) => [
-      q(5633),
+      q(5635),
       q(0),
       ],
    q(piame) => [
-      q(5459),
+      q(5461),
       q(0),
       ],
    q(piapoco) => [
-      q(5460),
+      q(5462),
       q(0),
       ],
    q(piaroa) => [
-      q(5450),
+      q(5452),
       q(0),
       ],
    q(picard) => [
-      q(5382),
+      q(5384),
       q(0),
       ],
    q(pichis asheninka) => [
-      q(1838),
+      q(1839),
       q(0),
       ],
    q(pictish) => [
-      q(7459),
+      q(7461),
       q(0),
       ],
    q(pidgin delaware) => [
-      q(1997),
+      q(1998),
       q(0),
       ],
    q(piemontese) => [
-      q(5522),
+      q(5524),
       q(0),
       ],
    q(pijao) => [
-      q(5456),
+      q(5458),
       q(0),
       ],
    q(pije) => [
-      q(5470),
+      q(5472),
       q(0),
       ],
    q(pijin) => [
-      q(5463),
+      q(5465),
       q(0),
       ],
    q(pilaga) => [
-      q(5489),
+      q(5491),
       q(0),
       ],
    q(pileni) => [
-      q(5466),
+      q(5468),
       q(0),
       ],
    q(pilipino) => [
@@ -47876,167 +47890,167 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(pima bajo) => [
-      q(5447),
+      q(5449),
       q(0),
       ],
    q(pimbwe) => [
-      q(5467),
+      q(5469),
       q(0),
       ],
    q(pinai-hagahai) => [
-      q(5539),
+      q(5541),
       q(0),
       ],
    q(pingelapese) => [
-      q(5452),
+      q(5454),
       q(0),
       ],
    q(pini) => [
-      q(5455),
+      q(5457),
       q(0),
       ],
    q(pinigura) => [
-      q(5547),
+      q(5549),
       q(0),
       ],
    q(pinjarup) => [
-      q(5535),
+      q(5537),
       q(0),
       ],
    q(pinji) => [
-      q(5449),
+      q(5451),
       q(0),
       ],
    q(pinotepa nacional mixtec) => [
-      q(4309),
+      q(4311),
       q(0),
       ],
    q(pintiini) => [
-      q(5628),
+      q(5630),
       q(0),
       ],
    q(pintupi-luritja) => [
-      q(5465),
+      q(5467),
       q(0),
       ],
    q(pinyin) => [
-      q(5550),
+      q(5552),
       q(0),
       ],
    q(pipil) => [
-      q(5574),
+      q(5576),
       q(0),
       ],
    q(piraha) => [
-      q(4684),
+      q(4686),
       q(0),
       ],
    q(piratapuyo) => [
-      q(5462),
+      q(5464),
       q(0),
       ],
    q(pirlatapa) => [
-      q(1574),
+      q(1575),
       q(0),
       ],
    q(piro) => [
-      q(5451),
+      q(5453),
       q(0),
       ],
    q(pirriya) => [
-      q(7455),
+      q(7457),
       q(0),
       ],
    q(pisabo) => [
-      q(5453),
+      q(5455),
       q(0),
       ],
    q(pisaflores tepehua) => [
-      q(6665),
+      q(6667),
       q(0),
       ],
    q(piscataway) => [
-      q(5625),
+      q(5627),
       q(0),
       ],
    q(pisidian) => [
-      q(7468),
+      q(7470),
       q(0),
       ],
    q(pitcairn-norfolk) => [
-      q(5454),
+      q(5456),
       q(0),
       ],
    q(pite sami) => [
-      q(6056),
+      q(6058),
       q(0),
       ],
    q(piti) => [
-      q(5392),
+      q(5394),
       q(0),
       ],
    q(pitjantjatjara) => [
-      q(5471),
+      q(5473),
       q(0),
       ],
    q(pitta pitta) => [
-      q(5464),
+      q(5466),
       q(0),
       ],
    q(piu) => [
-      q(5468),
+      q(5470),
       q(0),
       ],
    q(piya-kwonci) => [
-      q(5469),
+      q(5471),
       q(0),
       ],
    q(plains cree) => [
-      q(1851),
+      q(1852),
       q(0),
       ],
    q(plains indian sign language) => [
-      q(5609),
+      q(5611),
       q(0),
       ],
    q(plains miwok) => [
-      q(5524),
+      q(5526),
       q(0),
       ],
    q(plapo krumen) => [
-      q(3627),
+      q(3629),
       q(0),
       ],
    q(plateau malagasy) => [
-      q(5500),
+      q(5502),
       q(0),
       ],
    q(plautdietsch) => [
-      q(5400),
+      q(5402),
       q(0),
       ],
    q(playero) => [
-      q(2585),
+      q(2586),
       q(0),
       ],
    q(pnar) => [
-      q(5377),
+      q(5379),
       q(0),
       ],
    q(pochuri naga) => [
-      q(5037),
+      q(5039),
       q(0),
       ],
    q(pochutec) => [
-      q(7464),
+      q(7466),
       q(0),
       ],
    q(podena) => [
-      q(5398),
+      q(5400),
       q(0),
       ],
    q(pogolo) => [
-      q(5569),
+      q(5571),
       q(0),
       ],
    q(pohnpeian) => [
@@ -48044,31 +48058,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(pokanga) => [
-      q(5559),
+      q(5561),
       q(0),
       ],
    q(poke) => [
-      q(5555),
+      q(5557),
       q(0),
       ],
    q(pokomo) => [
-      q(5473),
+      q(5475),
       q(0),
       ],
    q(pokoot) => [
-      q(5478),
+      q(5480),
       q(0),
       ],
    q(polabian) => [
-      q(5568),
+      q(5570),
       q(0),
       ],
    q(polari) => [
-      q(5487),
+      q(5489),
       q(0),
       ],
    q(polci) => [
-      q(5491),
+      q(5493),
       q(0),
       ],
    q(polish) => [
@@ -48076,67 +48090,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(polish sign language) => [
-      q(5617),
+      q(5619),
       q(0),
       ],
    q(polonombauk) => [
-      q(5485),
+      q(5487),
       q(0),
       ],
    q(pom) => [
-      q(5519),
+      q(5521),
       q(0),
       ],
    q(pomo) => [
-      q(5517),
+      q(5519),
       q(0),
       ],
    q(ponam) => [
-      q(4762),
+      q(4764),
       q(0),
       ],
    q(ponares) => [
-      q(5553),
+      q(5555),
       q(0),
       ],
    q(pongu) => [
-      q(5532),
+      q(5534),
       q(0),
       ],
    q(ponosakan) => [
-      q(5544),
+      q(5546),
       q(0),
       ],
    q(pontic) => [
-      q(5545),
+      q(5547),
       q(0),
       ],
    q(ponyo-gongwang naga) => [
-      q(5032),
+      q(5034),
       q(0),
       ],
    q(popti') => [
-      q(3041),
+      q(3042),
       q(0),
       ],
    q(poqomam) => [
-      q(5552),
+      q(5554),
       q(0),
       ],
    q(poqomchi') => [
-      q(5557),
+      q(5559),
       q(0),
       ],
    q(porohanon) => [
-      q(5591),
+      q(5593),
       q(0),
       ],
    q(port sandwich) => [
-      q(5624),
+      q(5626),
       q(0),
       ],
    q(port vato) => [
-      q(5636),
+      q(5638),
       q(0),
       ],
    q(portuguese) => [
@@ -48144,7 +48158,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(portuguese sign language) => [
-      q(5620),
+      q(5622),
       q(0),
       ],
    q(portuguese-based creoles and pidgins) => [
@@ -48152,39 +48166,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(potawatomi) => [
-      q(5565),
+      q(5567),
       q(0),
       ],
    q(potiguara) => [
-      q(5556),
+      q(5558),
       q(0),
       ],
    q(pottangi ollar gadaba) => [
-      q(2452),
+      q(2453),
       q(0),
       ],
    q(poule) => [
-      q(4539),
+      q(4541),
       q(1),
       ],
    q(poumei naga) => [
-      q(5525),
+      q(5527),
       q(0),
       ],
    q(pouye) => [
-      q(1593),
+      q(1594),
       q(0),
       ],
    q(powari) => [
-      q(5666),
+      q(5668),
       q(0),
       ],
    q(powhatan) => [
-      q(5458),
+      q(5460),
       q(0),
       ],
    q(poyanawa) => [
-      q(5671),
+      q(5673),
       q(0),
       ],
    q(prakrit languages) => [
@@ -48192,19 +48206,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(prasuni) => [
-      q(5596),
+      q(5598),
       q(0),
       ],
    q(pray 3) => [
-      q(5605),
+      q(5607),
       q(0),
       ],
    q(primitive irish) => [
-      q(5429),
+      q(5431),
       q(0),
       ],
    q(principense) => [
-      q(5588),
+      q(5590),
       q(0),
       ],
    q(provencal) => [
@@ -48216,107 +48230,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(providencia sign language) => [
-      q(5606),
+      q(5608),
       q(0),
       ],
    q(prussian) => [
-      q(5590),
+      q(5592),
       q(0),
       ],
    q(psikye) => [
-      q(3674),
+      q(3676),
       q(0),
       ],
    q(pu ko) => [
-      q(5648),
+      q(5650),
       q(0),
       ],
    q(pu-xian chinese) => [
-      q(1839),
+      q(1840),
       q(0),
       ],
    q(puare) => [
-      q(5657),
+      q(5659),
       q(0),
       ],
    q(pudtol atta) => [
-      q(0921),
+      q(0922),
       q(0),
       ],
    q(puelche) => [
-      q(5643),
+      q(5645),
       q(0),
       ],
    q(puerto rican sign language) => [
-      q(5614),
+      q(5616),
       q(0),
       ],
    q(puimei naga) => [
-      q(5039),
+      q(5041),
       q(0),
       ],
    q(puinave) => [
-      q(5646),
+      q(5648),
       q(0),
       ],
    q(pukapuka) => [
-      q(5479),
+      q(5481),
       q(0),
       ],
    q(pulaar) => [
-      q(2380),
+      q(2381),
       q(0),
       ],
    q(pulabu) => [
-      q(5651),
+      q(5653),
       q(0),
       ],
    q(pular) => [
-      q(2383),
+      q(2384),
       q(0),
       ],
    q(puluwatese) => [
-      q(5656),
+      q(5658),
       q(0),
       ],
    q(puma) => [
-      q(5649),
+      q(5651),
       q(0),
       ],
    q(pume) => [
-      q(7577),
+      q(7579),
       q(0),
       ],
    q(pumpokol) => [
-      q(7462),
+      q(7464),
       q(0),
       ],
    q(punan aput) => [
-      q(5642),
+      q(5644),
       q(0),
       ],
    q(punan bah-biau) => [
-      q(5528),
+      q(5530),
       q(0),
       ],
    q(punan batu 1) => [
-      q(5538),
+      q(5540),
       q(0),
       ],
    q(punan merah) => [
-      q(5644),
+      q(5646),
       q(0),
       ],
    q(punan merap) => [
-      q(5641),
+      q(5643),
       q(0),
       ],
    q(punan tubu) => [
-      q(5647),
+      q(5649),
       q(0),
       ],
    q(punic) => [
-      q(7470),
+      q(7472),
       q(0),
       ],
    q(punjabi) => [
@@ -48324,59 +48338,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(puno quechua) => [
-      q(5725),
+      q(5727),
       q(0),
       ],
    q(punthamara) => [
-      q(7469),
+      q(7471),
       q(0),
       ],
    q(punu) => [
-      q(5655),
+      q(5657),
       q(0),
       ],
    q(puoc) => [
-      q(5650),
+      q(5652),
       q(0),
       ],
    q(puquina) => [
-      q(5652),
+      q(5654),
       q(0),
       ],
    q(puragi) => [
-      q(5602),
+      q(5604),
       q(0),
       ],
    q(purari) => [
-      q(2886),
+      q(2887),
       q(0),
       ],
    q(purepecha) => [
-      q(6732),
+      q(6734),
       q(0),
       ],
    q(puri) => [
-      q(5599),
+      q(5601),
       q(0),
       ],
    q(purik) => [
-      q(5604),
+      q(5606),
       q(0),
       ],
    q(purisimeno) => [
-      q(5658),
+      q(5660),
       q(0),
       ],
    q(puroik) => [
-      q(6285),
+      q(6287),
       q(0),
       ],
    q(purubora) => [
-      q(5653),
+      q(5655),
       q(0),
       ],
    q(purum) => [
-      q(5640),
+      q(5642),
       q(0),
       ],
    q(pushto) => [
@@ -48384,11 +48398,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(putai) => [
-      q(4234),
+      q(4236),
       q(0),
       ],
    q(putoh) => [
-      q(5654),
+      q(5656),
       q(0),
       ],
    q(putukwam) => [
@@ -48396,79 +48410,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(puyo) => [
-      q(7471),
+      q(7473),
       q(0),
       ],
    q(puyo-paekche) => [
-      q(7465),
+      q(7467),
       q(0),
       ],
    q(puyuma) => [
-      q(5673),
+      q(5675),
       q(0),
       ],
    q(pwaamei) => [
-      q(5510),
+      q(5512),
       q(0),
       ],
    q(pwapwa) => [
-      q(5562),
+      q(5564),
       q(0),
       ],
    q(pwo eastern karen) => [
-      q(3391),
+      q(3393),
       q(0),
       ],
    q(pwo northern karen) => [
-      q(5667),
+      q(5669),
       q(0),
       ],
    q(pwo western karen) => [
-      q(5665),
+      q(5667),
       q(0),
       ],
    q(pyapun) => [
-      q(5394),
+      q(5396),
       q(0),
       ],
    q(pye krumen) => [
-      q(5669),
+      q(5671),
       q(0),
       ],
    q(pyen) => [
-      q(5675),
+      q(5677),
       q(0),
       ],
    q(pyu (myanmar)) => [
-      q(5674),
+      q(5676),
       q(0),
       ],
    q(pyu (papua new guinea)) => [
-      q(5378),
+      q(5380),
       q(0),
       ],
    q(q'anjob'al) => [
-      q(3377),
+      q(3379),
       q(0),
       ],
    q(qabiao) => [
-      q(3803),
+      q(3805),
       q(0),
       ],
    q(qaqet) => [
-      q(1610),
+      q(1611),
       q(0),
       ],
    q(qashqa'i) => [
-      q(5726),
+      q(5728),
       q(0),
       ],
    q(qatabanian) => [
-      q(7473),
+      q(7475),
       q(0),
       ],
    q(qau) => [
-      q(2612),
+      q(2613),
       q(0),
       ],
    q(qawasqar) => [
@@ -48476,7 +48490,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(qila muji) => [
-      q(7699),
+      q(7701),
       q(0),
       ],
    q(qimant) => [
@@ -48484,19 +48498,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(qiubei zhuang) => [
-      q(7938),
+      q(7940),
       q(0),
       ],
    q(quapaw) => [
-      q(5677),
+      q(5679),
       q(0),
       ],
    q(quebec sign language) => [
-      q(2339),
+      q(2340),
       q(0),
       ],
    q(quechan) => [
-      q(7771),
+      q(7773),
       q(0),
       ],
    q(quechua) => [
@@ -48508,71 +48522,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(quenya) => [
-      q(5732),
+      q(5734),
       q(0),
       ],
    q(queretaro otomi) => [
-      q(5323),
+      q(5325),
       q(0),
       ],
    q(quetzaltepec mixe) => [
-      q(5668),
+      q(5670),
       q(0),
       ],
    q(queyu) => [
-      q(5711),
+      q(5713),
       q(0),
       ],
    q(quiavicuzas zapotec) => [
-      q(7921),
+      q(7923),
       q(0),
       ],
    q(quiche) => [
-      q(5679),
+      q(5681),
       q(1),
       ],
    q(quileute) => [
-      q(5684),
+      q(5686),
       q(0),
       ],
    q(quinault) => [
-      q(5688),
+      q(5690),
       q(0),
       ],
    q(quinqui) => [
-      q(5690),
+      q(5692),
       q(0),
       ],
    q(quioquitani-quieri zapotec) => [
-      q(7957),
+      q(7959),
       q(0),
       ],
    q(quiotepec chinantec) => [
-      q(1724),
+      q(1725),
       q(0),
       ],
    q(quiripi) => [
-      q(5733),
+      q(5735),
       q(0),
       ],
    q(rabha) => [
-      q(5740),
+      q(5742),
       q(0),
       ],
    q(rade) => [
-      q(5737),
+      q(5739),
       q(0),
       ],
    q(raetic) => [
-      q(7483),
+      q(7485),
       q(0),
       ],
    q(rahambuu) => [
-      q(5755),
+      q(5757),
       q(0),
       ],
    q(rajah kabunsuwan manobo) => [
-      q(4488),
+      q(4490),
       q(0),
       ],
    q(rajasthani) => [
@@ -48580,75 +48594,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rajbanshi) => [
-      q(5795),
+      q(5797),
       q(0),
       ],
    q(raji) => [
-      q(5794),
+      q(5796),
       q(0),
       ],
    q(rajong) => [
-      q(5793),
+      q(5795),
       q(0),
       ],
    q(rajput garasia) => [
-      q(2613),
+      q(2614),
       q(0),
       ],
    q(rakahanga-manihiki) => [
-      q(5798),
+      q(5800),
       q(0),
       ],
    q(rakhine) => [
-      q(5799),
+      q(5801),
       q(0),
       ],
    q(ralte) => [
-      q(5743),
+      q(5745),
       q(0),
       ],
    q(rama) => [
-      q(5803),
+      q(5805),
       q(0),
       ],
    q(ramoaaina) => [
-      q(5741),
+      q(5743),
       q(0),
       ],
    q(ramopa) => [
-      q(3398),
+      q(3400),
       q(0),
       ],
    q(rampi) => [
-      q(3931),
+      q(3933),
       q(0),
       ],
    q(rana tharu) => [
-      q(6507),
+      q(6509),
       q(0),
       ],
    q(rang) => [
-      q(5753),
+      q(5755),
       q(0),
       ],
    q(rangkas) => [
-      q(5777),
+      q(5779),
       q(0),
       ],
    q(ranglong) => [
-      q(5830),
+      q(5832),
       q(0),
       ],
    q(rangpuri) => [
-      q(5801),
+      q(5803),
       q(0),
       ],
    q(rao) => [
-      q(5746),
+      q(5748),
       q(0),
       ],
    q(rapa) => [
-      q(5754),
+      q(5756),
       q(0),
       ],
    q(rapanui) => [
@@ -48656,15 +48670,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rapoisi) => [
-      q(3763),
+      q(3765),
       q(0),
       ],
    q(rapting) => [
-      q(5848),
+      q(5850),
       q(0),
       ],
    q(rara bakati') => [
-      q(4040),
+      q(4042),
       q(0),
       ],
    q(rarotongan) => [
@@ -48672,95 +48686,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rasawa) => [
-      q(5736),
+      q(5738),
       q(0),
       ],
    q(ratagnon) => [
-      q(1481),
+      q(1482),
       q(0),
       ],
    q(ratahan) => [
-      q(5856),
+      q(5858),
       q(0),
       ],
    q(rathawi) => [
-      q(5859),
+      q(5861),
       q(0),
       ],
    q(rathwi bareli) => [
-      q(1163),
+      q(1164),
       q(0),
       ],
    q(raute) => [
-      q(5750),
+      q(5752),
       q(0),
       ],
    q(ravula) => [
-      q(7619),
+      q(7621),
       q(0),
       ],
    q(rawa) => [
-      q(5877),
+      q(5879),
       q(0),
       ],
    q(rawang) => [
-      q(5752),
+      q(5754),
       q(0),
       ],
    q(rawat) => [
-      q(3131),
+      q(3132),
       q(0),
       ],
    q(rawngtu chin) => [
-      q(7111),
+      q(7113),
       q(0),
       ],
    q(rawo) => [
-      q(5874),
+      q(5876),
       q(0),
       ],
    q(rayon zoque) => [
-      q(7910),
+      q(7912),
       q(0),
       ],
    q(razajerdi) => [
-      q(5749),
+      q(5751),
       q(0),
       ],
    q(red gelao) => [
-      q(2523),
+      q(2524),
       q(0),
       ],
    q(reel) => [
-      q(0926),
+      q(0927),
       q(0),
       ],
    q(rejang) => [
-      q(5767),
+      q(5769),
       q(0),
       ],
    q(rejang kayan) => [
-      q(5764),
+      q(5766),
       q(0),
       ],
    q(reli) => [
-      q(5766),
+      q(5768),
       q(0),
       ],
    q(rema) => [
-      q(1370),
+      q(1371),
       q(0),
       ],
    q(rembarunga) => [
-      q(5804),
+      q(5806),
       q(0),
       ],
    q(rembong) => [
-      q(5763),
+      q(5765),
       q(0),
       ],
    q(remo) => [
-      q(5769),
+      q(5771),
       q(0),
       ],
    q(remontado dumagat) => [
@@ -48768,43 +48782,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(rempi) => [
-      q(5817),
+      q(5819),
       q(0),
       ],
    q(remun) => [
-      q(3944),
+      q(3946),
       q(0),
       ],
    q(rendille) => [
-      q(5768),
+      q(5770),
       q(0),
       ],
    q(rengao) => [
-      q(5770),
+      q(5772),
       q(0),
       ],
    q(rennell-bellona) => [
-      q(4430),
+      q(4432),
       q(0),
       ],
    q(rennellese sign language) => [
-      q(5853),
+      q(5855),
       q(0),
       ],
    q(repanbitip) => [
-      q(5847),
+      q(5849),
       q(0),
       ],
    q(rer bare) => [
-      q(5771),
+      q(5773),
       q(0),
       ],
    q(rerau) => [
-      q(5762),
+      q(5764),
       q(0),
       ],
    q(rerep) => [
-      q(5428),
+      q(5430),
       q(0),
       ],
    q(reserved for local use) => [
@@ -48812,99 +48826,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(reshe) => [
-      q(5772),
+      q(5774),
       q(0),
       ],
    q(resigaro) => [
-      q(5779),
+      q(5781),
       q(0),
       ],
    q(retta) => [
-      q(5773),
+      q(5775),
       q(0),
       ],
    q(reunion creole french) => [
-      q(5760),
+      q(5762),
       q(0),
       ],
    q(reyesano) => [
-      q(5774),
+      q(5776),
       q(0),
       ],
    q(riang (india)) => [
-      q(5784),
+      q(5786),
       q(0),
       ],
    q(riang (myanmar)) => [
-      q(5787),
+      q(5789),
       q(0),
       ],
    q(riantana) => [
-      q(5745),
+      q(5747),
       q(0),
       ],
    q(ribun) => [
-      q(5790),
+      q(5792),
       q(0),
       ],
    q(rien) => [
-      q(5785),
+      q(5787),
       q(0),
       ],
    q(rifao) => [
-      q(4982),
+      q(4984),
       q(1),
       ],
    q(rikbaktsa) => [
-      q(5797),
+      q(5799),
       q(0),
       ],
    q(rincon zapotec) => [
-      q(7818),
+      q(7820),
       q(0),
       ],
    q(rinconada bikol) => [
-      q(1482),
+      q(1483),
       q(0),
       ],
    q(ringgou) => [
-      q(5781),
+      q(5783),
       q(0),
       ],
    q(ririo) => [
-      q(5849),
+      q(5851),
       q(0),
       ],
    q(ritarungo) => [
-      q(5791),
+      q(5793),
       q(0),
       ],
    q(riung) => [
-      q(5792),
+      q(5794),
       q(0),
       ],
    q(riverain sango) => [
-      q(6140),
+      q(6142),
       q(0),
       ],
    q(rogo) => [
-      q(5837),
+      q(5839),
       q(0),
       ],
    q(rohingya) => [
-      q(5782),
+      q(5784),
       q(0),
       ],
    q(roma) => [
-      q(5814),
+      q(5816),
       q(0),
       ],
    q(romagnol) => [
-      q(5778),
+      q(5780),
       q(0),
       ],
    q(romam) => [
-      q(5824),
+      q(5826),
       q(0),
       ],
    q(romance languages) => [
@@ -48916,19 +48930,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(romanian sign language) => [
-      q(5819),
+      q(5821),
       q(0),
       ],
    q(romano-greek) => [
-      q(5776),
+      q(5778),
       q(0),
       ],
    q(romano-serbian) => [
-      q(5852),
+      q(5854),
       q(0),
       ],
    q(romanova) => [
-      q(5822),
+      q(5824),
       q(0),
       ],
    q(romansh) => [
@@ -48940,95 +48954,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(romblomanon) => [
-      q(5841),
+      q(5843),
       q(0),
       ],
    q(rombo) => [
-      q(5839),
+      q(5841),
       q(0),
       ],
    q(romkun) => [
-      q(5812),
+      q(5814),
       q(0),
       ],
    q(ron) => [
-      q(1768),
+      q(1769),
       q(0),
       ],
    q(ronga) => [
-      q(5829),
+      q(5831),
       q(0),
       ],
    q(rongga) => [
-      q(5844),
+      q(5846),
       q(0),
       ],
    q(rongmei naga) => [
-      q(4756),
+      q(4758),
       q(0),
       ],
    q(rongpo) => [
-      q(5832),
+      q(5834),
       q(0),
       ],
    q(ronji) => [
-      q(5838),
+      q(5840),
       q(0),
       ],
    q(roon) => [
-      q(5831),
+      q(5833),
       q(0),
       ],
    q(roria) => [
-      q(5775),
+      q(5777),
       q(0),
       ],
    q(rotokas) => [
-      q(5842),
+      q(5844),
       q(0),
       ],
    q(rotuman) => [
-      q(5857),
+      q(5859),
       q(0),
       ],
    q(roviana) => [
-      q(5864),
+      q(5866),
       q(0),
       ],
    q(ruching palaung) => [
-      q(5383),
+      q(5385),
       q(0),
       ],
    q(rudbari) => [
-      q(5761),
+      q(5763),
       q(0),
       ],
    q(rufiji) => [
-      q(5866),
+      q(5868),
       q(0),
       ],
    q(ruga) => [
-      q(5865),
+      q(5867),
       q(0),
       ],
    q(rukai) => [
-      q(2146),
+      q(2147),
       q(0),
       ],
    q(ruma) => [
-      q(5873),
+      q(5875),
       q(0),
       ],
    q(rumai palaung) => [
-      q(5756),
+      q(5758),
       q(0),
       ],
    q(rumu) => [
-      q(3443),
+      q(3445),
       q(0),
       ],
    q(runa) => [
-      q(5827),
+      q(5829),
       q(0),
       ],
    q(rundi) => [
@@ -49036,23 +49050,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(runga) => [
-      q(5845),
+      q(5847),
       q(0),
       ],
    q(rungtu chin) => [
-      q(5855),
+      q(5857),
       q(0),
       ],
    q(rungus) => [
-      q(2137),
+      q(2138),
       q(0),
       ],
    q(rungwa) => [
-      q(5834),
+      q(5836),
       q(0),
       ],
    q(russia buriat) => [
-      q(1583),
+      q(1584),
       q(0),
       ],
    q(russian) => [
@@ -49060,35 +49074,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(russian sign language) => [
-      q(5854),
+      q(5856),
       q(0),
       ],
    q(rusyn) => [
-      q(5862),
+      q(5864),
       q(0),
       ],
    q(rutul) => [
-      q(5870),
+      q(5872),
       q(0),
       ],
    q(ruuli) => [
-      q(5861),
+      q(5863),
       q(0),
       ],
    q(ruund) => [
-      q(5828),
+      q(5830),
       q(0),
       ],
    q(rwa) => [
-      q(5875),
+      q(5877),
       q(0),
       ],
    q(s'gaw karen) => [
-      q(3614),
+      q(3616),
       q(0),
       ],
    q(sa) => [
-      q(5897),
+      q(5899),
       q(0),
       ],
    q(sa'a) => [
@@ -49096,83 +49110,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sa'ban) => [
-      q(6150),
+      q(6152),
       q(0),
       ],
    q(sa'och) => [
-      q(5935),
+      q(5937),
       q(0),
       ],
    q(saafi-saafi) => [
-      q(5895),
+      q(5897),
       q(0),
       ],
    q(saam) => [
-      q(5747),
+      q(5749),
       q(0),
       ],
    q(saamia) => [
-      q(4061),
+      q(4063),
       q(0),
       ],
    q(saaroa) => [
-      q(6329),
+      q(6331),
       q(0),
       ],
    q(saba) => [
-      q(5884),
+      q(5886),
       q(0),
       ],
    q(sabaean) => [
-      q(7487),
+      q(7489),
       q(0),
       ],
    q(sabah bisaya) => [
-      q(1469),
+      q(1470),
       q(0),
       ],
    q(sabah malay) => [
-      q(4536),
+      q(4538),
       q(0),
       ],
    q(sabane) => [
-      q(5887),
+      q(5889),
       q(0),
       ],
    q(sabaot) => [
-      q(6195),
+      q(6197),
       q(0),
       ],
    q(sabine) => [
-      q(5921),
+      q(5923),
       q(0),
       ],
    q(sabu) => [
-      q(2877),
+      q(2878),
       q(0),
       ],
    q(sabum) => [
-      q(5914),
+      q(5916),
       q(0),
       ],
    q(sacapulteco) => [
-      q(5693),
+      q(5695),
       q(0),
       ],
    q(sadri) => [
-      q(5932),
+      q(5934),
       q(0),
       ],
    q(saek) => [
-      q(6070),
+      q(6072),
       q(0),
       ],
    q(saep) => [
-      q(6178),
+      q(6180),
       q(0),
       ],
    q(safaliba) => [
-      q(5888),
+      q(5890),
       q(0),
       ],
    q(safeyoka) => [
@@ -49180,23 +49194,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(safwa) => [
-      q(5910),
+      q(5912),
       q(0),
       ],
    q(sagala) => [
-      q(5912),
+      q(5914),
       q(0),
       ],
    q(sagalla) => [
-      q(6473),
+      q(6475),
       q(0),
       ],
    q(saho) => [
-      q(6250),
+      q(6252),
       q(0),
       ],
    q(sahu) => [
-      q(5889),
+      q(5891),
       q(0),
       ],
    q(saidi arabic) => [
@@ -49208,23 +49222,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(saisiyat) => [
-      q(7504),
+      q(7506),
       q(0),
       ],
    q(sajalong) => [
-      q(6059),
+      q(6061),
       q(0),
       ],
    q(sajau basap) => [
-      q(6054),
+      q(6056),
       q(0),
       ],
    q(sakachep) => [
-      q(5930),
+      q(5932),
       q(0),
       ],
    q(sakalava malagasy) => [
-      q(6075),
+      q(6077),
       q(0),
       ],
    q(sakan) => [
@@ -49232,59 +49246,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(sakao) => [
-      q(6088),
+      q(6090),
       q(0),
       ],
    q(sakata) => [
-      q(6087),
+      q(6089),
       q(0),
       ],
    q(sake) => [
-      q(5890),
+      q(5892),
       q(0),
       ],
    q(sakirabia) => [
-      q(6074),
+      q(6076),
       q(0),
       ],
    q(sala) => [
-      q(6022),
+      q(6024),
       q(0),
       ],
    q(salako) => [
-      q(3500),
+      q(3502),
       q(1),
       ],
    q(salampasu) => [
-      q(6111),
+      q(6113),
       q(0),
       ],
    q(salar) => [
-      q(6106),
+      q(6108),
       q(0),
       ],
    q(salas) => [
-      q(6003),
+      q(6005),
       q(0),
       ],
    q(salasaca highland quichua) => [
-      q(5722),
+      q(5724),
       q(0),
       ],
    q(salchuq) => [
-      q(6105),
+      q(6107),
       q(0),
       ],
    q(saleman) => [
-      q(5894),
+      q(5896),
       q(0),
       ],
    q(saliba) => [
-      q(5904),
+      q(5906),
       q(0),
       ],
    q(salinan) => [
-      q(6103),
+      q(6105),
       q(0),
       ],
    q(salishan languages) => [
@@ -49292,35 +49306,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sallands) => [
-      q(5960),
+      q(5962),
       q(0),
       ],
    q(salt-yui) => [
-      q(6101),
+      q(6103),
       q(0),
       ],
    q(saluan) => [
-      q(4015),
+      q(4017),
       q(0),
       ],
    q(saluma) => [
-      q(6100),
+      q(6102),
       q(0),
       ],
    q(salvadoran sign language) => [
-      q(2296),
+      q(2297),
       q(0),
       ],
    q(sam) => [
-      q(6152),
+      q(6154),
       q(0),
       ],
    q(sama) => [
-      q(6116),
+      q(6118),
       q(0),
       ],
    q(samaritan) => [
-      q(6123),
+      q(6125),
       q(0),
       ],
    q(samaritan aramaic) => [
@@ -49328,51 +49342,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samarokena) => [
-      q(6593),
+      q(6595),
       q(0),
       ],
    q(samatao) => [
-      q(7746),
+      q(7748),
       q(0),
       ],
    q(samay) => [
-      q(6343),
+      q(6345),
       q(0),
       ],
    q(samba) => [
-      q(6130),
+      q(6132),
       q(0),
       ],
    q(samba daka) => [
-      q(1683),
+      q(1684),
       q(0),
       ],
    q(samba leko) => [
-      q(4789),
+      q(4791),
       q(0),
       ],
    q(sambal) => [
-      q(7488),
+      q(7490),
       q(0),
       ],
    q(sambalpuri) => [
-      q(6193),
+      q(6195),
       q(0),
       ],
    q(sambe) => [
-      q(7271),
+      q(7273),
       q(0),
       ],
    q(samberigi) => [
-      q(6249),
+      q(6251),
       q(0),
       ],
    q(samburu) => [
-      q(5892),
+      q(5894),
       q(0),
       ],
    q(samei) => [
-      q(6119),
+      q(6121),
       q(0),
       ],
    q(sami languages) => [
@@ -49380,7 +49394,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samo) => [
-      q(6124),
+      q(6126),
       q(0),
       ],
    q(samoan) => [
@@ -49388,11 +49402,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(samogitian) => [
-      q(6001),
+      q(6003),
       q(0),
       ],
    q(samosa) => [
-      q(6307),
+      q(6309),
       q(0),
       ],
    q(samoyedic languages) => [
@@ -49400,127 +49414,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sampang) => [
-      q(5751),
+      q(5753),
       q(0),
       ],
    q(samre) => [
-      q(6326),
+      q(6328),
       q(0),
       ],
    q(samtao) => [
-      q(6271),
+      q(6273),
       q(0),
       ],
    q(samvedi) => [
-      q(6128),
+      q(6130),
       q(0),
       ],
    q(san agustin mixtepec zapotec) => [
-      q(7954),
+      q(7956),
       q(0),
       ],
    q(san baltazar loxicha zapotec) => [
-      q(7935),
+      q(7937),
       q(0),
       ],
    q(san blas kuna) => [
-      q(1909),
+      q(1910),
       q(0),
       ],
    q(san dionisio del mar huave) => [
-      q(2875),
+      q(2876),
       q(0),
       ],
    q(san felipe otlaltepec popoloca) => [
-      q(5567),
+      q(5569),
       q(0),
       ],
    q(san francisco del mar huave) => [
-      q(2854),
+      q(2855),
       q(0),
       ],
    q(san francisco matlatzinca) => [
-      q(4120),
+      q(4122),
       q(0),
       ],
    q(san jeronimo tecoatl mazatec) => [
-      q(4113),
+      q(4115),
       q(0),
       ],
    q(san juan atzingo popoloca) => [
-      q(5554),
+      q(5556),
       q(0),
       ],
    q(san juan colorado mixtec) => [
-      q(4319),
+      q(4321),
       q(0),
       ],
    q(san juan guelavia zapotec) => [
-      q(7804),
+      q(7806),
       q(0),
       ],
    q(san juan teita mixtec) => [
-      q(7513),
+      q(7515),
       q(0),
       ],
    q(san luis temalacayuca popoloca) => [
-      q(5580),
+      q(5582),
       q(0),
       ],
    q(san marcos tlacoyalco popoloca) => [
-      q(5499),
+      q(5501),
       q(0),
       ],
    q(san marcos tlalcoyalco popoloca) => [
-      q(5499),
+      q(5501),
       q(1),
       ],
    q(san martin itunyoso triqui) => [
-      q(6701),
+      q(6703),
       q(0),
       ],
    q(san martin quechua) => [
-      q(5709),
+      q(5711),
       q(0),
       ],
    q(san mateo del mar huave) => [
-      q(2869),
+      q(2870),
       q(0),
       ],
    q(san miguel creole french) => [
-      q(5928),
+      q(5930),
       q(0),
       ],
    q(san miguel el grande mixtec) => [
-      q(4302),
+      q(4304),
       q(0),
       ],
    q(san miguel piedras mixtec) => [
-      q(7518),
+      q(7520),
       q(0),
       ],
    q(san pedro amuzgos amuzgo) => [
-      q(1014),
+      q(1015),
       q(0),
       ],
    q(san pedro quiatoni zapotec) => [
-      q(7917),
+      q(7919),
       q(0),
       ],
    q(san salvador kongo) => [
-      q(3714),
+      q(3716),
       q(0),
       ],
    q(san vicente coatlan zapotec) => [
-      q(7931),
+      q(7933),
       q(0),
       ],
    q(sanaani arabic) => [
-      q(1001),
+      q(1002),
       q(0),
       ],
    q(sanapana) => [
-      q(6185),
+      q(6187),
       q(0),
       ],
    q(sandawe) => [
@@ -49528,35 +49542,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sanga (democratic republic of congo)) => [
-      q(6137),
+      q(6139),
       q(0),
       ],
    q(sanga (nigeria)) => [
-      q(7496),
+      q(7498),
       q(0),
       ],
    q(sanggau) => [
-      q(5929),
+      q(5931),
       q(0),
       ],
    q(sangil) => [
-      q(6141),
+      q(6143),
       q(0),
       ],
    q(sangir) => [
-      q(6327),
+      q(6329),
       q(0),
       ],
    q(sangisari) => [
-      q(6000),
+      q(6002),
       q(0),
       ],
    q(sangkong) => [
-      q(5997),
+      q(5999),
       q(0),
       ],
    q(sanglechi) => [
-      q(6006),
+      q(6008),
       q(0),
       ],
    q(sango) => [
@@ -49564,35 +49578,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sangtam naga) => [
-      q(5064),
+      q(5066),
       q(0),
       ],
    q(sangu (gabon)) => [
-      q(6146),
+      q(6148),
       q(0),
       ],
    q(sangu (tanzania)) => [
-      q(5915),
+      q(5917),
       q(0),
       ],
    q(sani) => [
-      q(7749),
+      q(7751),
       q(0),
       ],
    q(sanie) => [
-      q(7754),
+      q(7756),
       q(0),
       ],
    q(saniyo-hiyewe) => [
-      q(6153),
+      q(6155),
       q(0),
       ],
    q(sankaran maninka) => [
-      q(4530),
+      q(4532),
       q(0),
       ],
    q(sansi) => [
-      q(6235),
+      q(6237),
       q(0),
       ],
    q(sanskrit) => [
@@ -49600,43 +49614,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(santa ana de tusi pasco quechua) => [
-      q(5729),
+      q(5731),
       q(0),
       ],
    q(santa catarina albarradas zapotec) => [
-      q(7955),
+      q(7957),
       q(0),
       ],
    q(santa ines ahuatempan popoloca) => [
-      q(5379),
+      q(5381),
       q(0),
       ],
    q(santa ines yatzechi zapotec) => [
-      q(7925),
+      q(7927),
       q(0),
       ],
    q(santa lucia monteverde mixtec) => [
-      q(4195),
+      q(4197),
       q(0),
       ],
    q(santa maria del mar huave) => [
-      q(2878),
+      q(2879),
       q(0),
       ],
    q(santa maria la alta nahuatl) => [
-      q(4880),
+      q(4882),
       q(0),
       ],
    q(santa maria quiegolani zapotec) => [
-      q(7920),
+      q(7922),
       q(0),
       ],
    q(santa maria zacatepec mixtec) => [
-      q(4692),
+      q(4694),
       q(0),
       ],
    q(santa teresa cora) => [
-      q(1817),
+      q(1818),
       q(0),
       ],
    q(santali) => [
@@ -49644,95 +49658,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(santiago del estero quichua) => [
-      q(5692),
+      q(5694),
       q(0),
       ],
    q(santiago xanica zapotec) => [
-      q(7929),
+      q(7931),
       q(0),
       ],
    q(santo domingo albarradas zapotec) => [
-      q(7819),
+      q(7821),
       q(0),
       ],
    q(sanuma) => [
-      q(7502),
+      q(7504),
       q(0),
       ],
    q(sao paulo kaingang) => [
-      q(7864),
+      q(7866),
       q(0),
       ],
    q(saotomense) => [
-      q(1849),
+      q(1850),
       q(0),
       ],
    q(saparua) => [
-      q(6189),
+      q(6191),
       q(0),
       ],
    q(sape) => [
-      q(6177),
+      q(6179),
       q(0),
       ],
    q(sapo) => [
-      q(3582),
+      q(3584),
       q(0),
       ],
    q(saponi) => [
-      q(6181),
+      q(6183),
       q(0),
       ],
    q(saposa) => [
-      q(6190),
+      q(6192),
       q(0),
       ],
    q(sapuan) => [
-      q(6192),
+      q(6194),
       q(0),
       ],
    q(sar) => [
-      q(4632),
+      q(4634),
       q(0),
       ],
    q(sara) => [
-      q(6210),
+      q(6212),
       q(0),
       ],
    q(sara kaba) => [
-      q(5925),
+      q(5927),
       q(0),
       ],
    q(sara kaba deme) => [
-      q(3697),
+      q(3699),
       q(0),
       ],
    q(sara kaba naa) => [
-      q(3711),
+      q(3713),
       q(0),
       ],
    q(saraiki) => [
-      q(6085),
+      q(6087),
       q(0),
       ],
    q(saramaccan) => [
-      q(6217),
+      q(6219),
       q(0),
       ],
    q(sarangani blaan) => [
-      q(1389),
+      q(1390),
       q(0),
       ],
    q(sarangani manobo) => [
-      q(4143),
+      q(4145),
       q(0),
       ],
    q(sarasira) => [
-      q(7945),
+      q(7947),
       q(0),
       ],
    q(saraveca) => [
-      q(5893),
+      q(5895),
       q(0),
       ],
    q(sardinian) => [
@@ -49744,31 +49758,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sarikoli) => [
-      q(6213),
+      q(6215),
       q(0),
       ],
    q(sarli) => [
-      q(5945),
+      q(5947),
       q(0),
       ],
    q(sarsi) => [
-      q(6220),
+      q(6222),
       q(0),
       ],
    q(sartang) => [
-      q(5274),
+      q(5276),
       q(0),
       ],
    q(sarua) => [
-      q(6319),
+      q(6321),
       q(0),
       ],
    q(sarudu) => [
-      q(5958),
+      q(5960),
       q(0),
       ],
    q(saruga) => [
-      q(6207),
+      q(6209),
       q(0),
       ],
    q(sasak) => [
@@ -49776,83 +49790,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sasaru) => [
-      q(6330),
+      q(6332),
       q(0),
       ],
    q(sassarese sardinian) => [
-      q(5943),
+      q(5945),
       q(0),
       ],
    q(satawalese) => [
-      q(6273),
+      q(6275),
       q(0),
       ],
    q(satere-mawe) => [
-      q(4122),
+      q(4124),
       q(0),
       ],
    q(saterfriesisch) => [
-      q(6267),
+      q(6269),
       q(0),
       ],
    q(saudi arabian sign language) => [
-      q(5950),
+      q(5952),
       q(0),
       ],
    q(sauraseni prakrit) => [
-      q(5623),
+      q(5625),
       q(0),
       ],
    q(saurashtra) => [
-      q(5899),
+      q(5901),
       q(0),
       ],
    q(sauri) => [
-      q(6221),
+      q(6223),
       q(0),
       ],
    q(sauria paharia) => [
-      q(4335),
+      q(4337),
       q(0),
       ],
    q(sause) => [
-      q(5891),
+      q(5893),
       q(0),
       ],
    q(sausi) => [
-      q(6236),
+      q(6238),
       q(0),
       ],
    q(savara) => [
-      q(6295),
+      q(6297),
       q(0),
       ],
    q(savi) => [
-      q(5946),
+      q(5948),
       q(0),
       ],
    q(savosavo) => [
-      q(6296),
+      q(6298),
       q(0),
       ],
    q(sawai) => [
-      q(6355),
+      q(6357),
       q(0),
       ],
    q(saweru) => [
-      q(6312),
+      q(6314),
       q(0),
       ],
    q(sawi) => [
-      q(5896),
+      q(5898),
       q(0),
       ],
    q(sawila) => [
-      q(6314),
+      q(6316),
       q(0),
       ],
    q(sawknah) => [
-      q(6308),
+      q(6310),
       q(0),
       ],
    q(saxon, low) => [
@@ -49860,15 +49874,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(3),
       ],
    q(saxwe gbe) => [
-      q(6332),
+      q(6334),
       q(0),
       ],
    q(saya) => [
-      q(5898),
+      q(5900),
       q(0),
       ],
    q(sayula popoluca) => [
-      q(5564),
+      q(5566),
       q(0),
       ],
    q(scots) => [
@@ -49880,139 +49894,139 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(scythian) => [
-      q(7489),
+      q(7491),
       q(0),
       ],
    q(sea island creole english) => [
-      q(2651),
+      q(2652),
       q(0),
       ],
    q(seba) => [
-      q(3238),
+      q(3240),
       q(0),
       ],
    q(sebat bet gurage) => [
-      q(6004),
+      q(6006),
       q(0),
       ],
    q(seberuang) => [
-      q(5923),
+      q(5925),
       q(0),
       ],
    q(sebop) => [
-      q(6033),
+      q(6035),
       q(0),
       ],
    q(sebuyau) => [
-      q(6133),
+      q(6135),
       q(0),
       ],
    q(sechelt) => [
-      q(5963),
+      q(5965),
       q(0),
       ],
    q(secoya) => [
-      q(5982),
+      q(5984),
       q(0),
       ],
    q(sedang) => [
-      q(5964),
+      q(5966),
       q(0),
       ],
    q(sedoa) => [
-      q(6788),
+      q(6790),
       q(0),
       ],
    q(seeku) => [
-      q(6169),
+      q(6171),
       q(0),
       ],
    q(segai) => [
-      q(5992),
+      q(5994),
       q(0),
       ],
    q(segeju) => [
-      q(5967),
+      q(5969),
       q(0),
       ],
    q(seget) => [
-      q(5906),
+      q(5908),
       q(0),
       ],
    q(sehwi) => [
-      q(5988),
+      q(5990),
       q(0),
       ],
    q(seimat) => [
-      q(6233),
+      q(6235),
       q(0),
       ],
    q(seit-kaitetu) => [
-      q(2760),
+      q(2761),
       q(0),
       ],
    q(sekani) => [
-      q(5971),
+      q(5973),
       q(0),
       ],
    q(sekapan) => [
-      q(6083),
+      q(6085),
       q(0),
       ],
    q(sekar) => [
-      q(6093),
+      q(6095),
       q(0),
       ],
    q(seke (nepal)) => [
-      q(6078),
+      q(6080),
       q(0),
       ],
    q(seke (vanuatu)) => [
-      q(6073),
+      q(6075),
       q(0),
       ],
    q(sekele) => [
-      q(6973),
+      q(6975),
       q(0),
       ],
    q(seki) => [
-      q(6335),
+      q(6337),
       q(0),
       ],
    q(seko padang) => [
-      q(6091),
+      q(6093),
       q(0),
       ],
    q(seko tengah) => [
-      q(6082),
+      q(6084),
       q(0),
       ],
    q(sekpele) => [
-      q(3920),
+      q(3922),
       q(0),
       ],
    q(selangor sign language) => [
-      q(3314),
+      q(3316),
       q(0),
       ],
    q(selaru) => [
-      q(6109),
+      q(6111),
       q(0),
       ],
    q(selayar) => [
-      q(6112),
+      q(6114),
       q(0),
       ],
    q(selee) => [
-      q(6151),
+      q(6153),
       q(0),
       ],
    q(selepet) => [
-      q(6183),
+      q(6185),
       q(0),
       ],
    q(selian) => [
-      q(6325),
+      q(6327),
       q(0),
       ],
    q(selkup) => [
@@ -50020,35 +50034,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(selungai murut) => [
-      q(6097),
+      q(6099),
       q(0),
       ],
    q(seluwasan) => [
-      q(6313),
+      q(6315),
       q(0),
       ],
    q(semai) => [
-      q(5961),
+      q(5963),
       q(0),
       ],
    q(semandang) => [
-      q(5951),
+      q(5953),
       q(0),
       ],
    q(semaq beri) => [
-      q(6347),
+      q(6349),
       q(0),
       ],
    q(sembakung murut) => [
-      q(5917),
+      q(5919),
       q(0),
       ],
    q(semelai) => [
-      q(6345),
+      q(6347),
       q(0),
       ],
    q(semimi) => [
-      q(2312),
+      q(2313),
       q(0),
       ],
    q(semitic languages) => [
@@ -50056,83 +50070,83 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(semnam) => [
-      q(6239),
+      q(6241),
       q(0),
       ],
    q(semnani) => [
-      q(6131),
+      q(6133),
       q(0),
       ],
    q(sempan) => [
-      q(7491),
+      q(7493),
       q(0),
       ],
    q(sena) => [
-      q(5968),
+      q(5970),
       q(0),
       ],
    q(senara senoufo) => [
-      q(5975),
+      q(5977),
       q(0),
       ],
    q(senaya) => [
-      q(6339),
+      q(6341),
       q(0),
       ],
    q(sene) => [
-      q(5970),
+      q(5972),
       q(0),
       ],
    q(seneca) => [
-      q(5965),
+      q(5967),
       q(0),
       ],
    q(sened) => [
-      q(5956),
+      q(5958),
       q(0),
       ],
    q(sengele) => [
-      q(6350),
+      q(6352),
       q(0),
       ],
    q(senggi) => [
-      q(6149),
+      q(6151),
       q(0),
       ],
    q(sengo) => [
-      q(6182),
+      q(6184),
       q(0),
       ],
    q(sengseng) => [
-      q(6251),
+      q(6253),
       q(0),
       ],
    q(senhaja de srair) => [
-      q(6065),
+      q(6067),
       q(0),
       ],
    q(sensi) => [
-      q(6139),
+      q(6141),
       q(0),
       ],
    q(sentani) => [
-      q(5978),
+      q(5980),
       q(0),
       ],
    q(senthang chin) => [
-      q(5983),
+      q(5985),
       q(0),
       ],
    q(sentinel) => [
-      q(6254),
+      q(6256),
       q(0),
       ],
    q(sepa (indonesia)) => [
-      q(6176),
+      q(6178),
       q(0),
       ],
    q(sepa (papua new guinea)) => [
-      q(6179),
+      q(6181),
       q(0),
       ],
    q(sepedi) => [
@@ -50140,15 +50154,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(sepik iwam) => [
-      q(3030),
+      q(3031),
       q(0),
       ],
    q(sera) => [
-      q(6226),
+      q(6228),
       q(0),
       ],
    q(seraiki) => [
-      q(6085),
+      q(6087),
       q(1),
       ],
    q(serbian) => [
@@ -50160,7 +50174,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sere) => [
-      q(6300),
+      q(6302),
       q(0),
       ],
    q(serer) => [
@@ -50168,103 +50182,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(seri) => [
-      q(5969),
+      q(5971),
       q(0),
       ],
    q(serili) => [
-      q(6292),
+      q(6294),
       q(0),
       ],
    q(seroa) => [
-      q(3566),
+      q(3568),
       q(0),
       ],
    q(serrano) => [
-      q(5976),
+      q(5978),
       q(0),
       ],
    q(seru) => [
-      q(6348),
+      q(6350),
       q(0),
       ],
    q(serua) => [
-      q(6224),
+      q(6226),
       q(0),
       ],
    q(serudung murut) => [
-      q(6215),
+      q(6217),
       q(0),
       ],
    q(serui-laut) => [
-      q(5979),
+      q(5981),
       q(0),
       ],
    q(seselwa creole french) => [
-      q(1858),
+      q(1859),
       q(0),
       ],
    q(seta) => [
-      q(6256),
+      q(6258),
       q(0),
       ],
    q(setaman) => [
-      q(6263),
+      q(6265),
       q(0),
       ],
    q(seti) => [
-      q(5908),
+      q(5910),
       q(0),
       ],
    q(settla) => [
-      q(6252),
+      q(6254),
       q(0),
       ],
    q(severn ojibwa) => [
-      q(5220),
+      q(5222),
       q(0),
       ],
    q(sewa bay) => [
-      q(5981),
+      q(5983),
       q(0),
       ],
    q(seze) => [
-      q(6349),
+      q(6351),
       q(0),
       ],
    q(sha) => [
-      q(5939),
+      q(5941),
       q(0),
       ],
    q(shabak) => [
-      q(5942),
+      q(5944),
       q(0),
       ],
    q(shabo) => [
-      q(5905),
+      q(5907),
       q(1),
       ],
    q(shahmirzadi) => [
-      q(6227),
+      q(6229),
       q(0),
       ],
    q(shahrudi) => [
-      q(6019),
+      q(6021),
       q(0),
       ],
    q(shall-zwall) => [
-      q(6008),
+      q(6010),
       q(0),
       ],
    q(shama-sambuga) => [
-      q(6196),
+      q(6198),
       q(0),
       ],
    q(shamang) => [
-      q(7492),
+      q(7494),
       q(0),
       ],
    q(shambala) => [
-      q(3593),
+      q(3595),
       q(0),
       ],
    q(shan) => [
@@ -50272,135 +50286,135 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(shanenawa) => [
-      q(6309),
+      q(6311),
       q(0),
       ],
    q(shanga) => [
-      q(6020),
+      q(6022),
       q(0),
       ],
    q(shangzhai) => [
-      q(3096),
+      q(3097),
       q(1),
       ],
    q(sharanahua) => [
-      q(4154),
+      q(4156),
       q(0),
       ],
    q(shark bay) => [
-      q(6248),
+      q(6250),
       q(0),
       ],
    q(sharwa) => [
-      q(6311),
+      q(6313),
       q(0),
       ],
    q(shasta) => [
-      q(6025),
+      q(6027),
       q(0),
       ],
    q(shatt) => [
-      q(6016),
+      q(6018),
       q(0),
       ],
    q(shau) => [
-      q(6197),
+      q(6199),
       q(0),
       ],
    q(shawnee) => [
-      q(6068),
+      q(6070),
       q(0),
       ],
    q(she) => [
-      q(6029),
+      q(6031),
       q(0),
       ],
    q(shehri) => [
-      q(6027),
+      q(6029),
       q(0),
       ],
    q(shekhawati) => [
-      q(6316),
+      q(6318),
       q(0),
       ],
    q(shekkacho) => [
-      q(4452),
+      q(4454),
       q(0),
       ],
    q(sheko) => [
-      q(6012),
+      q(6014),
       q(0),
       ],
    q(shelta) => [
-      q(6258),
+      q(6260),
       q(0),
       ],
    q(shempire senoufo) => [
-      q(5962),
+      q(5964),
       q(0),
       ],
    q(shendu) => [
-      q(6018),
+      q(6020),
       q(0),
       ],
    q(sheni) => [
-      q(5938),
+      q(5940),
       q(0),
       ],
    q(sherbro) => [
-      q(1504),
+      q(1505),
       q(0),
       ],
    q(sherdukpen) => [
-      q(5954),
+      q(5956),
       q(0),
       ],
    q(sherpa) => [
-      q(7500),
+      q(7502),
       q(0),
       ],
    q(sheshi kham) => [
-      q(3366),
+      q(3368),
       q(0),
       ],
    q(shi) => [
-      q(6023),
+      q(6025),
       q(0),
       ],
    q(shihhi arabic) => [
-      q(6234),
+      q(6236),
       q(0),
       ],
    q(shiki) => [
-      q(2641),
+      q(2642),
       q(0),
       ],
    q(shilluk) => [
-      q(6017),
+      q(6019),
       q(0),
       ],
    q(shina) => [
-      q(5933),
+      q(5935),
       q(0),
       ],
    q(shinabo) => [
-      q(6138),
+      q(6140),
       q(0),
       ],
    q(shipibo-conibo) => [
-      q(6021),
+      q(6023),
       q(0),
       ],
    q(shixing) => [
-      q(6323),
+      q(6325),
       q(0),
       ],
    q(sholaga) => [
-      q(6095),
+      q(6097),
       q(0),
       ],
    q(shom peng) => [
-      q(6038),
+      q(6040),
       q(0),
       ],
    q(shona) => [
@@ -50408,107 +50422,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(shoo-minda-nye) => [
-      q(1084),
+      q(1085),
       q(0),
       ],
    q(shor) => [
-      q(1751),
+      q(1752),
       q(0),
       ],
    q(shoshoni) => [
-      q(6014),
+      q(6016),
       q(0),
       ],
    q(shua) => [
-      q(6013),
+      q(6015),
       q(0),
       ],
    q(shuadit) => [
-      q(5957),
+      q(5959),
       q(0),
       ],
    q(shuar) => [
-      q(3104),
+      q(3105),
       q(0),
       ],
    q(shubi) => [
-      q(6281),
+      q(6283),
       q(0),
       ],
    q(shughni) => [
-      q(5994),
+      q(5996),
       q(0),
       ],
    q(shumashti) => [
-      q(6269),
+      q(6271),
       q(0),
       ],
    q(shumcho) => [
-      q(5937),
+      q(5939),
       q(0),
       ],
    q(shuswap) => [
-      q(6024),
+      q(6026),
       q(0),
       ],
    q(shuwa-zamani) => [
-      q(3592),
+      q(3594),
       q(0),
       ],
    q(shwai) => [
-      q(6028),
+      q(6030),
       q(0),
       ],
    q(shwe palaung) => [
-      q(5493),
+      q(5495),
       q(0),
       ],
    q(sialum) => [
-      q(6110),
+      q(6112),
       q(0),
       ],
    q(siamou) => [
-      q(6035),
+      q(6037),
       q(0),
       ],
    q(sian) => [
-      q(6180),
+      q(6182),
       q(0),
       ],
    q(siane) => [
-      q(6145),
+      q(6147),
       q(0),
       ],
    q(siang) => [
-      q(6333),
+      q(6335),
       q(0),
       ],
    q(siar-lak) => [
-      q(6064),
+      q(6066),
       q(0),
       ],
    q(siawi) => [
-      q(4403),
+      q(4405),
       q(0),
       ],
    q(sibe) => [
-      q(4774),
+      q(4776),
       q(0),
       ],
    q(siberian tatar) => [
-      q(6274),
+      q(6276),
       q(0),
       ],
    q(sibu melanau) => [
-      q(5959),
+      q(5961),
       q(0),
       ],
    q(sicanian) => [
-      q(6321),
+      q(6323),
       q(0),
       ],
    q(sicel) => [
-      q(5940),
+      q(5942),
       q(0),
       ],
    q(sichuan yi) => [
@@ -50520,11 +50534,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sicite senoufo) => [
-      q(5974),
+      q(5976),
       q(0),
       ],
    q(siculo arabic) => [
-      q(6203),
+      q(6205),
       q(0),
       ],
    q(sidamo) => [
@@ -50532,27 +50546,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sidetic) => [
-      q(7490),
+      q(7492),
       q(0),
       ],
    q(sie) => [
-      q(2281),
+      q(2282),
       q(0),
       ],
    q(sierra de juarez zapotec) => [
-      q(7803),
+      q(7805),
       q(0),
       ],
    q(sierra leone sign language) => [
-      q(6005),
+      q(6007),
       q(0),
       ],
    q(sierra negra nahuatl) => [
-      q(5081),
+      q(5083),
       q(0),
       ],
    q(sighu) => [
-      q(6322),
+      q(6324),
       q(0),
       ],
    q(sign languages) => [
@@ -50560,31 +50574,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sihan) => [
-      q(6147),
+      q(6149),
       q(0),
       ],
    q(sihuas ancash quechua) => [
-      q(5717),
+      q(5719),
       q(0),
       ],
    q(sika) => [
-      q(6077),
+      q(6079),
       q(0),
       ],
    q(sikaiana) => [
-      q(6092),
+      q(6094),
       q(0),
       ],
    q(sikaritai) => [
-      q(6756),
+      q(6758),
       q(0),
       ],
    q(sikiana) => [
-      q(6040),
+      q(6042),
       q(0),
       ],
    q(sikkimese) => [
-      q(6043),
+      q(6045),
       q(0),
       ],
    q(siksika) => [
@@ -50592,87 +50606,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sikule) => [
-      q(6076),
+      q(6078),
       q(0),
       ],
    q(sila) => [
-      q(6108),
+      q(6110),
       q(0),
       ],
    q(silacayoapan mixtec) => [
-      q(4358),
+      q(4360),
       q(0),
       ],
    q(sileibi) => [
-      q(5916),
+      q(5918),
       q(0),
       ],
    q(silesian) => [
-      q(6351),
+      q(6353),
       q(0),
       ],
    q(silimo) => [
-      q(7248),
+      q(7250),
       q(0),
       ],
    q(siliput) => [
-      q(4344),
+      q(4346),
       q(0),
       ],
    q(silopi) => [
-      q(7498),
+      q(7500),
       q(0),
       ],
    q(silt'e) => [
-      q(6272),
+      q(6274),
       q(0),
       ],
    q(simaa) => [
-      q(6034),
+      q(6036),
       q(0),
       ],
    q(simba) => [
-      q(5922),
+      q(5924),
       q(0),
       ],
    q(simbali) => [
-      q(6118),
+      q(6120),
       q(0),
       ],
    q(simbari) => [
-      q(6114),
+      q(6116),
       q(0),
       ],
    q(simbo) => [
-      q(5901),
+      q(5903),
       q(0),
       ],
    q(simeku) => [
-      q(6132),
+      q(6134),
       q(0),
       ],
    q(simeulue) => [
-      q(6125),
+      q(6127),
       q(0),
       ],
    q(simte) => [
-      q(6126),
+      q(6128),
       q(0),
       ],
    q(sinagen) => [
-      q(6047),
+      q(6049),
       q(0),
       ],
    q(sinasina) => [
-      q(6246),
+      q(6248),
       q(0),
       ],
    q(sinaugoro) => [
-      q(6134),
+      q(6136),
       q(0),
       ],
    q(sindarin) => [
-      q(6061),
+      q(6063),
       q(0),
       ],
    q(sindhi) => [
@@ -50680,23 +50694,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sindhi bhil) => [
-      q(5913),
+      q(5915),
       q(0),
       ],
    q(sindihui mixtec) => [
-      q(7521),
+      q(7523),
       q(0),
       ],
    q(singa) => [
-      q(5998),
+      q(6000),
       q(0),
       ],
    q(singapore sign language) => [
-      q(6107),
+      q(6109),
       q(0),
       ],
    q(singpho) => [
-      q(5999),
+      q(6001),
       q(0),
       ],
    q(sinhala) => [
@@ -50708,15 +50722,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(sinicahua mixtec) => [
-      q(7512),
+      q(7514),
       q(0),
       ],
    q(sinicized miao) => [
-      q(2798),
+      q(2799),
       q(1),
       ],
    q(sininkere) => [
-      q(6084),
+      q(6086),
       q(0),
       ],
    q(sino-tibetan languages) => [
@@ -50724,23 +50738,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sinsauru) => [
-      q(6154),
+      q(6156),
       q(0),
       ],
    q(sinte romani) => [
-      q(5816),
+      q(5818),
       q(0),
       ],
    q(sinyar) => [
-      q(6341),
+      q(6343),
       q(0),
       ],
    q(sio) => [
-      q(7493),
+      q(7495),
       q(0),
       ],
    q(siona) => [
-      q(6143),
+      q(6145),
       q(0),
       ],
    q(siouan languages) => [
@@ -50748,67 +50762,67 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sipacapense) => [
-      q(5687),
+      q(5689),
       q(0),
       ],
    q(sira) => [
-      q(6304),
+      q(6306),
       q(0),
       ],
    q(siraya) => [
-      q(2367),
+      q(2368),
       q(0),
       ],
    q(sirenik yupik) => [
-      q(7752),
+      q(7754),
       q(0),
       ],
    q(siri) => [
-      q(6045),
+      q(6047),
       q(0),
       ],
    q(siriano) => [
-      q(6214),
+      q(6216),
       q(0),
       ],
    q(siriono) => [
-      q(6219),
+      q(6221),
       q(0),
       ],
    q(sirmauri) => [
-      q(6225),
+      q(6227),
       q(0),
       ],
    q(siroi) => [
-      q(6230),
+      q(6232),
       q(0),
       ],
    q(sishee) => [
-      q(6037),
+      q(6039),
       q(1),
       ],
    q(sissala) => [
-      q(6094),
+      q(6096),
       q(0),
       ],
    q(sissano) => [
-      q(6241),
+      q(6243),
       q(0),
       ],
    q(siuslaw) => [
-      q(6046),
+      q(6048),
       q(0),
       ],
    q(sivandi) => [
-      q(6051),
+      q(6053),
       q(0),
       ],
    q(siwai) => [
-      q(6049),
+      q(6051),
       q(0),
       ],
    q(siwi) => [
-      q(6052),
+      q(6054),
       q(0),
       ],
    q(siwu) => [
@@ -50816,19 +50830,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(siyin chin) => [
-      q(1885),
+      q(1886),
       q(0),
       ],
    q(skagit) => [
-      q(6069),
+      q(6071),
       q(0),
       ],
    q(skalvian) => [
-      q(6297),
+      q(6299),
       q(0),
       ],
    q(skepi creole dutch) => [
-      q(6090),
+      q(6092),
       q(0),
       ],
    q(skolt sami) => [
@@ -50836,7 +50850,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(skou) => [
-      q(6089),
+      q(6091),
       q(0),
       ],
    q(slave (athapascan)) => [
@@ -50848,7 +50862,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(slavomolisano) => [
-      q(6294),
+      q(6296),
       q(0),
       ],
    q(slovak) => [
@@ -50856,7 +50870,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(slovakian sign language) => [
-      q(6293),
+      q(6295),
       q(0),
       ],
    q(slovenian) => [
@@ -50864,43 +50878,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(small flowery miao) => [
-      q(5986),
+      q(5988),
       q(0),
       ],
    q(smarky kanum) => [
-      q(3730),
+      q(3732),
       q(0),
       ],
    q(snohomish) => [
-      q(6144),
+      q(6146),
       q(0),
       ],
    q(so) => [
-      q(6245),
+      q(6247),
       q(0),
       ],
    q(so (democratic republic of congo)) => [
-      q(6157),
+      q(6159),
       q(0),
       ],
    q(so'a) => [
-      q(6243),
+      q(6245),
       q(0),
       ],
    q(sobei) => [
-      q(6156),
+      q(6158),
       q(0),
       ],
    q(sochiapam chinantec) => [
-      q(1878),
+      q(1879),
       q(0),
       ],
    q(sochiapan chinantec) => [
-      q(1878),
+      q(1879),
       q(1),
       ],
    q(soga) => [
-      q(7446),
+      q(7448),
       q(0),
       ],
    q(sogdian) => [
@@ -50908,23 +50922,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(soi) => [
-      q(6162),
+      q(6164),
       q(0),
       ],
    q(sok) => [
-      q(6079),
+      q(6081),
       q(0),
       ],
    q(sokoro) => [
-      q(6163),
+      q(6165),
       q(0),
       ],
    q(solano) => [
-      q(7497),
+      q(7499),
       q(0),
       ],
    q(soli) => [
-      q(5924),
+      q(5926),
       q(0),
       ],
    q(solong) => [
@@ -50932,11 +50946,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(solos) => [
-      q(6164),
+      q(6166),
       q(0),
       ],
    q(som) => [
-      q(6115),
+      q(6117),
       q(0),
       ],
    q(somali) => [
@@ -50944,31 +50958,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(somba-siawari) => [
-      q(1322),
+      q(1323),
       q(0),
       ],
    q(somrai) => [
-      q(6168),
+      q(6170),
       q(0),
       ],
    q(somray) => [
-      q(6127),
+      q(6129),
       q(0),
       ],
    q(somyev) => [
-      q(3325),
+      q(3327),
       q(0),
       ],
    q(sonaga) => [
-      q(7747),
+      q(7749),
       q(0),
       ],
    q(sonde) => [
-      q(6010),
+      q(6012),
       q(0),
       ],
    q(songe) => [
-      q(6166),
+      q(6168),
       q(0),
       ],
    q(songhai languages) => [
@@ -50976,27 +50990,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(songlai chin) => [
-      q(1873),
+      q(1874),
       q(0),
       ],
    q(songo) => [
-      q(6165),
+      q(6167),
       q(0),
       ],
    q(songomeno) => [
-      q(6159),
+      q(6161),
       q(0),
       ],
    q(songoora) => [
-      q(6158),
+      q(6160),
       q(0),
       ],
    q(sonha) => [
-      q(6161),
+      q(6163),
       q(0),
       ],
    q(sonia) => [
-      q(6044),
+      q(6046),
       q(0),
       ],
    q(soninke) => [
@@ -51004,23 +51018,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sonsorol) => [
-      q(6171),
+      q(6173),
       q(0),
       ],
    q(soo) => [
-      q(6463),
+      q(6465),
       q(0),
       ],
    q(sop) => [
-      q(6942),
+      q(6944),
       q(0),
       ],
    q(soqotri) => [
-      q(6205),
+      q(6207),
       q(0),
       ],
    q(sora) => [
-      q(6208),
+      q(6210),
       q(0),
       ],
    q(sorbian languages) => [
@@ -51028,27 +51042,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sori-harengan) => [
-      q(5907),
+      q(5909),
       q(0),
       ],
    q(sorkhei) => [
-      q(6201),
+      q(6203),
       q(0),
       ],
    q(sorothaptic) => [
-      q(6328),
+      q(6330),
       q(0),
       ],
    q(sorsogon ayta) => [
-      q(1006),
+      q(1007),
       q(0),
       ],
    q(sos kundi) => [
-      q(5949),
+      q(5951),
       q(0),
       ],
    q(sota kanum) => [
-      q(3591),
+      q(3593),
       q(0),
       ],
    q(sotho, southern) => [
@@ -51056,11 +51070,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sou) => [
-      q(6202),
+      q(6204),
       q(0),
       ],
    q(south african sign language) => [
-      q(5987),
+      q(5989),
       q(0),
       ],
    q(south american indian (other)) => [
@@ -51072,15 +51086,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(south awyu) => [
-      q(0977),
+      q(0978),
       q(0),
       ],
    q(south azerbaijani) => [
-      q(1012),
+      q(1013),
       q(0),
       ],
    q(south bolivian quechua) => [
-      q(5683),
+      q(5685),
       q(0),
       ],
    q(south caucasian languages) => [
@@ -51088,27 +51102,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south central banda) => [
-      q(4004),
+      q(4006),
       q(0),
       ],
    q(south central dinka) => [
-      q(2035),
+      q(2036),
       q(0),
       ],
    q(south efate) => [
-      q(2284),
+      q(2285),
       q(0),
       ],
    q(south fali) => [
-      q(2330),
+      q(2331),
       q(0),
       ],
    q(south giziga) => [
-      q(2530),
+      q(2531),
       q(0),
       ],
    q(south lembata) => [
-      q(3979),
+      q(3981),
       q(0),
       ],
    q(south levantine arabic) => [
@@ -51116,11 +51130,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south marquesan) => [
-      q(4490),
+      q(4492),
       q(0),
       ],
    q(south muyu) => [
-      q(3636),
+      q(3638),
       q(0),
       ],
    q(south ndebele) => [
@@ -51128,15 +51142,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(south nuaulu) => [
-      q(5146),
+      q(5148),
       q(0),
       ],
    q(south picene) => [
-      q(6194),
+      q(6196),
       q(0),
       ],
    q(south slavey) => [
-      q(7494),
+      q(7496),
       q(0),
       ],
    q(south slavic languages) => [
@@ -51144,71 +51158,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(south tairora) => [
-      q(5263),
+      q(5265),
       q(0),
       ],
    q(south ucayali asheninka) => [
-      q(1840),
+      q(1841),
       q(0),
       ],
    q(south watut) => [
-      q(4175),
+      q(4177),
       q(0),
       ],
    q(south west bay) => [
-      q(6148),
+      q(6150),
       q(0),
       ],
    q(southeast ambrym) => [
-      q(6781),
+      q(6783),
       q(0),
       ],
    q(southeast babar) => [
-      q(6984),
+      q(6986),
       q(0),
       ],
    q(southeast ijo) => [
-      q(2937),
+      q(2938),
       q(0),
       ],
    q(southeast pashai) => [
-      q(5613),
+      q(5615),
       q(0),
       ],
    q(southeast pashayi) => [
-      q(5613),
+      q(5615),
       q(1),
       ],
    q(southeastern dinka) => [
-      q(2075),
+      q(2076),
       q(0),
       ],
    q(southeastern ixtlan zapotec) => [
-      q(7915),
+      q(7917),
       q(0),
       ],
    q(southeastern kolami) => [
-      q(4897),
+      q(4899),
       q(0),
       ],
    q(southeastern nochixtlan mixtec) => [
-      q(4669),
+      q(4671),
       q(0),
       ],
    q(southeastern pomo) => [
-      q(5560),
+      q(5562),
       q(0),
       ],
    q(southeastern puebla nahuatl) => [
-      q(5035),
+      q(5037),
       q(0),
       ],
    q(southeastern tarahumara) => [
-      q(6421),
+      q(6423),
       q(0),
       ],
    q(southeastern tepehuan) => [
-      q(6266),
+      q(6268),
       q(0),
       ],
    q(southern alta) => [
@@ -51224,219 +51238,219 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern aymara) => [
-      q(0993),
+      q(0994),
       q(0),
       ],
    q(southern bai) => [
-      q(1153),
+      q(1154),
       q(0),
       ],
    q(southern balochi) => [
-      q(1065),
+      q(1066),
       q(0),
       ],
    q(southern betsimisaraka malagasy) => [
-      q(1614),
+      q(1615),
       q(0),
       ],
    q(southern binukidnon) => [
-      q(4575),
+      q(4577),
       q(0),
       ],
    q(southern birifor) => [
-      q(1225),
+      q(1226),
       q(0),
       ],
    q(southern bobo madare) => [
-      q(1557),
+      q(1558),
       q(0),
       ],
    q(southern bontok) => [
-      q(5188),
+      q(5190),
       q(0),
       ],
    q(southern carrier) => [
-      q(1642),
+      q(1643),
       q(0),
       ],
    q(southern catanduanes bikol) => [
-      q(1290),
+      q(1291),
       q(0),
       ],
    q(southern conchucos ancash quechua) => [
-      q(5724),
+      q(5726),
       q(0),
       ],
    q(southern dagaare) => [
-      q(2003),
+      q(2004),
       q(0),
       ],
    q(southern dong) => [
-      q(3454),
+      q(3456),
       q(0),
       ],
    q(southern east cree) => [
-      q(1850),
+      q(1851),
       q(0),
       ],
    q(southern ghale) => [
-      q(2504),
+      q(2505),
       q(0),
       ],
    q(southern gondi) => [
-      q(2498),
+      q(2499),
       q(0),
       ],
    q(southern grebo) => [
-      q(2618),
+      q(2619),
       q(0),
       ],
    q(southern guiyang hmong) => [
-      q(2797),
+      q(2798),
       q(0),
       ],
    q(southern guiyang miao) => [
-      q(2797),
+      q(2798),
       q(1),
       ],
    q(southern haida) => [
-      q(2728),
+      q(2729),
       q(0),
       ],
    q(southern hindko) => [
-      q(2800),
+      q(2801),
       q(0),
       ],
    q(southern kalapuya) => [
-      q(6324),
+      q(6326),
       q(0),
       ],
    q(southern kalinga) => [
-      q(3594),
+      q(3596),
       q(0),
       ],
    q(southern kisi) => [
-      q(3610),
+      q(3612),
       q(0),
       ],
    q(southern kiwai) => [
-      q(3379),
+      q(3381),
       q(0),
       ],
    q(southern kurdish) => [
-      q(5947),
+      q(5949),
       q(0),
       ],
    q(southern lolopo) => [
-      q(7751),
+      q(7753),
       q(0),
       ],
    q(southern luri) => [
-      q(4091),
+      q(4093),
       q(0),
       ],
    q(southern ma'di) => [
-      q(6142),
+      q(6144),
       q(0),
       ],
    q(southern mashan hmong) => [
-      q(2776),
+      q(2777),
       q(0),
       ],
    q(southern mashan miao) => [
-      q(2776),
+      q(2777),
       q(1),
       ],
    q(southern mnong) => [
-      q(4424),
+      q(4426),
       q(0),
       ],
    q(southern muji) => [
-      q(7687),
+      q(7689),
       q(0),
       ],
    q(southern nago) => [
-      q(5041),
+      q(5043),
       q(0),
       ],
    q(southern nambikuara) => [
-      q(4718),
+      q(4720),
       q(0),
       ],
    q(southern ngbandi) => [
-      q(4758),
+      q(4760),
       q(0),
       ],
    q(southern nicobarese) => [
-      q(4889),
+      q(4891),
       q(0),
       ],
    q(southern nisu) => [
-      q(5066),
+      q(5068),
       q(0),
       ],
    q(southern nuni) => [
-      q(5007),
+      q(5009),
       q(0),
       ],
    q(southern ohlone) => [
-      q(1881),
+      q(1882),
       q(0),
       ],
    q(southern one) => [
-      q(5313),
+      q(5315),
       q(0),
       ],
    q(southern pame) => [
-      q(5527),
+      q(5529),
       q(0),
       ],
    q(southern pashto) => [
-      q(5375),
+      q(5377),
       q(0),
       ],
    q(southern pastaza quechua) => [
-      q(5689),
+      q(5691),
       q(0),
       ],
    q(southern pomo) => [
-      q(5415),
+      q(5417),
       q(0),
       ],
    q(southern puebla mixtec) => [
-      q(4313),
+      q(4315),
       q(0),
       ],
    q(southern puget sound salish) => [
-      q(6098),
+      q(6100),
       q(0),
       ],
    q(southern pumi) => [
-      q(5514),
+      q(5516),
       q(0),
       ],
    q(southern qiandong miao) => [
-      q(2792),
+      q(2793),
       q(0),
       ],
    q(southern qiang) => [
-      q(5728),
+      q(5730),
       q(0),
       ],
    q(southern rengma naga) => [
-      q(5050),
+      q(5052),
       q(0),
       ],
    q(southern rincon zapotec) => [
-      q(7949),
+      q(7951),
       q(0),
       ],
    q(southern roglai) => [
-      q(5780),
+      q(5782),
       q(0),
       ],
    q(southern sama) => [
-      q(6228),
+      q(6230),
       q(0),
       ],
    q(southern sami) => [
@@ -51444,15 +51458,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(southern samo) => [
-      q(5903),
+      q(5905),
       q(0),
       ],
    q(southern sierra miwok) => [
-      q(6072),
+      q(6074),
       q(0),
       ],
    q(southern sorsoganon) => [
-      q(6223),
+      q(6225),
       q(0),
       ],
    q(southern sotho) => [
@@ -51460,119 +51474,119 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(southern subanen) => [
-      q(3791),
+      q(3793),
       q(0),
       ],
    q(southern thai) => [
-      q(6170),
+      q(6172),
       q(0),
       ],
    q(southern tiwa) => [
-      q(6533),
+      q(6535),
       q(0),
       ],
    q(southern toussian) => [
-      q(7125),
+      q(7127),
       q(0),
       ],
    q(southern tujia) => [
-      q(6543),
+      q(6545),
       q(0),
       ],
    q(southern tutchone) => [
-      q(6407),
+      q(6409),
       q(0),
       ],
    q(southern uzbek) => [
-      q(6967),
+      q(6969),
       q(0),
       ],
    q(southern yamphu) => [
-      q(4050),
+      q(4052),
       q(0),
       ],
    q(southern yukaghir) => [
-      q(7778),
+      q(7780),
       q(0),
       ],
    q(southwest gbaya) => [
-      q(2636),
+      q(2637),
       q(0),
       ],
    q(southwest palawano) => [
-      q(5502),
+      q(5504),
       q(0),
       ],
    q(southwest pashai) => [
-      q(5612),
+      q(5614),
       q(0),
       ],
    q(southwest pashayi) => [
-      q(5612),
+      q(5614),
       q(1),
       ],
    q(southwest tanna) => [
-      q(5134),
+      q(5136),
       q(0),
       ],
    q(southwestern bontok) => [
-      q(6985),
+      q(6987),
       q(0),
       ],
    q(southwestern dinka) => [
-      q(2043),
+      q(2044),
       q(0),
       ],
    q(southwestern fars) => [
-      q(2336),
+      q(2337),
       q(0),
       ],
    q(southwestern guiyang hmong) => [
-      q(2782),
+      q(2783),
       q(0),
       ],
    q(southwestern huishui hmong) => [
-      q(2783),
+      q(2784),
       q(0),
       ],
    q(southwestern huishui miao) => [
-      q(2783),
+      q(2784),
       q(1),
       ],
    q(southwestern nisu) => [
-      q(5082),
+      q(5084),
       q(0),
       ],
    q(southwestern tarahumara) => [
-      q(6804),
+      q(6806),
       q(0),
       ],
    q(southwestern tepehuan) => [
-      q(6564),
+      q(6566),
       q(0),
       ],
    q(southwestern tlaxiaco mixtec) => [
-      q(4206),
+      q(4208),
       q(0),
       ],
    q(sowa) => [
-      q(6317),
+      q(6319),
       q(0),
       ],
    q(sowanda) => [
-      q(6172),
+      q(6174),
       q(0),
       ],
    q(sowari) => [
-      q(2097),
+      q(2098),
       q(1),
       ],
    q(soyaltepec mazatec) => [
-      q(7029),
+      q(7031),
       q(0),
       ],
    q(soyaltepec mixtec) => [
-      q(7030),
+      q(7032),
       q(0),
       ],
    q(spanish) => [
@@ -51580,19 +51594,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(spanish sign language) => [
-      q(6242),
+      q(6244),
       q(0),
       ],
    q(spiti bhoti) => [
-      q(6191),
+      q(6193),
       q(0),
       ],
    q(spokane) => [
-      q(6186),
+      q(6188),
       q(0),
       ],
    q(squamish) => [
-      q(6206),
+      q(6208),
       q(0),
       ],
    q(sranan tongo) => [
@@ -51600,11 +51614,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sri lankan creole malay) => [
-      q(5931),
+      q(5933),
       q(0),
       ],
    q(sri lankan sign language) => [
-      q(6204),
+      q(6206),
       q(0),
       ],
    q(standard arabic) => [
@@ -51612,15 +51626,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(standard estonian) => [
-      q(2235),
+      q(2236),
       q(0),
       ],
    q(standard latvian) => [
-      q(4094),
+      q(4096),
       q(0),
       ],
    q(standard malay) => [
-      q(7948),
+      q(7950),
       q(0),
       ],
    q(standard moroccan tamazight) => [
@@ -51628,51 +51642,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(stellingwerfs) => [
-      q(6262),
+      q(6264),
       q(0),
       ],
    q(stod bhoti) => [
-      q(5920),
+      q(5922),
       q(0),
       ],
    q(stodsde) => [
-      q(3096),
+      q(3097),
       q(0),
       ],
    q(stoney) => [
-      q(6265),
+      q(6267),
       q(0),
       ],
    q(straits salish) => [
-      q(6268),
+      q(6270),
       q(0),
       ],
    q(suabo) => [
-      q(6353),
+      q(6355),
       q(0),
       ],
    q(suarmin) => [
-      q(5973),
+      q(5975),
       q(0),
       ],
    q(suau) => [
-      q(6310),
+      q(6312),
       q(0),
       ],
    q(suba) => [
-      q(6320),
+      q(6322),
       q(0),
       ],
    q(suba-simbiti) => [
-      q(6229),
+      q(6231),
       q(0),
       ],
    q(subiya) => [
-      q(5918),
+      q(5920),
       q(0),
       ],
    q(subtiaba) => [
-      q(6284),
+      q(6286),
       q(0),
       ],
    q(sudanese arabic) => [
@@ -51680,43 +51694,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sudanese creole arabic) => [
-      q(5424),
+      q(5426),
       q(0),
       ],
    q(sudest) => [
-      q(6483),
+      q(6485),
       q(0),
       ],
    q(sudovian) => [
-      q(7503),
+      q(7505),
       q(0),
       ],
    q(suena) => [
-      q(6278),
+      q(6280),
       q(0),
       ],
    q(suga) => [
-      q(5995),
+      q(5997),
       q(0),
       ],
    q(suganga) => [
-      q(6279),
+      q(6281),
       q(0),
       ],
    q(sugut dusun) => [
-      q(3783),
+      q(3785),
       q(0),
       ],
    q(sui) => [
-      q(6303),
+      q(6305),
       q(0),
       ],
    q(suki) => [
-      q(6280),
+      q(6282),
       q(0),
       ],
    q(suku) => [
-      q(6276),
+      q(6278),
       q(0),
       ],
    q(sukuma) => [
@@ -51724,43 +51738,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sukur) => [
-      q(6336),
+      q(6338),
       q(0),
       ],
    q(sukurum) => [
-      q(7950),
+      q(7952),
       q(0),
       ],
    q(sula) => [
-      q(6352),
+      q(6354),
       q(0),
       ],
    q(sulka) => [
-      q(6275),
+      q(6277),
       q(0),
       ],
    q(sulod) => [
-      q(6212),
+      q(6214),
       q(0),
       ],
    q(suma) => [
-      q(6199),
+      q(6201),
       q(0),
       ],
    q(sumariup) => [
-      q(6048),
+      q(6050),
       q(0),
       ],
    q(sumau) => [
-      q(6050),
+      q(6052),
       q(0),
       ],
    q(sumbawa) => [
-      q(6129),
+      q(6131),
       q(0),
       ],
    q(sumbwa) => [
-      q(6286),
+      q(6288),
       q(0),
       ],
    q(sumerian) => [
@@ -51768,15 +51782,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sumi naga) => [
-      q(5074),
+      q(5076),
       q(0),
       ],
    q(sumtu chin) => [
-      q(1883),
+      q(1884),
       q(0),
       ],
    q(sunam) => [
-      q(6237),
+      q(6239),
       q(0),
       ],
    q(sundanese) => [
@@ -51784,75 +51798,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(sunum) => [
-      q(7696),
+      q(7698),
       q(1),
       ],
    q(sunwar) => [
-      q(6288),
+      q(6290),
       q(0),
       ],
    q(suomenruotsalainen viittomakieli) => [
-      q(2378),
+      q(2379),
       q(2),
       ],
    q(suoy) => [
-      q(6340),
+      q(6342),
       q(0),
       ],
    q(supyire senoufo) => [
-      q(6187),
+      q(6189),
       q(0),
       ],
    q(sur) => [
-      q(6437),
+      q(6439),
       q(0),
       ],
    q(surayt) => [
-      q(6705),
+      q(6707),
       q(1),
       ],
    q(surbakhal) => [
-      q(5909),
+      q(5911),
       q(0),
       ],
    q(surgujia) => [
-      q(5996),
+      q(5998),
       q(0),
       ],
    q(suri) => [
-      q(6282),
+      q(6284),
       q(0),
       ],
    q(surigaonon) => [
-      q(5991),
+      q(5993),
       q(0),
       ],
    q(surjapuri) => [
-      q(6063),
+      q(6065),
       q(0),
       ],
    q(sursurunga) => [
-      q(6007),
+      q(6009),
       q(0),
       ],
    q(suruaha) => [
-      q(6318),
+      q(6320),
       q(0),
       ],
    q(surubu) => [
-      q(5944),
+      q(5946),
       q(0),
       ],
    q(surui) => [
-      q(6222),
+      q(6224),
       q(0),
       ],
    q(surui do para) => [
-      q(4199),
+      q(4201),
       q(0),
       ],
    q(susquehannock) => [
-      q(6200),
+      q(6202),
       q(0),
       ],
    q(susu) => [
@@ -51860,27 +51874,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(susuami) => [
-      q(6247),
+      q(6249),
       q(0),
       ],
    q(suundi) => [
-      q(5948),
+      q(5950),
       q(0),
       ],
    q(suwawa) => [
-      q(6315),
+      q(6317),
       q(0),
       ],
    q(suya) => [
-      q(6287),
+      q(6289),
       q(0),
       ],
    q(svan) => [
-      q(6289),
+      q(6291),
       q(0),
       ],
    q(swabian) => [
-      q(6301),
+      q(6303),
       q(0),
       ],
    q(swahili) => [
@@ -51888,7 +51902,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(swahili (individual language)) => [
-      q(6302),
+      q(6304),
       q(0),
       ],
    q(swahili (macrolanguage)) => [
@@ -51896,7 +51910,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(swampy cree) => [
-      q(1884),
+      q(1885),
       q(0),
       ],
    q(swati) => [
@@ -51908,7 +51922,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(swedish sign language) => [
-      q(6306),
+      q(6308),
       q(0),
       ],
    q(swiss german) => [
@@ -51916,27 +51930,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(swiss-french sign language) => [
-      q(6244),
+      q(6246),
       q(0),
       ],
    q(swiss-german sign language) => [
-      q(5993),
+      q(5995),
       q(0),
       ],
    q(swiss-italian sign language) => [
-      q(6096),
+      q(6098),
       q(0),
       ],
    q(swo) => [
-      q(6173),
+      q(6175),
       q(0),
       ],
    q(syenara senoufo) => [
-      q(6031),
+      q(6033),
       q(0),
       ],
    q(sylheti) => [
-      q(6337),
+      q(6339),
       q(0),
       ],
    q(syriac) => [
@@ -51944,7 +51958,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(t'en) => [
-      q(6420),
+      q(6422),
       q(0),
       ],
    q(ta'izzi-adeni arabic) => [
@@ -51952,95 +51966,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(taabwa) => [
-      q(6368),
+      q(6370),
       q(0),
       ],
    q(tabaa zapotec) => [
-      q(7820),
+      q(7822),
       q(0),
       ],
    q(tabaru) => [
-      q(6401),
+      q(6403),
       q(0),
       ],
    q(tabasco chontal) => [
-      q(1720),
+      q(1721),
       q(0),
       ],
    q(tabasco nahuatl) => [
-      q(4860),
+      q(4862),
       q(0),
       ],
    q(tabasco zoque) => [
-      q(7909),
+      q(7911),
       q(0),
       ],
    q(tabassaran) => [
-      q(6357),
+      q(6359),
       q(0),
       ],
    q(tabla) => [
-      q(6619),
+      q(6621),
       q(0),
       ],
    q(tabo) => [
-      q(3498),
+      q(3500),
       q(0),
       ],
    q(tabriak) => [
-      q(6849),
+      q(6851),
       q(0),
       ],
    q(tacahua mixtec) => [
-      q(7522),
+      q(7524),
       q(0),
       ],
    q(tacana) => [
-      q(6609),
+      q(6611),
       q(0),
       ],
    q(tachawit) => [
-      q(6030),
+      q(6032),
       q(0),
       ],
    q(tachelhit) => [
-      q(6015),
+      q(6017),
       q(0),
       ],
    q(tachoni) => [
-      q(4073),
+      q(4075),
       q(0),
       ],
    q(tadaksahak) => [
-      q(2154),
+      q(2155),
       q(0),
       ],
    q(tadyawan) => [
-      q(6447),
+      q(6449),
       q(0),
       ],
    q(tae') => [
-      q(5835),
+      q(5837),
       q(0),
       ],
    q(tafi) => [
-      q(6406),
+      q(6408),
       q(0),
       ],
    q(tagabawa) => [
-      q(1177),
+      q(1178),
       q(0),
       ],
    q(tagakaulo) => [
-      q(3433),
+      q(3435),
       q(0),
       ],
    q(tagal murut) => [
-      q(4618),
+      q(4620),
       q(0),
       ],
    q(tagalaka) => [
-      q(6494),
+      q(6496),
       q(0),
       ],
    q(tagalog) => [
@@ -52048,39 +52062,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tagargrent) => [
-      q(5332),
+      q(5334),
       q(0),
       ],
    q(tagbanwa) => [
-      q(6399),
+      q(6401),
       q(0),
       ],
    q(tagbu) => [
-      q(6390),
+      q(6392),
       q(0),
       ],
    q(tagdal) => [
-      q(6426),
+      q(6428),
       q(0),
       ],
    q(tagin) => [
-      q(6481),
+      q(6483),
       q(0),
       ],
    q(tagish) => [
-      q(6492),
+      q(6494),
       q(0),
       ],
    q(tagoi) => [
-      q(6362),
+      q(6364),
       q(0),
       ],
    q(tagwana senoufo) => [
-      q(6491),
+      q(6493),
       q(0),
       ],
    q(tahaggart tamahaq) => [
-      q(6511),
+      q(6513),
       q(0),
       ],
    q(tahitian) => [
@@ -52088,39 +52102,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tahltan) => [
-      q(6509),
+      q(6511),
       q(0),
       ],
    q(tai) => [
-      q(6374),
+      q(6376),
       q(0),
       ],
    q(tai daeng) => [
-      q(6836),
+      q(6838),
       q(0),
       ],
    q(tai dam) => [
-      q(1296),
+      q(1297),
       q(0),
       ],
    q(tai do) => [
-      q(6832),
+      q(6834),
       q(0),
       ],
    q(tai don) => [
-      q(6797),
+      q(6799),
       q(0),
       ],
    q(tai hang tong) => [
-      q(6495),
+      q(6497),
       q(0),
       ],
    q(tai hongjin) => [
-      q(6535),
+      q(6537),
       q(0),
       ],
    q(tai laing) => [
-      q(6539),
+      q(6541),
       q(0),
       ],
    q(tai languages) => [
@@ -52128,35 +52142,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tai loi) => [
-      q(6577),
+      q(6579),
       q(0),
       ],
    q(tai long) => [
-      q(6500),
+      q(6502),
       q(0),
       ],
    q(tai mene) => [
-      q(6599),
+      q(6601),
       q(0),
       ],
    q(tai nua) => [
-      q(6429),
+      q(6431),
       q(0),
       ],
    q(tai pao) => [
-      q(6664),
+      q(6666),
       q(0),
       ],
    q(tai thanh) => [
-      q(6596),
+      q(6598),
       q(0),
       ],
    q(tai ya) => [
-      q(1917),
+      q(1918),
       q(0),
       ],
    q(taiap) => [
-      q(2607),
+      q(2608),
       q(0),
       ],
    q(taikat) => [
@@ -52168,27 +52182,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(taino) => [
-      q(6623),
+      q(6625),
       q(0),
       ],
    q(tairaha) => [
-      q(1566),
+      q(1567),
       q(0),
       ],
    q(tairuma) => [
-      q(6852),
+      q(6854),
       q(0),
       ],
    q(taita) => [
-      q(1951),
+      q(1952),
       q(0),
       ],
    q(taiwan sign language) => [
-      q(6725),
+      q(6727),
       q(0),
       ],
    q(taje) => [
-      q(5405),
+      q(5407),
       q(0),
       ],
    q(tajik) => [
@@ -52200,115 +52214,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tajio) => [
-      q(6435),
+      q(6437),
       q(0),
       ],
    q(tajuasohn) => [
-      q(6536),
+      q(6538),
       q(0),
       ],
    q(takelma) => [
-      q(6552),
+      q(6554),
       q(0),
       ],
    q(takestani) => [
-      q(6557),
+      q(6559),
       q(0),
       ],
    q(takia) => [
-      q(6380),
+      q(6382),
       q(0),
       ],
    q(takua) => [
-      q(6563),
+      q(6565),
       q(0),
       ],
    q(takuu) => [
-      q(4870),
+      q(4872),
       q(0),
       ],
    q(takwane) => [
-      q(6549),
+      q(6551),
       q(0),
       ],
    q(tal) => [
-      q(6365),
+      q(6367),
       q(0),
       ],
    q(tala) => [
-      q(6364),
+      q(6366),
       q(0),
       ],
    q(talaandig) => [
-      q(1256),
+      q(1257),
       q(1),
       ],
    q(talaud) => [
-      q(6567),
+      q(6569),
       q(0),
       ],
    q(taliabu) => [
-      q(6582),
+      q(6584),
       q(0),
       ],
    q(talieng) => [
-      q(6431),
+      q(6433),
       q(0),
       ],
    q(talinga-bwisi) => [
-      q(6570),
+      q(6572),
       q(0),
       ],
    q(talise) => [
-      q(6578),
+      q(6580),
       q(0),
       ],
    q(talodi) => [
-      q(6575),
+      q(6577),
       q(0),
       ],
    q(taloki) => [
-      q(6571),
+      q(6573),
       q(0),
       ],
    q(talondo') => [
-      q(6574),
+      q(6576),
       q(0),
       ],
    q(talossan) => [
-      q(6845),
+      q(6847),
       q(0),
       ],
    q(talu) => [
-      q(7755),
+      q(7757),
       q(0),
       ],
    q(talysh) => [
-      q(6584),
+      q(6586),
       q(0),
       ],
    q(tama (chad)) => [
-      q(6585),
+      q(6587),
       q(0),
       ],
    q(tama (colombia)) => [
-      q(6458),
+      q(6460),
       q(0),
       ],
    q(tamagario) => [
-      q(6409),
+      q(6411),
       q(0),
       ],
    q(taman (indonesia)) => [
-      q(6597),
+      q(6599),
       q(0),
       ],
    q(taman (myanmar)) => [
-      q(6413),
+      q(6415),
       q(0),
       ],
    q(tamanaku) => [
-      q(6608),
+      q(6610),
       q(0),
       ],
    q(tamashek) => [
@@ -52316,31 +52330,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tamasheq) => [
-      q(6369),
+      q(6371),
       q(0),
       ],
    q(tamazola mixtec) => [
-      q(7036),
+      q(7038),
       q(0),
       ],
    q(tambas) => [
-      q(6436),
+      q(6438),
       q(0),
       ],
    q(tambora) => [
-      q(7562),
+      q(7564),
       q(0),
       ],
    q(tambotalo) => [
-      q(6579),
+      q(6581),
       q(0),
       ],
    q(tambunan dusun) => [
-      q(3784),
+      q(3786),
       q(0),
       ],
    q(tami) => [
-      q(6607),
+      q(6609),
       q(0),
       ],
    q(tamil) => [
@@ -52348,127 +52362,127 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tamki) => [
-      q(6375),
+      q(6377),
       q(0),
       ],
    q(tamnim citak) => [
-      q(6595),
+      q(6597),
       q(0),
       ],
    q(tampias lobu) => [
-      q(4032),
+      q(4034),
       q(0),
       ],
    q(tampuan) => [
-      q(6669),
+      q(6671),
       q(0),
       ],
    q(tampulma) => [
-      q(6662),
+      q(6664),
       q(0),
       ],
    q(tanacross) => [
-      q(6404),
+      q(6406),
       q(0),
       ],
    q(tanahmerah) => [
-      q(6414),
+      q(6416),
       q(0),
       ],
    q(tanaina) => [
-      q(6469),
+      q(6471),
       q(0),
       ],
    q(tanapag) => [
-      q(6670),
+      q(6672),
       q(0),
       ],
    q(tandaganon) => [
-      q(6482),
+      q(6484),
       q(0),
       ],
    q(tandia) => [
-      q(6616),
+      q(6618),
       q(0),
       ],
    q(tandroy-mahafaly malagasy) => [
-      q(6446),
+      q(6448),
       q(0),
       ],
    q(tanema) => [
-      q(6630),
+      q(6632),
       q(0),
       ],
    q(tangale) => [
-      q(6366),
+      q(6368),
       q(0),
       ],
    q(tangchangya) => [
-      q(6628),
+      q(6630),
       q(0),
       ],
    q(tanggu) => [
-      q(6489),
+      q(6491),
       q(0),
       ],
    q(tangkhul naga (india)) => [
-      q(4965),
+      q(4967),
       q(0),
       ],
    q(tangkhul naga (myanmar)) => [
-      q(5099),
+      q(5101),
       q(0),
       ],
    q(tangko) => [
-      q(6562),
+      q(6564),
       q(0),
       ],
    q(tanglang) => [
-      q(7756),
+      q(7758),
       q(0),
       ],
    q(tangoa) => [
-      q(6484),
+      q(6486),
       q(0),
       ],
    q(tanguat) => [
-      q(6395),
+      q(6397),
       q(0),
       ],
    q(tangut) => [
-      q(6814),
+      q(6816),
       q(0),
       ],
    q(tanimbili) => [
-      q(6382),
+      q(6384),
       q(0),
       ],
    q(tanimuca-retuara) => [
-      q(6611),
+      q(6613),
       q(0),
       ],
    q(tanjijili) => [
-      q(6877),
+      q(6879),
       q(0),
       ],
    q(tankarana malagasy) => [
-      q(7425),
+      q(7427),
       q(1),
       ],
    q(tanosy malagasy) => [
-      q(6827),
+      q(6829),
       q(0),
       ],
    q(tanudan kalinga) => [
-      q(3463),
+      q(3465),
       q(0),
       ],
    q(tanzanian sign language) => [
-      q(6842),
+      q(6844),
       q(0),
       ],
    q(tapeba) => [
-      q(6379),
+      q(6381),
       q(0),
       ],
    q(tapei) => [
@@ -52476,71 +52490,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tapiete) => [
-      q(6659),
+      q(6661),
       q(0),
       ],
    q(tapirape) => [
-      q(6361),
+      q(6363),
       q(0),
       ],
    q(tarao naga) => [
-      q(6699),
+      q(6701),
       q(0),
       ],
    q(tareng) => [
-      q(6486),
+      q(6488),
       q(0),
       ],
    q(tariana) => [
-      q(6360),
+      q(6362),
       q(0),
       ],
    q(tarifit) => [
-      q(5786),
+      q(5788),
       q(0),
       ],
    q(tarjumo) => [
-      q(6817),
+      q(6819),
       q(0),
       ],
    q(tarok) => [
-      q(7625),
+      q(7627),
       q(0),
       ],
    q(taroko) => [
-      q(6706),
+      q(6708),
       q(0),
       ],
    q(tarpia) => [
-      q(6657),
+      q(6659),
       q(0),
       ],
    q(tartessian) => [
-      q(6822),
+      q(6824),
       q(0),
       ],
    q(tasawaq) => [
-      q(6803),
+      q(6805),
       q(0),
       ],
    q(tase naga) => [
-      q(5080),
+      q(5082),
       q(0),
       ],
    q(tasmanian) => [
-      q(7527),
+      q(7529),
       q(0),
       ],
    q(tasmate) => [
-      q(6603),
+      q(6605),
       q(0),
       ],
    q(tataltepec chatino) => [
-      q(1887),
+      q(1888),
       q(0),
       ],
    q(tatana) => [
-      q(6826),
+      q(6828),
       q(0),
       ],
    q(tatar) => [
@@ -52548,235 +52562,235 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tatuyo) => [
-      q(6373),
+      q(6375),
       q(0),
       ],
    q(tauade) => [
-      q(6736),
+      q(6738),
       q(0),
       ],
    q(taulil) => [
-      q(6765),
+      q(6767),
       q(0),
       ],
    q(taungyo) => [
-      q(6416),
+      q(6418),
       q(0),
       ],
    q(taupota) => [
-      q(6654),
+      q(6656),
       q(0),
       ],
    q(tause) => [
-      q(6359),
+      q(6361),
       q(0),
       ],
    q(taushiro) => [
-      q(6702),
+      q(6704),
       q(0),
       ],
    q(tausug) => [
-      q(6716),
+      q(6718),
       q(0),
       ],
    q(tauya) => [
-      q(6828),
+      q(6830),
       q(0),
       ],
    q(taveta) => [
-      q(6785),
+      q(6787),
       q(0),
       ],
    q(tavoyan) => [
-      q(6783),
+      q(6785),
       q(0),
       ],
    q(tavringer romani) => [
-      q(5821),
+      q(5823),
       q(0),
       ],
    q(tawala) => [
-      q(6392),
+      q(6394),
       q(0),
       ],
    q(tawallammat tamajaq) => [
-      q(6749),
+      q(6751),
       q(0),
       ],
    q(tawande) => [
-      q(7525),
+      q(7527),
       q(0),
       ],
    q(tawang monpa) => [
-      q(6799),
+      q(6801),
       q(0),
       ],
    q(tawara) => [
-      q(6798),
+      q(6800),
       q(0),
       ],
    q(taworta) => [
-      q(6393),
+      q(6395),
       q(0),
       ],
    q(tawoyan) => [
-      q(6809),
+      q(6811),
       q(0),
       ],
    q(tawr chin) => [
-      q(6417),
+      q(6419),
       q(0),
       ],
    q(tay) => [
-      q(6841),
+      q(6843),
       q(0),
       ],
    q(tay boi) => [
-      q(6371),
+      q(6373),
       q(0),
       ],
    q(tay khang) => [
-      q(6627),
+      q(6629),
       q(0),
       ],
    q(tay sa pa) => [
-      q(6837),
+      q(6839),
       q(0),
       ],
    q(tay tac) => [
-      q(6838),
+      q(6840),
       q(0),
       ],
    q(tayabas ayta) => [
-      q(1009),
+      q(1010),
       q(0),
       ],
    q(tayart tamajeq) => [
-      q(6514),
+      q(6516),
       q(0),
       ],
    q(tayo) => [
-      q(1761),
+      q(1762),
       q(0),
       ],
    q(taznatit) => [
-      q(2622),
+      q(2623),
       q(0),
       ],
    q(tboli) => [
-      q(6389),
+      q(6391),
       q(0),
       ],
    q(tchitchege) => [
-      q(6412),
+      q(6414),
       q(0),
       ],
    q(tchumbuli) => [
-      q(1397),
+      q(1398),
       q(0),
       ],
    q(te'un) => [
-      q(6780),
+      q(6782),
       q(0),
       ],
    q(teanu) => [
-      q(6561),
+      q(6563),
       q(0),
       ],
    q(tebi) => [
-      q(2093),
+      q(2094),
       q(1),
       ],
    q(tebul sign language) => [
-      q(6731),
+      q(6733),
       q(0),
       ],
    q(tebul ure dogon) => [
-      q(2167),
+      q(2168),
       q(0),
       ],
    q(tecpatlan totonac) => [
-      q(6422),
+      q(6424),
       q(0),
       ],
    q(tedaga) => [
-      q(6771),
+      q(6773),
       q(0),
       ],
    q(tedim chin) => [
-      q(1889),
+      q(1890),
       q(0),
       ],
    q(tee) => [
-      q(6555),
+      q(6557),
       q(0),
       ],
    q(teen) => [
-      q(4027),
+      q(4029),
       q(0),
       ],
    q(tefaro) => [
-      q(6470),
+      q(6472),
       q(0),
       ],
    q(tegali) => [
-      q(5748),
+      q(5750),
       q(0),
       ],
    q(tehit) => [
-      q(3538),
+      q(3540),
       q(0),
       ],
    q(tehuelche) => [
-      q(6455),
+      q(6457),
       q(0),
       ],
    q(tejalapan zapotec) => [
-      q(7959),
+      q(7961),
       q(0),
       ],
    q(teke-ebo) => [
-      q(2214),
+      q(2215),
       q(0),
       ],
    q(teke-fuumu) => [
-      q(2916),
+      q(2917),
       q(0),
       ],
    q(teke-kukuya) => [
-      q(3423),
+      q(3425),
       q(0),
       ],
    q(teke-laali) => [
-      q(3962),
+      q(3964),
       q(0),
       ],
    q(teke-nzikou) => [
-      q(5180),
+      q(5182),
       q(0),
       ],
    q(teke-tege) => [
-      q(6454),
+      q(6456),
       q(0),
       ],
    q(teke-tsaayi) => [
-      q(6831),
+      q(6833),
       q(0),
       ],
    q(teke-tyee) => [
-      q(6840),
+      q(6842),
       q(0),
       ],
    q(tektiteko) => [
-      q(6735),
+      q(6737),
       q(0),
       ],
    q(tela-masbuar) => [
-      q(6782),
+      q(6784),
       q(0),
       ],
    q(telefol) => [
-      q(6568),
+      q(6570),
       q(0),
       ],
    q(telugu) => [
@@ -52784,147 +52798,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(teluti) => [
-      q(6580),
+      q(6582),
       q(0),
       ],
    q(tem) => [
-      q(3239),
+      q(3241),
       q(0),
       ],
    q(temacine tamazight) => [
-      q(6542),
+      q(6544),
       q(0),
       ],
    q(temascaltepec nahuatl) => [
-      q(4876),
+      q(4878),
       q(0),
       ],
    q(tembe) => [
-      q(6675),
+      q(6677),
       q(0),
       ],
    q(tembo (kitembo)) => [
-      q(6396),
+      q(6398),
       q(0),
       ],
    q(tembo (motembo)) => [
-      q(6605),
+      q(6607),
       q(0),
       ],
    q(teme) => [
-      q(6439),
+      q(6441),
       q(0),
       ],
    q(temein) => [
-      q(6461),
+      q(6463),
       q(0),
       ],
    q(temi) => [
-      q(6175),
+      q(6177),
       q(0),
       ],
    q(temiar) => [
-      q(6448),
+      q(6450),
       q(0),
       ],
    q(temoaya otomi) => [
-      q(5326),
+      q(5328),
       q(0),
       ],
    q(temoq) => [
-      q(6598),
+      q(6600),
       q(0),
       ],
    q(tempasuk dusun) => [
-      q(6444),
+      q(6446),
       q(0),
       ],
    q(temuan) => [
-      q(6606),
+      q(6608),
       q(0),
       ],
    q(tena) => [
-      q(1139),
+      q(1140),
       q(1),
       ],
    q(tena lowland quichua) => [
-      q(5694),
+      q(5696),
       q(0),
       ],
    q(tenango otomi) => [
-      q(5322),
+      q(5324),
       q(0),
       ],
    q(tene kan dogon) => [
-      q(2160),
+      q(2161),
       q(0),
       ],
    q(tenggarong kutai malay) => [
-      q(7012),
+      q(7014),
       q(0),
       ],
    q(tengger) => [
-      q(6462),
+      q(6464),
       q(0),
       ],
    q(tenharim) => [
-      q(5349),
+      q(5351),
       q(0),
       ],
    q(tenino) => [
-      q(6678),
+      q(6680),
       q(0),
       ],
    q(tenis) => [
-      q(6625),
+      q(6627),
       q(0),
       ],
    q(tennet) => [
-      q(6466),
+      q(6468),
       q(0),
       ],
    q(teop) => [
-      q(6526),
+      q(6528),
       q(0),
       ],
    q(teor) => [
-      q(6464),
+      q(6466),
       q(0),
       ],
    q(tepecano) => [
-      q(6460),
+      q(6462),
       q(0),
       ],
    q(tepetotutla chinantec) => [
-      q(1804),
+      q(1805),
       q(0),
       ],
    q(tepeuxila cuicatec) => [
-      q(1920),
+      q(1921),
       q(0),
       ],
    q(tepinapa chinantec) => [
-      q(1890),
+      q(1891),
       q(0),
       ],
    q(tepo krumen) => [
-      q(6451),
+      q(6453),
       q(0),
       ],
    q(ter sami) => [
-      q(6066),
+      q(6068),
       q(0),
       ],
    q(tera) => [
-      q(6750),
+      q(6752),
       q(0),
       ],
    q(terebu) => [
-      q(6687),
+      q(6689),
       q(0),
       ],
    q(terei) => [
-      q(1505),
+      q(1506),
       q(0),
       ],
    q(tereno) => [
@@ -52932,59 +52946,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(teressa) => [
-      q(6453),
+      q(6455),
       q(0),
       ],
    q(tereweng) => [
-      q(6796),
+      q(6798),
       q(0),
       ],
    q(teribe) => [
-      q(6471),
+      q(6473),
       q(0),
       ],
    q(terik) => [
-      q(6450),
+      q(6452),
       q(0),
       ],
    q(termanu) => [
-      q(6806),
+      q(6808),
       q(0),
       ],
    q(ternate) => [
-      q(6472),
+      q(6474),
       q(0),
       ],
    q(ternateno) => [
-      q(6591),
+      q(6593),
       q(0),
       ],
    q(tesaka malagasy) => [
-      q(6551),
+      q(6553),
       q(0),
       ],
    q(tese) => [
-      q(3261),
+      q(3263),
       q(0),
       ],
    q(teshenawa) => [
-      q(6792),
+      q(6794),
       q(0),
       ],
    q(teso) => [
-      q(6459),
+      q(6461),
       q(0),
       ],
    q(tetela) => [
-      q(6572),
+      q(6574),
       q(0),
       ],
    q(tetelcingo nahuatl) => [
-      q(4864),
+      q(4866),
       q(0),
       ],
    q(tetete) => [
-      q(6449),
+      q(6451),
       q(0),
       ],
    q(tetum) => [
@@ -52992,51 +53006,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tetun dili) => [
-      q(6443),
+      q(6445),
       q(0),
       ],
    q(teutila cuicatec) => [
-      q(1916),
+      q(1917),
       q(0),
       ],
    q(tewa (indonesia)) => [
-      q(6794),
+      q(6796),
       q(0),
       ],
    q(tewa (usa)) => [
-      q(6465),
+      q(6467),
       q(0),
       ],
    q(tewe) => [
-      q(6808),
+      q(6810),
       q(0),
       ],
    q(texcatepec otomi) => [
-      q(5329),
+      q(5331),
       q(0),
       ],
    q(texistepec popoluca) => [
-      q(5563),
+      q(5565),
       q(0),
       ],
    q(texmelucan zapotec) => [
-      q(7937),
+      q(7939),
       q(0),
       ],
    q(tezoatlan mixtec) => [
-      q(4646),
+      q(4648),
       q(0),
       ],
    q(tha) => [
-      q(6513),
+      q(6515),
       q(0),
       ],
    q(thachanadan) => [
-      q(6504),
+      q(6506),
       q(0),
       ],
    q(thado chin) => [
-      q(6425),
+      q(6427),
       q(0),
       ],
    q(thai) => [
@@ -53044,87 +53058,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(thai sign language) => [
-      q(6723),
+      q(6725),
       q(0),
       ],
    q(thai song) => [
-      q(6155),
+      q(6157),
       q(0),
       ],
    q(thaiphum chin) => [
-      q(1892),
+      q(1893),
       q(0),
       ],
    q(thakali) => [
-      q(6508),
+      q(6510),
       q(0),
       ],
    q(thangal naga) => [
-      q(4928),
+      q(4930),
       q(0),
       ],
    q(thangmi) => [
-      q(6498),
+      q(6500),
       q(0),
       ],
    q(thao) => [
-      q(6232),
+      q(6234),
       q(0),
       ],
    q(tharaka) => [
-      q(6501),
+      q(6503),
       q(0),
       ],
    q(thawa) => [
-      q(7524),
+      q(7526),
       q(0),
       ],
    q(thayore) => [
-      q(6496),
+      q(6498),
       q(0),
       ],
    q(thaypan) => [
-      q(6835),
+      q(6837),
       q(0),
       ],
    q(thiin) => [
-      q(2932),
+      q(2933),
       q(0),
       ],
    q(tho) => [
-      q(6648),
+      q(6650),
       q(0),
       ],
    q(thompson) => [
-      q(6505),
+      q(6507),
       q(0),
       ],
    q(thopho) => [
-      q(7757),
+      q(7759),
       q(0),
       ],
    q(thracian) => [
-      q(6815),
+      q(6817),
       q(0),
       ],
    q(thu lao) => [
-      q(6833),
+      q(6835),
       q(0),
       ],
    q(thudam) => [
-      q(6512),
+      q(6514),
       q(0),
       ],
    q(thulung) => [
-      q(6433),
+      q(6435),
       q(0),
       ],
    q(thurawal) => [
-      q(6385),
+      q(6387),
       q(0),
       ],
    q(thuri) => [
-      q(6510),
+      q(6512),
       q(0),
       ],
    q(tiagbamrin aizi) => [
@@ -53132,15 +53146,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tiale) => [
-      q(4422),
+      q(4424),
       q(0),
       ],
    q(tiang) => [
-      q(6387),
+      q(6389),
       q(0),
       ],
    q(tibea) => [
-      q(4856),
+      q(4858),
       q(0),
       ],
    q(tibetan) => [
@@ -53152,55 +53166,55 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tichurong) => [
-      q(6415),
+      q(6417),
       q(0),
       ],
    q(ticuna) => [
-      q(6403),
+      q(6405),
       q(0),
       ],
    q(tidaa mixtec) => [
-      q(4576),
+      q(4578),
       q(0),
       ],
    q(tidikelt tamazight) => [
-      q(6515),
+      q(6517),
       q(0),
       ],
    q(tidong) => [
-      q(6517),
+      q(6519),
       q(0),
       ],
    q(tidore) => [
-      q(6784),
+      q(6786),
       q(0),
       ],
    q(tiefo) => [
-      q(6528),
+      q(6530),
       q(0),
       ],
    q(tiemacewe bozo) => [
-      q(1363),
+      q(1364),
       q(0),
       ],
    q(tiene) => [
-      q(6520),
+      q(6522),
       q(0),
       ],
    q(tieyaxo bozo) => [
-      q(1373),
+      q(1374),
       q(0),
       ],
    q(tifal) => [
-      q(6518),
+      q(6520),
       q(0),
       ],
    q(tigak) => [
-      q(6475),
+      q(6477),
       q(0),
       ],
    q(tigon mbembe) => [
-      q(5175),
+      q(5177),
       q(0),
       ],
    q(tigre) => [
@@ -53212,47 +53226,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tii) => [
-      q(6821),
+      q(6823),
       q(0),
       ],
    q(tijaltepec mixtec) => [
-      q(7514),
+      q(7516),
       q(0),
       ],
    q(tikar) => [
-      q(6522),
+      q(6524),
       q(0),
       ],
    q(tikopia) => [
-      q(6554),
+      q(6556),
       q(0),
       ],
    q(tilapa otomi) => [
-      q(5320),
+      q(5322),
       q(0),
       ],
    q(tillamook) => [
-      q(6523),
+      q(6525),
       q(0),
       ],
    q(tilquiapan zapotec) => [
-      q(7958),
+      q(7960),
       q(0),
       ],
    q(tilung) => [
-      q(6521),
+      q(6523),
       q(0),
       ],
    q(tima) => [
-      q(6602),
+      q(6604),
       q(0),
       ],
    q(timbe) => [
-      q(6524),
+      q(6526),
       q(0),
       ],
    q(timbisha) => [
-      q(5354),
+      q(5356),
       q(1),
       ],
    q(timne) => [
@@ -53260,71 +53274,71 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(timor pidgin) => [
-      q(6789),
+      q(6791),
       q(0),
       ],
    q(timucua) => [
-      q(6540),
+      q(6542),
       q(0),
       ],
    q(timugon murut) => [
-      q(6519),
+      q(6521),
       q(0),
       ],
    q(tinani) => [
-      q(3815),
+      q(3817),
       q(0),
       ],
    q(tindi) => [
-      q(6525),
+      q(6527),
       q(0),
       ],
    q(tingui-boto) => [
-      q(6490),
+      q(6492),
       q(0),
       ],
    q(tinigua) => [
-      q(6530),
+      q(6532),
       q(0),
       ],
    q(tinoc kallahan) => [
-      q(6613),
+      q(6615),
       q(0),
       ],
    q(tinputz) => [
-      q(6674),
+      q(6676),
       q(0),
       ],
    q(tippera) => [
-      q(6656),
+      q(6658),
       q(0),
       ],
    q(tira) => [
-      q(6516),
+      q(6518),
       q(0),
       ],
    q(tirahi) => [
-      q(6686),
+      q(6688),
       q(0),
       ],
    q(tiranige diga dogon) => [
-      q(6430),
+      q(6432),
       q(0),
       ],
    q(tiri) => [
-      q(1739),
+      q(1740),
       q(0),
       ],
    q(tiruray) => [
-      q(6534),
+      q(6536),
       q(0),
       ],
    q(tita) => [
-      q(6440),
+      q(6442),
       q(0),
       ],
    q(titan) => [
-      q(6754),
+      q(6756),
       q(0),
       ],
    q(tiv) => [
@@ -53332,47 +53346,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tiwa) => [
-      q(3808),
+      q(3810),
       q(0),
       ],
    q(tiwi) => [
-      q(6532),
+      q(6534),
       q(0),
       ],
    q(tjurruru) => [
-      q(6544),
+      q(6546),
       q(0),
       ],
    q(tlachichilco tepehua) => [
-      q(6668),
+      q(6670),
       q(0),
       ],
    q(tlacoapa me'phaa) => [
-      q(6661),
+      q(6663),
       q(0),
       ],
    q(tlacoapa tlapanec) => [
-      q(6661),
+      q(6663),
       q(1),
       ],
    q(tlacoatzintepec chinantec) => [
-      q(1893),
+      q(1894),
       q(0),
       ],
    q(tlacolulita zapotec) => [
-      q(7922),
+      q(7924),
       q(0),
       ],
    q(tlahuitoltepec mixe) => [
-      q(4660),
+      q(4662),
       q(0),
       ],
    q(tlamacazapa nahuatl) => [
-      q(5126),
+      q(5128),
       q(0),
       ],
    q(tlazoyaltepec mixtec) => [
-      q(4485),
+      q(4487),
       q(0),
       ],
    q(tlhingan-hol) => [
@@ -53384,51 +53398,51 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(to) => [
-      q(6653),
+      q(6655),
       q(0),
       ],
    q(to'abaita) => [
-      q(4383),
+      q(4385),
       q(0),
       ],
    q(toaripi) => [
-      q(6679),
+      q(6681),
       q(0),
       ],
    q(toba) => [
-      q(6633),
+      q(6635),
       q(0),
       ],
    q(toba-maskoy) => [
-      q(6590),
+      q(6592),
       q(0),
       ],
    q(tobagonian creole english) => [
-      q(6479),
+      q(6481),
       q(0),
       ],
    q(tobanga) => [
-      q(6614),
+      q(6616),
       q(0),
       ],
    q(tobati) => [
-      q(6741),
+      q(6743),
       q(0),
       ],
    q(tobelo) => [
-      q(6565),
+      q(6567),
       q(0),
       ],
    q(tobian) => [
-      q(6651),
+      q(6653),
       q(0),
       ],
    q(tobilung) => [
-      q(6474),
+      q(6476),
       q(0),
       ],
    q(tobo) => [
-      q(6398),
+      q(6400),
       q(0),
       ],
    q(tocantins asurini) => [
@@ -53436,39 +53450,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tocho) => [
-      q(6377),
+      q(6379),
       q(0),
       ],
    q(toda) => [
-      q(6423),
+      q(6425),
       q(0),
       ],
    q(todrah) => [
-      q(6441),
+      q(6443),
       q(0),
       ],
    q(tofanma) => [
-      q(6569),
+      q(6571),
       q(0),
       ],
    q(tofin gbe) => [
-      q(6468),
+      q(6470),
       q(0),
       ],
    q(togbo-vara banda) => [
-      q(6646),
+      q(6648),
       q(0),
       ],
    q(togoyo) => [
-      q(6493),
+      q(6495),
       q(0),
       ],
    q(tohono o'odham) => [
-      q(5281),
+      q(5283),
       q(0),
       ],
    q(tojolabal) => [
-      q(6640),
+      q(6642),
       q(0),
       ],
    q(tok pisin) => [
@@ -53476,7 +53490,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tokano) => [
-      q(7964),
+      q(7966),
       q(0),
       ],
    q(tokelau) => [
@@ -53484,79 +53498,79 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tokharian a) => [
-      q(7517),
+      q(7519),
       q(0),
       ],
    q(tokharian b) => [
-      q(6811),
+      q(6813),
       q(0),
       ],
    q(toku-no-shima) => [
-      q(6553),
+      q(6555),
       q(0),
       ],
    q(tol) => [
-      q(3092),
+      q(3093),
       q(0),
       ],
    q(tolaki) => [
-      q(3830),
+      q(3832),
       q(0),
       ],
    q(tolomako) => [
-      q(6573),
+      q(6575),
       q(0),
       ],
    q(tolowa) => [
-      q(6641),
+      q(6643),
       q(0),
       ],
    q(toma) => [
-      q(6635),
+      q(6637),
       q(0),
       ],
    q(tomadino) => [
-      q(6434),
+      q(6436),
       q(0),
       ],
    q(tombelala) => [
-      q(6748),
+      q(6750),
       q(0),
       ],
    q(tombonuo) => [
-      q(6810),
+      q(6812),
       q(0),
       ],
    q(tombulu) => [
-      q(6642),
+      q(6644),
       q(0),
       ],
    q(tomedes) => [
-      q(6636),
+      q(6638),
       q(0),
       ],
    q(tomini) => [
-      q(6818),
+      q(6820),
       q(0),
       ],
    q(tommo so dogon) => [
-      q(2162),
+      q(2163),
       q(0),
       ],
    q(tomo kan dogon) => [
-      q(2161),
+      q(2162),
       q(0),
       ],
    q(tomoip) => [
-      q(6680),
+      q(6682),
       q(0),
       ],
    q(tondano) => [
-      q(6438),
+      q(6440),
       q(0),
       ],
    q(tondi songway kiini) => [
-      q(6726),
+      q(6728),
       q(0),
       ],
    q(tonga) => [
@@ -53568,7 +53582,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tonga (thailand)) => [
-      q(6632),
+      q(6634),
       q(0),
       ],
    q(tonga (tonga islands)) => [
@@ -53576,95 +53590,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tonga (zambia)) => [
-      q(6639),
+      q(6641),
       q(0),
       ],
    q(tongwe) => [
-      q(6631),
+      q(6633),
       q(0),
       ],
    q(tonjon) => [
-      q(6541),
+      q(6543),
       q(0),
       ],
    q(tonkawa) => [
-      q(6685),
+      q(6687),
       q(0),
       ],
    q(tonsawang) => [
-      q(6629),
+      q(6631),
       q(0),
       ],
    q(tonsea) => [
-      q(6823),
+      q(6825),
       q(0),
       ],
    q(tontemboan) => [
-      q(6626),
+      q(6628),
       q(0),
       ],
    q(tooro) => [
-      q(6742),
+      q(6744),
       q(0),
       ],
    q(topoiyo) => [
-      q(6652),
+      q(6654),
       q(0),
       ],
    q(toposa) => [
-      q(6645),
+      q(6647),
       q(0),
       ],
    q(tora) => [
-      q(6710),
+      q(6712),
       q(0),
       ],
    q(toraja-sa'dan) => [
-      q(5941),
+      q(5943),
       q(0),
       ],
    q(toram) => [
-      q(6695),
+      q(6697),
       q(0),
       ],
    q(torau) => [
-      q(6753),
+      q(6755),
       q(0),
       ],
    q(tornedalen finnish) => [
-      q(2348),
+      q(2349),
       q(0),
       ],
    q(toro) => [
-      q(6445),
+      q(6447),
       q(0),
       ],
    q(toro so dogon) => [
-      q(2165),
+      q(2166),
       q(0),
       ],
    q(toro tegu dogon) => [
-      q(2166),
+      q(2167),
       q(0),
       ],
    q(toromono) => [
-      q(6621),
+      q(6623),
       q(0),
       ],
    q(torona) => [
-      q(6682),
+      q(6684),
       q(0),
       ],
    q(torres strait creole) => [
-      q(6419),
+      q(6421),
       q(0),
       ],
    q(torricelli) => [
-      q(6456),
+      q(6458),
       q(0),
       ],
    q(torwali) => [
-      q(6707),
+      q(6709),
       q(0),
       ],
    q(tosk albanian) => [
@@ -53672,43 +53686,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(totela) => [
-      q(6744),
+      q(6746),
       q(0),
       ],
    q(toto) => [
-      q(6820),
+      q(6822),
       q(0),
       ],
    q(totoli) => [
-      q(6813),
+      q(6815),
       q(0),
       ],
    q(totomachapan zapotec) => [
-      q(7919),
+      q(7921),
       q(0),
       ],
    q(totontepec mixe) => [
-      q(4567),
+      q(4569),
       q(0),
       ],
    q(totoro) => [
-      q(6743),
+      q(6745),
       q(0),
       ],
    q(touo) => [
-      q(6684),
+      q(6686),
       q(0),
       ],
    q(toura (cote d'ivoire)) => [
-      q(4806),
+      q(4808),
       q(0),
       ],
    q(toura (papua new guinea)) => [
-      q(2120),
+      q(2121),
       q(0),
       ],
    q(towei) => [
-      q(6746),
+      q(6748),
       q(0),
       ],
    q(trans-new guinea languages) => [
@@ -53716,123 +53730,123 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(transalpine gaulish) => [
-      q(7510),
+      q(7512),
       q(0),
       ],
    q(traveller danish) => [
-      q(5806),
+      q(5808),
       q(0),
       ],
    q(traveller norwegian) => [
-      q(5809),
+      q(5811),
       q(0),
       ],
    q(traveller scottish) => [
-      q(6696),
+      q(6698),
       q(0),
       ],
    q(tregami) => [
-      q(6697),
+      q(6699),
       q(0),
       ],
    q(tremembe) => [
-      q(6589),
+      q(6591),
       q(0),
       ],
    q(trieng) => [
-      q(6257),
+      q(6259),
       q(0),
       ],
    q(trimuris) => [
-      q(6527),
+      q(6529),
       q(0),
       ],
    q(tring) => [
-      q(6485),
+      q(6487),
       q(0),
       ],
    q(tringgus-sembaan bidayuh) => [
-      q(6708),
+      q(6710),
       q(0),
       ],
    q(trinidad and tobago sign language) => [
-      q(4066),
+      q(4068),
       q(0),
       ],
    q(trinidadian creole english) => [
-      q(6691),
+      q(6693),
       q(0),
       ],
    q(trinitario) => [
-      q(6698),
+      q(6700),
       q(0),
       ],
    q(trio) => [
-      q(6694),
+      q(6696),
       q(0),
       ],
    q(truka) => [
-      q(6546),
+      q(6548),
       q(0),
       ],
    q(trumai) => [
-      q(6673),
+      q(6675),
       q(0),
       ],
    q(ts'un-lao) => [
-      q(6720),
+      q(6722),
       q(0),
       ],
    q(tsaangi) => [
-      q(6711),
+      q(6713),
       q(0),
       ],
    q(tsakhur) => [
-      q(6556),
+      q(6558),
       q(0),
       ],
    q(tsakonian) => [
-      q(6714),
+      q(6716),
       q(0),
       ],
    q(tsakwambo) => [
-      q(3690),
+      q(3692),
       q(0),
       ],
    q(tsamai) => [
-      q(6712),
+      q(6714),
       q(0),
       ],
    q(tsat) => [
-      q(2864),
+      q(2865),
       q(0),
       ],
    q(tsaukambo) => [
-      q(3690),
+      q(3692),
       q(1),
       ],
    q(tseku) => [
-      q(6719),
+      q(6721),
       q(0),
       ],
    q(tsetsaut) => [
-      q(6812),
+      q(6814),
       q(0),
       ],
    q(tshangla) => [
-      q(6718),
+      q(6720),
       q(0),
       ],
    q(tsikimba) => [
-      q(3243),
+      q(3245),
       q(0),
       ],
    q(tsimane) => [
-      q(1653),
+      q(1654),
       q(0),
       ],
    q(tsimihety malagasy) => [
-      q(7426),
+      q(7428),
       q(0),
       ],
    q(tsimshian) => [
@@ -53840,19 +53854,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tsishingini) => [
-      q(6729),
+      q(6731),
       q(0),
       ],
    q(tso) => [
-      q(3856),
+      q(3858),
       q(0),
       ],
    q(tsoa) => [
-      q(2761),
+      q(2762),
       q(0),
       ],
    q(tsogo) => [
-      q(6728),
+      q(6730),
       q(0),
       ],
    q(tsonga) => [
@@ -53860,35 +53874,35 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tsotsitaal) => [
-      q(2358),
+      q(2359),
       q(1),
       ],
    q(tsotso) => [
-      q(4072),
+      q(4074),
       q(0),
       ],
    q(tsou) => [
-      q(6727),
+      q(6729),
       q(0),
       ],
    q(tsucuba) => [
-      q(1671),
+      q(1672),
       q(0),
       ],
    q(tsum) => [
-      q(6757),
+      q(6759),
       q(0),
       ],
    q(tsuvadi) => [
-      q(6779),
+      q(6781),
       q(0),
       ],
    q(tsuvan) => [
-      q(6717),
+      q(6719),
       q(0),
       ],
    q(tswa) => [
-      q(6713),
+      q(6715),
       q(0),
       ],
    q(tswana) => [
@@ -53896,95 +53910,95 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tswapong) => [
-      q(6801),
+      q(6803),
       q(0),
       ],
    q(tu) => [
-      q(4322),
+      q(4324),
       q(0),
       ],
    q(tuamotuan) => [
-      q(5523),
+      q(5525),
       q(0),
       ],
    q(tubar) => [
-      q(6397),
+      q(6399),
       q(0),
       ],
    q(tubatulabal) => [
-      q(6759),
+      q(6761),
       q(0),
       ],
    q(tucano) => [
-      q(6770),
+      q(6772),
       q(0),
       ],
    q(tugen) => [
-      q(6776),
+      q(6778),
       q(0),
       ],
    q(tugun) => [
-      q(6847),
+      q(6849),
       q(0),
       ],
    q(tugutil) => [
-      q(6767),
+      q(6769),
       q(0),
       ],
    q(tukang besi north) => [
-      q(3332),
+      q(3334),
       q(0),
       ],
    q(tukang besi south) => [
-      q(1199),
+      q(1200),
       q(0),
       ],
    q(tuki) => [
-      q(1026),
+      q(1027),
       q(0),
       ],
    q(tukpa) => [
-      q(6666),
+      q(6668),
       q(0),
       ],
    q(tukudede) => [
-      q(6548),
+      q(6550),
       q(0),
       ],
    q(tukumanfed) => [
-      q(6550),
+      q(6552),
       q(0),
       ],
    q(tula) => [
-      q(6768),
+      q(6770),
       q(0),
       ],
    q(tulehu) => [
-      q(6581),
+      q(6583),
       q(0),
       ],
    q(tulishi) => [
-      q(6467),
+      q(6469),
       q(0),
       ],
    q(tulu) => [
-      q(6424),
+      q(6426),
       q(0),
       ],
    q(tulu-bohuai) => [
-      q(5742),
+      q(5744),
       q(0),
       ],
    q(tuma-irumu) => [
-      q(2980),
+      q(2981),
       q(0),
       ],
    q(tumak) => [
-      q(6587),
+      q(6589),
       q(0),
       ],
    q(tumari kanuri) => [
-      q(3586),
+      q(3588),
       q(0),
       ],
    q(tumbuka) => [
@@ -53992,43 +54006,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tumi) => [
-      q(3421),
+      q(3423),
       q(0),
       ],
    q(tumleo) => [
-      q(6600),
+      q(6602),
       q(0),
       ],
    q(tumshuqese) => [
-      q(7519),
+      q(7521),
       q(0),
       ],
    q(tumtum) => [
-      q(6394),
+      q(6396),
       q(0),
       ],
    q(tumulung sisaala) => [
-      q(6041),
+      q(6043),
       q(0),
       ],
    q(tumzabt) => [
-      q(4693),
+      q(4695),
       q(0),
       ],
    q(tundra enets) => [
-      q(2268),
+      q(2269),
       q(0),
       ],
    q(tunen) => [
-      q(6787),
+      q(6789),
       q(0),
       ],
    q(tungag) => [
-      q(3840),
+      q(3842),
       q(0),
       ],
    q(tunggare) => [
-      q(6704),
+      q(6706),
       q(0),
       ],
    q(tungus languages) => [
@@ -54036,11 +54050,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tunia) => [
-      q(6764),
+      q(6766),
       q(0),
       ],
    q(tunica) => [
-      q(6769),
+      q(6771),
       q(0),
       ],
    q(tunisian arabic) => [
@@ -54048,31 +54062,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tunisian sign language) => [
-      q(6715),
+      q(6717),
       q(0),
       ],
    q(tunjung) => [
-      q(6537),
+      q(6539),
       q(0),
       ],
    q(tunni) => [
-      q(6681),
+      q(6683),
       q(0),
       ],
    q(tunzu) => [
-      q(2206),
+      q(2207),
       q(0),
       ],
    q(tuotomb) => [
-      q(6738),
+      q(6740),
       q(0),
       ],
    q(tupari) => [
-      q(6667),
+      q(6669),
       q(0),
       ],
    q(tupi) => [
-      q(6671),
+      q(6673),
       q(0),
       ],
    q(tupi languages) => [
@@ -54080,43 +54094,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tupinamba) => [
-      q(6663),
+      q(6665),
       q(0),
       ],
    q(tupinikin) => [
-      q(6660),
+      q(6662),
       q(0),
       ],
    q(tupuri) => [
-      q(6766),
+      q(6768),
       q(0),
       ],
    q(turaka) => [
-      q(6693),
+      q(6695),
       q(0),
       ],
    q(turi) => [
-      q(6689),
+      q(6691),
       q(0),
       ],
    q(turiwara) => [
-      q(6805),
+      q(6807),
       q(0),
       ],
    q(turk isaret dili) => [
-      q(6721),
+      q(6723),
       q(1),
       ],
    q(turka) => [
-      q(6777),
+      q(6779),
       q(0),
       ],
    q(turkana) => [
-      q(6774),
+      q(6776),
       q(0),
       ],
    q(turkic khalaj) => [
-      q(3436),
+      q(3438),
       q(0),
       ],
    q(turkic languages) => [
@@ -54128,7 +54142,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(turkish sign language) => [
-      q(6721),
+      q(6723),
       q(0),
       ],
    q(turkish, ottoman (1500-1928)) => [
@@ -54140,47 +54154,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(turks and caicos creole english) => [
-      q(6410),
+      q(6412),
       q(0),
       ],
    q(turoyo) => [
-      q(6705),
+      q(6707),
       q(0),
       ],
    q(turumsa) => [
-      q(6677),
+      q(6679),
       q(0),
       ],
    q(turung) => [
-      q(6709),
+      q(6711),
       q(0),
       ],
    q(tuscarora) => [
-      q(6772),
+      q(6774),
       q(0),
       ],
    q(tutelo) => [
-      q(6733),
+      q(6735),
       q(0),
       ],
    q(tutong) => [
-      q(6739),
+      q(6741),
       q(0),
       ],
    q(tutsa naga) => [
-      q(6786),
+      q(6788),
       q(0),
       ],
    q(tutuba) => [
-      q(6592),
+      q(6594),
       q(0),
       ],
    q(tututepec mixtec) => [
-      q(4573),
+      q(4575),
       q(0),
       ],
    q(tututni) => [
-      q(6773),
+      q(6775),
       q(0),
       ],
    q(tuvalu) => [
@@ -54192,39 +54206,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tuwali ifugao) => [
-      q(2915),
+      q(2916),
       q(0),
       ],
    q(tuwari) => [
-      q(6807),
+      q(6809),
       q(0),
       ],
    q(tuwuli) => [
-      q(1369),
+      q(1370),
       q(0),
       ],
    q(tuxa) => [
-      q(6761),
+      q(6763),
       q(0),
       ],
    q(tuxinawa) => [
-      q(6775),
+      q(6777),
       q(0),
       ],
    q(tuyuca) => [
-      q(6762),
+      q(6764),
       q(0),
       ],
    q(twana) => [
-      q(6790),
+      q(6792),
       q(0),
       ],
    q(twendi) => [
-      q(6800),
+      q(6802),
       q(0),
       ],
    q(twents) => [
-      q(6793),
+      q(6795),
       q(0),
       ],
    q(twi) => [
@@ -54232,27 +54246,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(tyap) => [
-      q(3213),
+      q(3215),
       q(0),
       ],
    q(tyaraity) => [
-      q(7194),
+      q(7196),
       q(0),
       ],
    q(tz'utujil) => [
-      q(6844),
+      q(6846),
       q(0),
       ],
    q(tzeltal) => [
-      q(6843),
+      q(6845),
       q(0),
       ],
    q(tzotzil) => [
-      q(6848),
+      q(6850),
       q(0),
       ],
    q(u) => [
-      q(6960),
+      q(6962),
       q(0),
       ],
    q(uab meto) => [
@@ -54260,47 +54274,47 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uamue) => [
-      q(6850),
+      q(6852),
       q(0),
       ],
    q(uare) => [
-      q(3601),
+      q(3603),
       q(0),
       ],
    q(ubaghara) => [
-      q(1591),
+      q(1592),
       q(0),
       ],
    q(ubang) => [
-      q(6853),
+      q(6855),
       q(0),
       ],
    q(ubi) => [
-      q(6854),
+      q(6856),
       q(0),
       ],
    q(ubir) => [
-      q(6856),
+      q(6858),
       q(0),
       ],
    q(ubykh) => [
-      q(6858),
+      q(6860),
       q(0),
       ],
    q(ucayali-yurua asheninka) => [
-      q(1831),
+      q(1832),
       q(0),
       ],
    q(uda) => [
-      q(6859),
+      q(6861),
       q(0),
       ],
    q(udi) => [
-      q(6862),
+      q(6864),
       q(0),
       ],
    q(udihe) => [
-      q(6860),
+      q(6862),
       q(0),
       ],
    q(udmurt) => [
@@ -54308,15 +54322,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uduk) => [
-      q(6865),
+      q(6867),
       q(0),
       ],
    q(ufim) => [
-      q(6867),
+      q(6869),
       q(0),
       ],
    q(ugandan sign language) => [
-      q(6870),
+      q(6872),
       q(0),
       ],
    q(ugaritic) => [
@@ -54324,15 +54338,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ughele) => [
-      q(6869),
+      q(6871),
       q(0),
       ],
    q(ugong) => [
-      q(6871),
+      q(6873),
       q(0),
       ],
    q(uhami) => [
-      q(6873),
+      q(6875),
       q(0),
       ],
    q(uighur) => [
@@ -54340,27 +54354,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uisai) => [
-      q(6875),
+      q(6877),
       q(0),
       ],
    q(ujir) => [
-      q(6863),
+      q(6865),
       q(0),
       ],
    q(ukaan) => [
-      q(3212),
+      q(3214),
       q(0),
       ],
    q(ukhwejo) => [
-      q(6880),
+      q(6882),
       q(0),
       ],
    q(ukit) => [
-      q(6904),
+      q(6906),
       q(0),
       ],
    q(ukpe-bayobiri) => [
-      q(6882),
+      q(6884),
       q(0),
       ],
    q(ukpet-ehom) => [
@@ -54372,87 +54386,87 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(ukrainian sign language) => [
-      q(6881),
+      q(6883),
       q(0),
       ],
    q(ukue) => [
-      q(6885),
+      q(6887),
       q(0),
       ],
    q(ukuriguma) => [
-      q(6879),
+      q(6881),
       q(0),
       ],
    q(ukwa) => [
-      q(6883),
+      q(6885),
       q(0),
       ],
    q(ukwuani-aboh-ndoni) => [
-      q(6886),
+      q(6888),
       q(0),
       ],
    q(ulau-suain) => [
-      q(6290),
+      q(6292),
       q(0),
       ],
    q(ulch) => [
-      q(6890),
+      q(6892),
       q(0),
       ],
    q(ulithian) => [
-      q(6893),
+      q(6895),
       q(0),
       ],
    q(ullatan) => [
-      q(6895),
+      q(6897),
       q(0),
       ],
    q(ulukwumi) => [
-      q(6889),
+      q(6891),
       q(0),
       ],
    q(ulumanda') => [
-      q(6896),
+      q(6898),
       q(0),
       ],
    q(ulwa) => [
-      q(6899),
+      q(6901),
       q(0),
       ],
    q(uma) => [
-      q(5573),
+      q(5575),
       q(0),
       ],
    q(uma' lasan) => [
-      q(7390),
+      q(7392),
       q(0),
       ],
    q(uma' lung) => [
-      q(6898),
+      q(6900),
       q(0),
       ],
    q(umanakaina) => [
-      q(2464),
+      q(2465),
       q(0),
       ],
    q(umatilla) => [
-      q(6900),
+      q(6902),
       q(0),
       ],
    q(umbindhamu) => [
-      q(6902),
+      q(6904),
       q(0),
       ],
    q(umbrian) => [
-      q(7534),
+      q(7536),
       q(0),
       ],
    q(umbu-ungu) => [
-      q(6857),
+      q(6859),
       q(0),
       ],
    q(umbugarla) => [
-      q(6909),
+      q(6911),
       q(0),
       ],
    q(umbundu) => [
@@ -54460,43 +54474,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(umbuygamu) => [
-      q(6903),
+      q(6905),
       q(0),
       ],
    q(ume sami) => [
-      q(6067),
+      q(6069),
       q(0),
       ],
    q(umeda) => [
-      q(6922),
+      q(6924),
       q(0),
       ],
    q(umiida) => [
-      q(7530),
+      q(7532),
       q(0),
       ],
    q(umiray dumaget agta) => [
-      q(2172),
+      q(2173),
       q(0),
       ],
    q(umon) => [
-      q(6905),
+      q(6907),
       q(0),
       ],
    q(umotina) => [
-      q(6907),
+      q(6909),
       q(0),
       ],
    q(umpila) => [
-      q(6908),
+      q(6910),
       q(0),
       ],
    q(una) => [
-      q(4559),
+      q(4561),
       q(0),
       ],
    q(unami) => [
-      q(6916),
+      q(6918),
       q(0),
       ],
    q(uncoded languages) => [
@@ -54504,7 +54518,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(unde kaili) => [
-      q(6921),
+      q(6923),
       q(0),
       ],
    q(undetermined) => [
@@ -54512,63 +54526,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uneapa) => [
-      q(1050),
+      q(1051),
       q(0),
       ],
    q(uneme) => [
-      q(6913),
+      q(6915),
       q(0),
       ],
    q(unggaranggu) => [
-      q(7535),
+      q(7537),
       q(0),
       ],
    q(unggumi) => [
-      q(7346),
+      q(7348),
       q(0),
       ],
    q(ungkue) => [
-      q(2541),
+      q(2542),
       q(0),
       ],
    q(unserdeutsch) => [
-      q(6897),
+      q(6899),
       q(0),
       ],
    q(unua) => [
-      q(5278),
+      q(5280),
       q(0),
       ],
    q(unubahe) => [
-      q(6919),
+      q(6921),
       q(0),
       ],
    q(upper chehalis) => [
-      q(1744),
+      q(1745),
       q(0),
       ],
    q(upper grand valley dani) => [
-      q(2098),
+      q(2099),
       q(0),
       ],
    q(upper guinea crioulo) => [
-      q(5566),
+      q(5568),
       q(0),
       ],
    q(upper kinabatangan) => [
-      q(2086),
+      q(2087),
       q(0),
       ],
    q(upper kuskokwim) => [
-      q(3659),
+      q(3661),
       q(0),
       ],
    q(upper necaxa totonac) => [
-      q(6559),
+      q(6561),
       q(0),
       ],
    q(upper saxon) => [
-      q(6331),
+      q(6333),
       q(0),
       ],
    q(upper sorbian) => [
@@ -54576,39 +54590,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(upper ta'oih) => [
-      q(6740),
+      q(6742),
       q(0),
       ],
    q(upper tanana) => [
-      q(6372),
+      q(6374),
       q(0),
       ],
    q(upper taromi) => [
-      q(6649),
+      q(6651),
       q(0),
       ],
    q(upper umpqua) => [
-      q(7537),
+      q(7539),
       q(0),
       ],
    q(ura (papua new guinea)) => [
-      q(6936),
+      q(6938),
       q(0),
       ],
    q(ura (vanuatu)) => [
-      q(6959),
+      q(6961),
       q(0),
       ],
    q(uradhi) => [
-      q(6928),
+      q(6930),
       q(0),
       ],
    q(urak lawoi') => [
-      q(6932),
+      q(6934),
       q(0),
       ],
    q(urali) => [
-      q(6933),
+      q(6935),
       q(0),
       ],
    q(uralic languages) => [
@@ -54616,19 +54630,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(urapmin) => [
-      q(6934),
+      q(6936),
       q(0),
       ],
    q(urarina) => [
-      q(6924),
+      q(6926),
       q(0),
       ],
    q(urartian) => [
-      q(7538),
+      q(7540),
       q(0),
       ],
    q(urat) => [
-      q(6939),
+      q(6941),
       q(0),
       ],
    q(urdu) => [
@@ -54636,115 +54650,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(urhobo) => [
-      q(6930),
+      q(6932),
       q(0),
       ],
    q(uri) => [
-      q(6962),
+      q(6964),
       q(0),
       ],
    q(urigina) => [
-      q(6929),
+      q(6931),
       q(0),
       ],
    q(urim) => [
-      q(6931),
+      q(6933),
       q(0),
       ],
    q(urimo) => [
-      q(6943),
+      q(6945),
       q(0),
       ],
    q(uripiv-wala-rano-atchin) => [
-      q(6923),
+      q(6925),
       q(0),
       ],
    q(urningangg) => [
-      q(6926),
+      q(6928),
       q(0),
       ],
    q(uru) => [
-      q(6927),
+      q(6929),
       q(0),
       ],
    q(uru-eu-wau-wau) => [
-      q(6945),
+      q(6947),
       q(0),
       ],
    q(uru-pa-in) => [
-      q(6937),
+      q(6939),
       q(0),
       ],
    q(uruangnirin) => [
-      q(6935),
+      q(6937),
       q(0),
       ],
    q(uruava) => [
-      q(6941),
+      q(6943),
       q(0),
       ],
    q(urubu-kaapor) => [
-      q(6925),
+      q(6927),
       q(0),
       ],
    q(urubu-kaapor sign language) => [
-      q(6884),
+      q(6886),
       q(0),
       ],
    q(uruguayan sign language) => [
-      q(6872),
+      q(6874),
       q(0),
       ],
    q(urum) => [
-      q(6957),
+      q(6959),
       q(0),
       ],
    q(urumi) => [
-      q(6940),
+      q(6942),
       q(0),
       ],
    q(usaghade) => [
-      q(6949),
+      q(6951),
       q(0),
       ],
    q(usan) => [
-      q(7191),
+      q(7193),
       q(0),
       ],
    q(usarufa) => [
-      q(6946),
+      q(6948),
       q(0),
       ],
    q(ushojo) => [
-      q(6947),
+      q(6949),
       q(0),
       ],
    q(usila chinantec) => [
-      q(1904),
+      q(1905),
       q(0),
       ],
    q(usku) => [
-      q(6892),
+      q(6894),
       q(0),
       ],
    q(uspanteco) => [
-      q(6950),
+      q(6952),
       q(0),
       ],
    q(usui) => [
-      q(6948),
+      q(6950),
       q(0),
       ],
    q(ut-ma'in) => [
-      q(2481),
+      q(2482),
       q(0),
       ],
    q(utarmbung) => [
-      q(5258),
+      q(5260),
       q(0),
       ],
    q(ute-southern paiute) => [
-      q(6953),
+      q(6955),
       q(0),
       ],
    q(uto-aztecan languages) => [
@@ -54752,19 +54766,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(utu) => [
-      q(6956),
+      q(6958),
       q(0),
       ],
    q(uvbie) => [
-      q(2314),
+      q(2315),
       q(0),
       ],
    q(uya) => [
-      q(6951),
+      q(6953),
       q(0),
       ],
    q(uyajitaya) => [
-      q(2178),
+      q(2179),
       q(0),
       ],
    q(uyghur) => [
@@ -54776,43 +54790,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(uzbeki arabic) => [
-      q(0953),
+      q(0954),
       q(0),
       ],
    q(uzekwe) => [
-      q(2320),
+      q(2321),
       q(0),
       ],
    q(v'enen taut) => [
-      q(4961),
+      q(4963),
       q(1),
       ],
    q(vaagri booli) => [
-      q(6968),
+      q(6970),
       q(0),
       ],
    q(vaeakau-taumako) => [
-      q(5466),
+      q(5468),
       q(1),
       ],
    q(vafsi) => [
-      q(6970),
+      q(6972),
       q(0),
       ],
    q(vaghat-ya-bijim-legeri) => [
-      q(1216),
+      q(1217),
       q(0),
       ],
    q(vaghri) => [
-      q(6993),
+      q(6995),
       q(0),
       ],
    q(vaghua) => [
-      q(6778),
+      q(6780),
       q(0),
       ],
    q(vagla) => [
-      q(6971),
+      q(6973),
       q(0),
       ],
    q(vai) => [
@@ -54820,11 +54834,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(vaiphei) => [
-      q(6978),
+      q(6980),
       q(0),
       ],
    q(vale) => [
-      q(6969),
+      q(6971),
       q(0),
       ],
    q(valencian) => [
@@ -54832,91 +54846,91 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(valencian sign language) => [
-      q(7048),
+      q(7050),
       q(0),
       ],
    q(valle nacional chinantec) => [
-      q(1922),
+      q(1923),
       q(0),
       ],
    q(valley maidu) => [
-      q(7034),
+      q(7036),
       q(0),
       ],
    q(valman) => [
-      q(6976),
+      q(6978),
       q(0),
       ],
    q(valpei) => [
-      q(7014),
+      q(7016),
       q(0),
       ],
    q(vamale) => [
-      q(4359),
+      q(4361),
       q(0),
       ],
    q(vame) => [
-      q(4381),
+      q(4383),
       q(0),
       ],
    q(vandalic) => [
-      q(7543),
+      q(7545),
       q(0),
       ],
    q(vangunu) => [
-      q(4470),
+      q(4472),
       q(0),
       ],
    q(vanimo) => [
-      q(6975),
+      q(6977),
       q(0),
       ],
    q(vano) => [
-      q(7039),
+      q(7041),
       q(0),
       ],
    q(vanuma) => [
-      q(6981),
+      q(6983),
       q(0),
       ],
    q(vao) => [
-      q(6977),
+      q(6979),
       q(0),
       ],
    q(varhadi-nagpuri) => [
-      q(6972),
+      q(6974),
       q(0),
       ],
    q(varisi) => [
-      q(7044),
+      q(7046),
       q(0),
       ],
    q(varli) => [
-      q(6982),
+      q(6984),
       q(0),
       ],
    q(vasavi) => [
-      q(6980),
+      q(6982),
       q(0),
       ],
    q(vasekele) => [
-      q(6973),
+      q(6975),
       q(3),
       ],
    q(veddah) => [
-      q(6987),
+      q(6989),
       q(0),
       ],
    q(vehes) => [
-      q(6974),
+      q(6976),
       q(0),
       ],
    q(veluws) => [
-      q(6988),
+      q(6990),
       q(0),
       ],
    q(vemgo-mabas) => [
-      q(6989),
+      q(6991),
       q(0),
       ],
    q(venda) => [
@@ -54924,43 +54938,43 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(venetian) => [
-      q(6986),
+      q(6988),
       q(0),
       ],
    q(venetic) => [
-      q(7541),
+      q(7543),
       q(0),
       ],
    q(venezuelan sign language) => [
-      q(7047),
+      q(7049),
       q(0),
       ],
    q(vengo) => [
-      q(1033),
+      q(1034),
       q(0),
       ],
    q(ventureno) => [
-      q(6990),
+      q(6992),
       q(0),
       ],
    q(veps) => [
-      q(6991),
+      q(6993),
       q(0),
       ],
    q(vera'a) => [
-      q(7043),
+      q(7045),
       q(0),
       ],
    q(vestinian) => [
-      q(7545),
+      q(7547),
       q(0),
       ],
    q(vidunda) => [
-      q(6996),
+      q(6998),
       q(0),
       ],
    q(viemo) => [
-      q(6998),
+      q(7000),
       q(0),
       ],
    q(vietnamese) => [
@@ -54968,63 +54982,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(viid) => [
-      q(6149),
+      q(6151),
       q(1),
       ],
    q(vilela) => [
-      q(6999),
+      q(7001),
       q(0),
       ],
    q(vili) => [
-      q(6997),
+      q(6999),
       q(0),
       ],
    q(villa viciosa agta) => [
-      q(2200),
+      q(2201),
       q(0),
       ],
    q(vincentian creole english) => [
-      q(6291),
+      q(6293),
       q(0),
       ],
    q(vinmavis) => [
-      q(7040),
+      q(7042),
       q(0),
       ],
    q(vinza) => [
-      q(7000),
+      q(7002),
       q(0),
       ],
    q(virgin islands creole english) => [
-      q(6995),
+      q(6997),
       q(0),
       ],
    q(vishavan) => [
-      q(7001),
+      q(7003),
       q(0),
       ],
    q(viti) => [
-      q(7002),
+      q(7004),
       q(0),
       ],
    q(vitou) => [
-      q(7049),
+      q(7051),
       q(0),
       ],
    q(vitu) => [
-      q(7139),
+      q(7141),
       q(0),
       ],
    q(vlaams) => [
-      q(7015),
+      q(7017),
       q(0),
       ],
    q(vlaamse gebarentaal) => [
-      q(6994),
+      q(6996),
       q(0),
       ],
    q(vlax romani) => [
-      q(5825),
+      q(5827),
       q(0),
       ],
    q(volapuk) => [
@@ -55032,15 +55046,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(volscian) => [
-      q(7544),
+      q(7546),
       q(0),
       ],
    q(vono) => [
-      q(3214),
+      q(3216),
       q(0),
       ],
    q(voro) => [
-      q(7042),
+      q(7044),
       q(0),
       ],
    q(votic) => [
@@ -55048,199 +55062,199 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(vumbu) => [
-      q(7050),
+      q(7052),
       q(0),
       ],
    q(vunapu) => [
-      q(7041),
+      q(7043),
       q(0),
       ],
    q(vunjo) => [
-      q(7051),
+      q(7053),
       q(0),
       ],
    q(vure) => [
-      q(3947),
+      q(3949),
       q(1),
       ],
    q(vures) => [
-      q(4541),
+      q(4543),
       q(0),
       ],
    q(vute) => [
-      q(7052),
+      q(7054),
       q(0),
       ],
    q(vwanji) => [
-      q(7080),
+      q(7082),
       q(0),
       ],
    q(wa) => [
-      q(7084),
+      q(7086),
       q(0),
       ],
    q(wa'ema) => [
-      q(7060),
+      q(7062),
       q(0),
       ],
    q(waama) => [
-      q(7257),
+      q(7259),
       q(0),
       ],
    q(waamwang) => [
-      q(7174),
+      q(7176),
       q(0),
       ],
    q(waata) => [
-      q(6240),
+      q(6242),
       q(0),
       ],
    q(wab) => [
-      q(7055),
+      q(7057),
       q(0),
       ],
    q(wabo) => [
-      q(7077),
+      q(7079),
       q(0),
       ],
    q(waboda) => [
-      q(3475),
+      q(3477),
       q(0),
       ],
    q(waci gbe) => [
-      q(7092),
+      q(7094),
       q(0),
       ],
    q(wadaginam) => [
-      q(7094),
+      q(7096),
       q(0),
       ],
    q(waddar) => [
-      q(7086),
+      q(7088),
       q(0),
       ],
    q(wadi wadi) => [
-      q(7548),
+      q(7550),
       q(0),
       ],
    q(wadikali) => [
-      q(7096),
+      q(7098),
       q(0),
       ],
    q(wadiyara koli) => [
-      q(3729),
+      q(3731),
       q(0),
       ],
    q(wadjabangayi) => [
-      q(7098),
+      q(7100),
       q(0),
       ],
    q(wadjiginy) => [
-      q(7095),
+      q(7097),
       q(0),
       ],
    q(wadjigu) => [
-      q(7097),
+      q(7099),
       q(0),
       ],
    q(wae rana) => [
-      q(7228),
+      q(7230),
       q(0),
       ],
    q(waffa) => [
-      q(7063),
+      q(7065),
       q(0),
       ],
    q(wagawaga) => [
-      q(7115),
+      q(7117),
       q(0),
       ],
    q(wagaya) => [
-      q(7114),
+      q(7116),
       q(0),
       ],
    q(wagdi) => [
-      q(7087),
+      q(7089),
       q(0),
       ],
    q(wageman) => [
-      q(7068),
+      q(7070),
       q(0),
       ],
    q(wagi) => [
-      q(2323),
+      q(2324),
       q(0),
       ],
    q(wahau kayan) => [
-      q(7124),
+      q(7126),
       q(0),
       ],
    q(wahau kenyah) => [
-      q(7123),
+      q(7125),
       q(0),
       ],
    q(wahgi) => [
-      q(7117),
+      q(7119),
       q(0),
       ],
    q(waigali) => [
-      q(7082),
+      q(7084),
       q(0),
       ],
    q(waigeo) => [
-      q(7118),
+      q(7120),
       q(0),
       ],
    q(wailaki) => [
-      q(7155),
+      q(7157),
       q(0),
       ],
    q(wailapa) => [
-      q(7159),
+      q(7161),
       q(0),
       ],
    q(waima) => [
-      q(5850),
+      q(5852),
       q(0),
       ],
    q(waima'a) => [
-      q(7171),
+      q(7173),
       q(0),
       ],
    q(waimaha) => [
-      q(1029),
+      q(1030),
       q(0),
       ],
    q(waimiri-atroari) => [
-      q(0923),
+      q(0924),
       q(0),
       ],
    q(waioli) => [
-      q(7154),
+      q(7156),
       q(0),
       ],
    q(waiwai) => [
-      q(7072),
+      q(7074),
       q(0),
       ],
    q(waja) => [
-      q(7141),
+      q(7143),
       q(0),
       ],
    q(wajarri) => [
-      q(7089),
+      q(7091),
       q(0),
       ],
    q(wajuk) => [
-      q(7551),
+      q(7553),
       q(0),
       ],
    q(waka) => [
-      q(7071),
+      q(7073),
       q(0),
       ],
    q(wakabunga) => [
-      q(7258),
+      q(7260),
       q(0),
       ],
    q(wakashan languages) => [
@@ -55248,27 +55262,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wakawaka) => [
-      q(7148),
+      q(7150),
       q(0),
       ],
    q(wakde) => [
-      q(7145),
+      q(7147),
       q(0),
       ],
    q(wakhi) => [
-      q(7083),
+      q(7085),
       q(0),
       ],
    q(wakona) => [
-      q(7059),
+      q(7061),
       q(0),
       ],
    q(wala) => [
-      q(3890),
+      q(3892),
       q(0),
       ],
    q(walak) => [
-      q(7163),
+      q(7165),
       q(0),
       ],
    q(walamo) => [
@@ -55276,31 +55290,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(walangama) => [
-      q(4956),
+      q(4958),
       q(0),
       ],
    q(wali (ghana)) => [
-      q(7164),
+      q(7166),
       q(0),
       ],
    q(wali (sudan)) => [
-      q(7156),
+      q(7158),
       q(0),
       ],
    q(waling) => [
-      q(7165),
+      q(7167),
       q(0),
       ],
    q(walio) => [
-      q(7150),
+      q(7152),
       q(0),
       ],
    q(walla walla) => [
-      q(7054),
+      q(7056),
       q(0),
       ],
    q(wallisian) => [
-      q(7160),
+      q(7162),
       q(0),
       ],
    q(walloon) => [
@@ -55308,63 +55322,63 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(walmajarri) => [
-      q(7177),
+      q(7179),
       q(0),
       ],
    q(walser) => [
-      q(7058),
+      q(7060),
       q(0),
       ],
    q(walungge) => [
-      q(5241),
+      q(5243),
       q(0),
       ],
    q(wamas) => [
-      q(7168),
+      q(7170),
       q(0),
       ],
    q(wambaya) => [
-      q(7167),
+      q(7169),
       q(0),
       ],
    q(wambon) => [
-      q(7176),
+      q(7178),
       q(0),
       ],
    q(wambule) => [
-      q(7170),
+      q(7172),
       q(0),
       ],
    q(wamey) => [
-      q(1824),
+      q(1825),
       q(0),
       ],
    q(wamin) => [
-      q(7172),
+      q(7174),
       q(0),
       ],
    q(wampanoag) => [
-      q(7064),
+      q(7066),
       q(0),
       ],
    q(wampar) => [
-      q(3824),
+      q(3826),
       q(0),
       ],
    q(wampur) => [
-      q(7075),
+      q(7077),
       q(0),
       ],
    q(wan) => [
-      q(7065),
+      q(7067),
       q(0),
       ],
    q(wanambre) => [
-      q(7180),
+      q(7182),
       q(0),
       ],
    q(wanap) => [
-      q(7190),
+      q(7192),
       q(0),
       ],
    q(wanbasana) => [
@@ -55372,107 +55386,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(wancho naga) => [
-      q(5000),
+      q(5002),
       q(0),
       ],
    q(wanda) => [
-      q(7079),
+      q(7081),
       q(0),
       ],
    q(wandala) => [
-      q(4231),
+      q(4233),
       q(0),
       ],
    q(wandamen) => [
-      q(7057),
+      q(7059),
       q(0),
       ],
    q(wandarang) => [
-      q(7182),
+      q(7184),
       q(0),
       ],
    q(wandji) => [
-      q(7093),
+      q(7095),
       q(0),
       ],
    q(wane) => [
-      q(2879),
+      q(2880),
       q(0),
       ],
    q(waneci) => [
-      q(7183),
+      q(7185),
       q(0),
       ],
    q(wanga) => [
-      q(4098),
+      q(4100),
       q(0),
       ],
    q(wangaaybuwan-ngiyambaa) => [
-      q(7265),
+      q(7267),
       q(0),
       ],
    q(wanggamala) => [
-      q(7187),
+      q(7189),
       q(0),
       ],
    q(wangganguru) => [
-      q(7116),
+      q(7118),
       q(0),
       ],
    q(wanggom) => [
-      q(7184),
+      q(7186),
       q(0),
       ],
    q(wangkayutyuru) => [
-      q(7149),
+      q(7151),
       q(0),
       ],
    q(wangkumara) => [
-      q(7552),
+      q(7554),
       q(0),
       ],
    q(wanman) => [
-      q(7088),
+      q(7090),
       q(0),
       ],
    q(wannu) => [
-      q(3146),
+      q(3148),
       q(0),
       ],
    q(wano) => [
-      q(7189),
+      q(7191),
       q(0),
       ],
    q(wantoat) => [
-      q(7181),
+      q(7183),
       q(0),
       ],
    q(wanukaka) => [
-      q(7186),
+      q(7188),
       q(0),
       ],
    q(wanyi) => [
-      q(7193),
+      q(7195),
       q(0),
       ],
    q(waorani) => [
-      q(0934),
+      q(0935),
       q(0),
       ],
    q(wapan) => [
-      q(3151),
+      q(3153),
       q(0),
       ],
    q(wapha) => [
-      q(3161),
+      q(3163),
       q(0),
       ],
    q(wapishana) => [
-      q(7067),
+      q(7069),
       q(0),
       ],
    q(wappo) => [
-      q(7066),
+      q(7068),
       q(0),
       ],
    q(war-jaintia) => [
@@ -55480,15 +55494,15 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wara) => [
-      q(6411),
+      q(6413),
       q(0),
       ],
    q(warao) => [
-      q(7076),
+      q(7078),
       q(0),
       ],
    q(warapu) => [
-      q(7211),
+      q(7213),
       q(0),
       ],
    q(waray) => [
@@ -55496,7 +55510,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(waray (australia)) => [
-      q(7230),
+      q(7232),
       q(0),
       ],
    q(waray (philippines)) => [
@@ -55504,103 +55518,103 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(wardaman) => [
-      q(7223),
+      q(7225),
       q(0),
       ],
    q(wardandi) => [
-      q(7263),
+      q(7265),
       q(0),
       ],
    q(warduji) => [
-      q(7213),
+      q(7215),
       q(0),
       ],
    q(warembori) => [
-      q(7231),
+      q(7233),
       q(0),
       ],
    q(wares) => [
-      q(7062),
+      q(7064),
       q(0),
       ],
    q(waris) => [
-      q(7224),
+      q(7226),
       q(0),
       ],
    q(waritai) => [
-      q(7078),
+      q(7080),
       q(0),
       ],
    q(wariyangga) => [
-      q(7216),
+      q(7218),
       q(0),
       ],
    q(warji) => [
-      q(7142),
+      q(7144),
       q(0),
       ],
    q(warkay-bipim) => [
-      q(1180),
+      q(1181),
       q(0),
       ],
    q(warlmanpa) => [
-      q(7218),
+      q(7220),
       q(0),
       ],
    q(warlpiri) => [
-      q(7085),
+      q(7087),
       q(0),
       ],
    q(warluwara) => [
-      q(7212),
+      q(7214),
       q(0),
       ],
    q(warnang) => [
-      q(7220),
+      q(7222),
       q(0),
       ],
    q(waropen) => [
-      q(7222),
+      q(7224),
       q(0),
       ],
    q(warrgamay) => [
-      q(7120),
+      q(7122),
       q(0),
       ],
    q(warrwa) => [
-      q(7260),
+      q(7262),
       q(0),
       ],
    q(waru) => [
-      q(7225),
+      q(7227),
       q(0),
       ],
    q(warumungu) => [
-      q(7219),
+      q(7221),
       q(0),
       ],
    q(waruna) => [
-      q(7226),
+      q(7228),
       q(0),
       ],
    q(warungu) => [
-      q(7214),
+      q(7216),
       q(0),
       ],
    q(warwar feni) => [
-      q(2839),
+      q(2840),
       q(0),
       ],
    q(wasa) => [
-      q(7235),
+      q(7237),
       q(0),
       ],
    q(wasco-wishram) => [
-      q(7056),
+      q(7058),
       q(0),
       ],
    q(wasembo) => [
-      q(2637),
+      q(2638),
       q(0),
       ],
    q(washo) => [
@@ -55608,107 +55622,107 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(waskia) => [
-      q(7233),
+      q(7235),
       q(0),
       ],
    q(wasu) => [
-      q(7236),
+      q(7238),
       q(0),
       ],
    q(watakataui) => [
-      q(7241),
+      q(7243),
       q(0),
       ],
    q(watam) => [
-      q(7073),
+      q(7075),
       q(0),
       ],
    q(wathawurrung) => [
-      q(7239),
+      q(7241),
       q(0),
       ],
    q(watiwa) => [
-      q(7238),
+      q(7240),
       q(0),
       ],
    q(watubela) => [
-      q(7061),
+      q(7063),
       q(0),
       ],
    q(waube) => [
-      q(3513),
+      q(3515),
       q(0),
       ],
    q(waura) => [
-      q(7070),
+      q(7072),
       q(0),
       ],
    q(wauyai) => [
-      q(7256),
+      q(7258),
       q(0),
       ],
    q(wawa) => [
-      q(7261),
+      q(7263),
       q(0),
       ],
    q(wawonii) => [
-      q(7208),
+      q(7210),
       q(0),
       ],
    q(waxianghua) => [
-      q(7262),
+      q(7264),
       q(0),
       ],
    q(wayampi) => [
-      q(5341),
+      q(5343),
       q(0),
       ],
    q(wayana) => [
-      q(7074),
+      q(7076),
       q(0),
       ],
    q(wayanad chetti) => [
-      q(1899),
+      q(1900),
       q(0),
       ],
    q(wayoro) => [
-      q(7268),
+      q(7270),
       q(0),
       ],
    q(wayu) => [
-      q(6983),
+      q(6985),
       q(0),
       ],
    q(wayuu) => [
-      q(2643),
+      q(2644),
       q(0),
       ],
    q(we northern) => [
-      q(7195),
+      q(7197),
       q(0),
       ],
    q(we southern) => [
-      q(2693),
+      q(2694),
       q(0),
       ],
    q(we western) => [
-      q(7100),
+      q(7102),
       q(0),
       ],
    q(wedau) => [
-      q(7101),
+      q(7103),
       q(0),
       ],
    q(weh) => [
-      q(7103),
+      q(7105),
       q(0),
       ],
    q(wejewa) => [
-      q(7112),
+      q(7114),
       q(0),
       ],
    q(weliki) => [
-      q(3434),
+      q(3436),
       q(0),
       ],
    q(welsh) => [
@@ -55716,59 +55730,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(welsh romani) => [
-      q(5823),
+      q(5825),
       q(0),
       ],
    q(wemale) => [
-      q(7106),
+      q(7108),
       q(0),
       ],
    q(wemba wemba) => [
-      q(7557),
+      q(7559),
       q(0),
       ],
    q(weme gbe) => [
-      q(7105),
+      q(7107),
       q(0),
       ],
    q(wergaia) => [
-      q(7102),
+      q(7104),
       q(0),
       ],
    q(weri) => [
-      q(7108),
+      q(7110),
       q(0),
       ],
    q(wersing) => [
-      q(3687),
+      q(3689),
       q(0),
       ],
    q(west albay bikol) => [
-      q(2338),
+      q(2339),
       q(0),
       ],
    q(west ambae) => [
-      q(4989),
+      q(4991),
       q(0),
       ],
    q(west berawan) => [
-      q(7830),
+      q(7832),
       q(0),
       ],
    q(west central banda) => [
-      q(1052),
+      q(1053),
       q(0),
       ],
    q(west central oromo) => [
-      q(2419),
+      q(2420),
       q(0),
       ],
    q(west coast bajau) => [
-      q(1105),
+      q(1106),
       q(0),
       ],
    q(west damar) => [
-      q(2140),
+      q(2141),
       q(0),
       ],
    q(west germanic languages) => [
@@ -55776,23 +55790,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(west goodenough) => [
-      q(1981),
+      q(1982),
       q(0),
       ],
    q(west kewa) => [
-      q(3277),
+      q(3279),
       q(0),
       ],
    q(west lembata) => [
-      q(3983),
+      q(3985),
       q(0),
       ],
    q(west makian) => [
-      q(4496),
+      q(4498),
       q(0),
       ],
    q(west masela) => [
-      q(4546),
+      q(4548),
       q(0),
       ],
    q(west slavic languages) => [
@@ -55800,19 +55814,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(west tarangan) => [
-      q(6819),
+      q(6821),
       q(0),
       ],
    q(west uvean) => [
-      q(6961),
+      q(6963),
       q(0),
       ],
    q(west yugur) => [
-      q(7599),
+      q(7601),
       q(0),
       ],
    q(west-central limba) => [
-      q(3908),
+      q(3910),
       q(0),
       ],
    q(western abnaki) => [
@@ -55828,39 +55842,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western balochi) => [
-      q(1172),
+      q(1173),
       q(0),
       ],
    q(western bolivian guarani) => [
-      q(2582),
+      q(2583),
       q(0),
       ],
    q(western bru) => [
-      q(1441),
+      q(1442),
       q(0),
       ],
    q(western bukidnon manobo) => [
-      q(4127),
+      q(4129),
       q(0),
       ],
    q(western canadian inuktitut) => [
-      q(2946),
+      q(2947),
       q(1),
       ],
    q(western cham) => [
-      q(1742),
+      q(1743),
       q(0),
       ],
    q(western dani) => [
-      q(2110),
+      q(2111),
       q(0),
       ],
    q(western durango nahuatl) => [
-      q(1017),
+      q(1018),
       q(0),
       ],
    q(western fijian) => [
-      q(7269),
+      q(7271),
       q(0),
       ],
    q(western frisian) => [
@@ -55868,59 +55882,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western gurung) => [
-      q(2675),
+      q(2676),
       q(0),
       ],
    q(western highland chatino) => [
-      q(1897),
+      q(1898),
       q(0),
       ],
    q(western highland purepecha) => [
-      q(5639),
+      q(5641),
       q(0),
       ],
    q(western huasteca nahuatl) => [
-      q(4877),
+      q(4879),
       q(0),
       ],
    q(western juxtlahuaca mixtec) => [
-      q(3125),
+      q(3126),
       q(0),
       ],
    q(western kanjobal) => [
-      q(3486),
+      q(3488),
       q(0),
       ],
    q(western karaboro) => [
-      q(3766),
+      q(3768),
       q(0),
       ],
    q(western katu) => [
-      q(3648),
+      q(3650),
       q(0),
       ],
    q(western kayah) => [
-      q(3760),
+      q(3762),
       q(0),
       ],
    q(western keres) => [
-      q(3392),
+      q(3394),
       q(0),
       ],
    q(western krahn) => [
-      q(3588),
+      q(3590),
       q(0),
       ],
    q(western lalu) => [
-      q(7785),
+      q(7787),
       q(0),
       ],
    q(western lawa) => [
-      q(3841),
+      q(3843),
       q(0),
       ],
    q(western magar) => [
-      q(4507),
+      q(4509),
       q(0),
       ],
    q(western malayo-polynesian languages) => [
@@ -55928,27 +55942,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western maninkakan) => [
-      q(4380),
+      q(4382),
       q(0),
       ],
    q(western mari) => [
-      q(4512),
+      q(4514),
       q(0),
       ],
    q(western mashan hmong) => [
-      q(2796),
+      q(2797),
       q(0),
       ],
    q(western mashan miao) => [
-      q(2796),
+      q(2797),
       q(1),
       ],
    q(western meohang) => [
-      q(5738),
+      q(5740),
       q(0),
       ],
    q(western muria) => [
-      q(4593),
+      q(4595),
       q(0),
       ],
    q(western neo-aramaic) => [
@@ -55956,11 +55970,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(western niger fulfulde) => [
-      q(2384),
+      q(2385),
       q(0),
       ],
    q(western ojibwa) => [
-      q(5222),
+      q(5224),
       q(0),
       ],
    q(western pahari languages) => [
@@ -55968,191 +55982,191 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(western panjabi) => [
-      q(5529),
+      q(5531),
       q(0),
       ],
    q(western parbate kham) => [
-      q(3387),
+      q(3389),
       q(0),
       ],
    q(western penan) => [
-      q(5531),
+      q(5533),
       q(0),
       ],
    q(western sisaala) => [
-      q(6238),
+      q(6240),
       q(0),
       ],
    q(western subanon) => [
-      q(6277),
+      q(6279),
       q(0),
       ],
    q(western tamang) => [
-      q(6432),
+      q(6434),
       q(0),
       ],
    q(western tawbuid) => [
-      q(6791),
+      q(6793),
       q(0),
       ],
    q(western totonac) => [
-      q(6683),
+      q(6685),
       q(0),
       ],
    q(western tunebo) => [
-      q(6610),
+      q(6612),
       q(0),
       ],
    q(western xiangxi miao) => [
-      q(4405),
+      q(4407),
       q(0),
       ],
    q(western xwla gbe) => [
-      q(7553),
+      q(7555),
       q(0),
       ],
    q(western yiddish) => [
-      q(7646),
+      q(7648),
       q(0),
       ],
    q(westphalien) => [
-      q(7107),
+      q(7109),
       q(0),
       ],
    q(wetamut) => [
-      q(7259),
+      q(7261),
       q(0),
       ],
    q(wewaw) => [
-      q(7099),
+      q(7101),
       q(0),
       ],
    q(weyto) => [
-      q(7209),
+      q(7211),
       q(0),
       ],
    q(white gelao) => [
-      q(2527),
+      q(2528),
       q(0),
       ],
    q(white lachi) => [
-      q(4099),
+      q(4101),
       q(0),
       ],
    q(whitesands) => [
-      q(6622),
+      q(6624),
       q(0),
       ],
    q(wiarumus) => [
-      q(6758),
+      q(6760),
       q(0),
       ],
    q(wichi lhamtes guisnay) => [
-      q(4698),
+      q(4700),
       q(0),
       ],
    q(wichi lhamtes nocten) => [
-      q(4568),
+      q(4570),
       q(0),
       ],
    q(wichi lhamtes vejoz) => [
-      q(7162),
+      q(7164),
       q(0),
       ],
    q(wichita) => [
-      q(7126),
+      q(7128),
       q(0),
       ],
    q(wik-epa) => [
-      q(7127),
+      q(7129),
       q(0),
       ],
    q(wik-iiyanh) => [
-      q(7132),
+      q(7134),
       q(0),
       ],
    q(wik-keyangan) => [
-      q(7128),
+      q(7130),
       q(0),
       ],
    q(wik-me'anha) => [
-      q(7130),
+      q(7132),
       q(0),
       ],
    q(wik-mungkan) => [
-      q(7135),
+      q(7137),
       q(0),
       ],
    q(wik-ngathana) => [
-      q(7129),
+      q(7131),
       q(0),
       ],
    q(wikalkan) => [
-      q(7133),
+      q(7135),
       q(0),
       ],
    q(wikngenchera) => [
-      q(7244),
+      q(7246),
       q(0),
       ],
    q(wilawila) => [
-      q(7134),
+      q(7136),
       q(0),
       ],
    q(wintu) => [
-      q(7192),
+      q(7194),
       q(0),
       ],
    q(winye) => [
-      q(3611),
+      q(3613),
       q(0),
       ],
    q(wipi) => [
-      q(2467),
+      q(2468),
       q(0),
       ],
    q(wiradhuri) => [
-      q(7215),
+      q(7217),
       q(0),
       ],
    q(wirafed) => [
-      q(7137),
+      q(7139),
       q(0),
       ],
    q(wirangu) => [
-      q(7119),
+      q(7121),
       q(0),
       ],
    q(wiru) => [
-      q(7138),
+      q(7140),
       q(0),
       ],
    q(wiyot) => [
-      q(7140),
+      q(7142),
       q(0),
       ],
    q(woccon) => [
-      q(7547),
+      q(7549),
       q(0),
       ],
    q(wogamusin) => [
-      q(7200),
+      q(7202),
       q(0),
       ],
    q(wogeo) => [
-      q(7196),
+      q(7198),
       q(0),
       ],
    q(woi) => [
-      q(7090),
+      q(7092),
       q(0),
       ],
    q(woiwurrung) => [
-      q(7266),
+      q(7268),
       q(0),
       ],
    q(wojenaka) => [
-      q(3134),
+      q(3135),
       q(0),
       ],
    q(wolaitta) => [
@@ -56160,11 +56174,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(2),
       ],
    q(wolane) => [
-      q(7152),
+      q(7154),
       q(0),
       ],
    q(wolani) => [
-      q(7197),
+      q(7199),
       q(0),
       ],
    q(wolaytta) => [
@@ -56172,11 +56186,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(1),
       ],
    q(woleaian) => [
-      q(7198),
+      q(7200),
       q(0),
       ],
    q(wolio) => [
-      q(7158),
+      q(7160),
       q(0),
       ],
    q(wolof) => [
@@ -56184,167 +56198,167 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(wom (nigeria)) => [
-      q(7203),
+      q(7205),
       q(0),
       ],
    q(wom (papua new guinea)) => [
-      q(7175),
+      q(7177),
       q(0),
       ],
    q(womo) => [
-      q(7179),
+      q(7181),
       q(0),
       ],
    q(wongo) => [
-      q(7204),
+      q(7206),
       q(0),
       ],
    q(woods cree) => [
-      q(1925),
+      q(1926),
       q(0),
       ],
    q(woria) => [
-      q(7206),
+      q(7208),
       q(0),
       ],
    q(worimi) => [
-      q(3233),
+      q(3235),
       q(0),
       ],
    q(worodougou) => [
-      q(3148),
+      q(3150),
       q(0),
       ],
    q(worrorra) => [
-      q(7221),
+      q(7223),
       q(0),
       ],
    q(wotapuri-katarqalai) => [
-      q(7237),
+      q(7239),
       q(0),
       ],
    q(wotjobaluk) => [
-      q(7556),
+      q(7558),
       q(0),
       ],
    q(wotu) => [
-      q(7243),
+      q(7245),
       q(0),
       ],
    q(woun meu) => [
-      q(5010),
+      q(5012),
       q(0),
       ],
    q(written oirat) => [
-      q(7554),
+      q(7556),
       q(0),
       ],
    q(wu chinese) => [
-      q(7253),
+      q(7255),
       q(0),
       ],
    q(wuding-luquan yi) => [
-      q(7787),
+      q(7789),
       q(0),
       ],
    q(wudu) => [
-      q(7246),
+      q(7248),
       q(0),
       ],
    q(wuliwuli) => [
-      q(7161),
+      q(7163),
       q(0),
       ],
    q(wulna) => [
-      q(7255),
+      q(7257),
       q(0),
       ],
    q(wumboko) => [
-      q(1408),
+      q(1409),
       q(0),
       ],
    q(wumbvu) => [
-      q(7249),
+      q(7251),
       q(0),
       ],
    q(wumeng nasu) => [
-      q(7790),
+      q(7792),
       q(0),
       ],
    q(wunai bunu) => [
-      q(1554),
+      q(1555),
       q(0),
       ],
    q(wunambal) => [
-      q(7245),
+      q(7247),
       q(0),
       ],
    q(wunumara) => [
-      q(7188),
+      q(7190),
       q(0),
       ],
    q(wurrugu) => [
-      q(7251),
+      q(7253),
       q(0),
       ],
    q(wusa nasu) => [
-      q(7645),
+      q(7647),
       q(0),
       ],
    q(wushi) => [
-      q(1449),
+      q(1450),
       q(0),
       ],
    q(wusi) => [
-      q(7232),
+      q(7234),
       q(0),
       ],
    q(wutung) => [
-      q(7252),
+      q(7254),
       q(0),
       ],
    q(wutunhua) => [
-      q(7247),
+      q(7249),
       q(0),
       ],
    q(wuvulu-aua) => [
-      q(7254),
+      q(7256),
       q(0),
       ],
    q(wuzlam) => [
-      q(6864),
+      q(6866),
       q(0),
       ],
    q(wyandot) => [
-      q(7264),
+      q(7266),
       q(0),
       ],
    q(wymysorys) => [
-      q(7267),
+      q(7269),
       q(0),
       ],
    q(xaasongaxango) => [
-      q(3177),
+      q(3179),
       q(0),
       ],
    q(xadani zapotec) => [
-      q(7824),
+      q(7826),
       q(0),
       ],
    q(xakriaba) => [
-      q(7383),
+      q(7385),
       q(0),
       ],
    q(xam) => [
-      q(7278),
+      q(7280),
       q(1),
       ],
    q(xamtanga) => [
-      q(7279),
+      q(7281),
       q(0),
       ],
    q(xanaguia zapotec) => [
-      q(7952),
+      q(7954),
       q(0),
       ],
    q(xaracuu) => [
@@ -56352,23 +56366,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xaragure) => [
-      q(0990),
+      q(0991),
       q(0),
       ],
    q(xavante) => [
-      q(7287),
+      q(7289),
       q(0),
       ],
    q(xegwi) => [
-      q(7328),
+      q(7330),
       q(1),
       ],
    q(xerente) => [
-      q(7332),
+      q(7334),
       q(0),
       ],
    q(xeta) => [
-      q(7334),
+      q(7336),
       q(0),
       ],
    q(xhosa) => [
@@ -56376,19 +56390,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xiang chinese) => [
-      q(2844),
+      q(2845),
       q(0),
       ],
    q(xibe) => [
-      q(6062),
+      q(6064),
       q(0),
       ],
    q(xicotepec de juarez totonac) => [
-      q(6643),
+      q(6645),
       q(0),
       ],
    q(xinca) => [
-      q(7359),
+      q(7361),
       q(0),
       ],
    q(xingu asurini) => [
@@ -56396,147 +56410,147 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(xipaya) => [
-      q(7364),
+      q(7366),
       q(0),
       ],
    q(xipinawa) => [
-      q(7360),
+      q(7362),
       q(0),
       ],
    q(xiri) => [
-      q(7357),
+      q(7359),
       q(0),
       ],
    q(xiriana) => [
-      q(7361),
+      q(7363),
       q(0),
       ],
    q(xishanba lalo) => [
-      q(7789),
+      q(7791),
       q(0),
       ],
    q(xokleng) => [
-      q(7448),
+      q(7450),
       q(0),
       ],
    q(xoo) => [
-      q(4973),
+      q(4975),
       q(1),
       ],
    q(xukuru) => [
-      q(7451),
+      q(7453),
       q(0),
       ],
    q(xwela gbe) => [
-      q(7549),
+      q(7551),
       q(0),
       ],
    q(yaaku) => [
-      q(4594),
+      q(4596),
       q(0),
       ],
    q(yabaana) => [
-      q(7606),
+      q(7608),
       q(0),
       ],
    q(yabarana) => [
-      q(7588),
+      q(7590),
       q(0),
       ],
    q(yabem) => [
-      q(3043),
+      q(3044),
       q(0),
       ],
    q(yaben) => [
-      q(7605),
+      q(7607),
       q(0),
       ],
    q(yabong) => [
-      q(7607),
+      q(7609),
       q(0),
       ],
    q(yabula yabula) => [
-      q(7797),
+      q(7799),
       q(0),
       ],
    q(yace) => [
-      q(2240),
+      q(2241),
       q(0),
       ],
    q(yaeyama) => [
-      q(5882),
+      q(5884),
       q(0),
       ],
    q(yafi) => [
-      q(7113),
+      q(7115),
       q(0),
       ],
    q(yagara) => [
-      q(7793),
+      q(7795),
       q(0),
       ],
    q(yagaria) => [
-      q(7636),
+      q(7638),
       q(0),
       ],
    q(yagnobi) => [
-      q(7581),
+      q(7583),
       q(0),
       ],
    q(yagomi) => [
-      q(7634),
+      q(7636),
       q(0),
       ],
    q(yagua) => [
-      q(7576),
+      q(7578),
       q(0),
       ],
    q(yagwoia) => [
-      q(7639),
+      q(7641),
       q(0),
       ],
    q(yahadian) => [
-      q(4820),
+      q(4822),
       q(0),
       ],
    q(yahang) => [
-      q(5783),
+      q(5785),
       q(0),
       ],
    q(yahuna) => [
-      q(7714),
+      q(7716),
       q(0),
       ],
    q(yaka (central african republic)) => [
-      q(0987),
+      q(0988),
       q(0),
       ],
    q(yaka (congo)) => [
-      q(3035),
+      q(3036),
       q(0),
       ],
    q(yaka (democratic republic of congo)) => [
-      q(7578),
+      q(7580),
       q(0),
       ],
    q(yakaikeke) => [
-      q(7665),
+      q(7667),
       q(0),
       ],
    q(yakama) => [
-      q(7583),
+      q(7585),
       q(0),
       ],
    q(yakan) => [
-      q(7662),
+      q(7664),
       q(0),
       ],
    q(yakha) => [
-      q(7600),
+      q(7602),
       q(0),
       ],
    q(yakoma) => [
-      q(7673),
+      q(7675),
       q(0),
       ],
    q(yakut) => [
@@ -56544,115 +56558,115 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yala) => [
-      q(7597),
+      q(7599),
       q(0),
       ],
    q(yalahatan) => [
-      q(3048),
+      q(3049),
       q(0),
       ],
    q(yalakalore) => [
-      q(7567),
+      q(7569),
       q(0),
       ],
    q(yalalag zapotec) => [
-      q(7932),
+      q(7934),
       q(0),
       ],
    q(yalarnnga) => [
-      q(7683),
+      q(7685),
       q(0),
       ],
    q(yale) => [
-      q(4764),
+      q(4766),
       q(0),
       ],
    q(yaleba) => [
-      q(7675),
+      q(7677),
       q(0),
       ],
    q(yalunka) => [
-      q(7584),
+      q(7586),
       q(0),
       ],
    q(yamana) => [
-      q(7579),
+      q(7581),
       q(0),
       ],
    q(yamap) => [
-      q(7698),
+      q(7700),
       q(0),
       ],
    q(yamba) => [
-      q(7585),
+      q(7587),
       q(0),
       ],
    q(yambes) => [
-      q(7686),
+      q(7688),
       q(0),
       ],
    q(yambeta) => [
-      q(7590),
+      q(7592),
       q(0),
       ],
    q(yamdena) => [
-      q(3118),
+      q(3119),
       q(0),
       ],
    q(yameo) => [
-      q(7689),
+      q(7691),
       q(0),
       ],
    q(yami) => [
-      q(6367),
+      q(6369),
       q(0),
       ],
    q(yaminahua) => [
-      q(7573),
+      q(7575),
       q(0),
       ],
    q(yamna) => [
-      q(7696),
+      q(7698),
       q(0),
       ],
    q(yamongeri) => [
-      q(7690),
+      q(7692),
       q(0),
       ],
    q(yamphu) => [
-      q(7601),
+      q(7603),
       q(0),
       ],
    q(yan-nhangu) => [
-      q(3057),
+      q(3058),
       q(0),
       ],
    q(yan-nhanu sign language) => [
-      q(7643),
+      q(7645),
       q(0),
       ],
    q(yana) => [
-      q(7710),
+      q(7712),
       q(0),
       ],
    q(yanahuanca pasco quechua) => [
-      q(5691),
+      q(5693),
       q(0),
       ],
    q(yanda) => [
-      q(7614),
+      q(7616),
       q(0),
       ],
    q(yanda dom dogon) => [
-      q(2202),
+      q(2203),
       q(0),
       ],
    q(yandjibara) => [
-      q(7564),
+      q(7566),
       q(0),
       ],
    q(yandruwandha) => [
-      q(7705),
+      q(7707),
       q(0),
       ],
    q(yanesha') => [
@@ -56660,59 +56674,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yang zhuang) => [
-      q(7969),
+      q(7971),
       q(0),
       ],
    q(yangben) => [
-      q(7592),
+      q(7594),
       q(0),
       ],
    q(yangkam) => [
-      q(1468),
+      q(1469),
       q(0),
       ],
    q(yangman) => [
-      q(3128),
+      q(3129),
       q(0),
       ],
    q(yango) => [
-      q(7707),
+      q(7709),
       q(0),
       ],
    q(yangulam) => [
-      q(7709),
+      q(7711),
       q(0),
       ],
    q(yangum dey) => [
-      q(7616),
+      q(7618),
       q(0),
       ],
    q(yangum gel) => [
-      q(7633),
+      q(7635),
       q(0),
       ],
    q(yangum mon) => [
-      q(7697),
+      q(7699),
       q(0),
       ],
    q(yankunytjatjara) => [
-      q(3235),
+      q(3237),
       q(0),
       ],
    q(yanomami) => [
-      q(7091),
+      q(7093),
       q(0),
       ],
    q(yanomamo) => [
-      q(2660),
+      q(2661),
       q(0),
       ],
    q(yansi) => [
-      q(7713),
+      q(7715),
       q(0),
       ],
    q(yanyuwa) => [
-      q(3051),
+      q(3052),
       q(0),
       ],
    q(yao) => [
@@ -56724,7 +56738,7 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yaoure) => [
-      q(7736),
+      q(7738),
       q(0),
       ],
    q(yapese) => [
@@ -56732,219 +56746,219 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yapunda) => [
-      q(7629),
+      q(7631),
       q(0),
       ],
    q(yaqay) => [
-      q(3052),
+      q(3053),
       q(0),
       ],
    q(yaqui) => [
-      q(7587),
+      q(7589),
       q(0),
       ],
    q(yarawata) => [
-      q(7743),
+      q(7745),
       q(0),
       ],
    q(yardliyawarra) => [
-      q(7794),
+      q(7796),
       q(0),
       ],
    q(yareba) => [
-      q(7735),
+      q(7737),
       q(0),
       ],
    q(yareni zapotec) => [
-      q(7807),
+      q(7809),
       q(0),
       ],
    q(yari) => [
-      q(7737),
+      q(7739),
       q(0),
       ],
    q(yarluyandi) => [
-      q(7744),
+      q(7746),
       q(0),
       ],
    q(yarsun) => [
-      q(7742),
+      q(7744),
       q(0),
       ],
    q(yasa) => [
-      q(7669),
+      q(7671),
       q(0),
       ],
    q(yassic) => [
-      q(7745),
+      q(7747),
       q(0),
       ],
    q(yatay) => [
-      q(7759),
+      q(7761),
       q(0),
       ],
    q(yatee zapotec) => [
-      q(7962),
+      q(7964),
       q(0),
       ],
    q(yatzachi zapotec) => [
-      q(7822),
+      q(7824),
       q(0),
       ],
    q(yau (morobe province)) => [
-      q(7777),
+      q(7779),
       q(0),
       ],
    q(yau (sandaun province)) => [
-      q(7799),
+      q(7801),
       q(0),
       ],
    q(yaul) => [
-      q(7674),
+      q(7676),
       q(0),
       ],
    q(yauma) => [
-      q(7594),
+      q(7596),
       q(0),
       ],
    q(yaur) => [
-      q(3055),
+      q(3056),
       q(0),
       ],
    q(yautepec zapotec) => [
-      q(7913),
+      q(7915),
       q(0),
       ],
    q(yauyos quechua) => [
-      q(5695),
+      q(5697),
       q(0),
       ],
    q(yavitero) => [
-      q(7782),
+      q(7784),
       q(0),
       ],
    q(yawa) => [
-      q(7781),
+      q(7783),
       q(0),
       ],
    q(yawalapiti) => [
-      q(7593),
+      q(7595),
       q(0),
       ],
    q(yawanawa) => [
-      q(7786),
+      q(7788),
       q(0),
       ],
    q(yawarawarga) => [
-      q(7791),
+      q(7793),
       q(0),
       ],
    q(yaweyuha) => [
-      q(7609),
+      q(7611),
       q(0),
       ],
    q(yawijibaya) => [
-      q(3067),
+      q(3068),
       q(0),
       ],
    q(yawiyo) => [
-      q(7608),
+      q(7610),
       q(0),
       ],
    q(yawuru) => [
-      q(7788),
+      q(7790),
       q(0),
       ],
    q(yaygir) => [
-      q(7563),
+      q(7565),
       q(0),
       ],
    q(yazgulyam) => [
-      q(7580),
+      q(7582),
       q(0),
       ],
    q(yecuatla totonac) => [
-      q(6566),
+      q(6568),
       q(0),
       ],
    q(yei) => [
-      q(3077),
+      q(3078),
       q(0),
       ],
    q(yekhee) => [
-      q(2308),
+      q(2309),
       q(0),
       ],
    q(yekora) => [
-      q(7670),
+      q(7672),
       q(0),
       ],
    q(yela) => [
-      q(7624),
+      q(7626),
       q(0),
       ],
    q(yele) => [
-      q(7676),
+      q(7678),
       q(0),
       ],
    q(yelmek) => [
-      q(3079),
+      q(3080),
       q(0),
       ],
    q(yelogu) => [
-      q(7677),
+      q(7679),
       q(0),
       ],
    q(yemba) => [
-      q(7598),
+      q(7600),
       q(0),
       ],
    q(yemsa) => [
-      q(3130),
+      q(3131),
       q(0),
       ],
    q(yendang) => [
-      q(7712),
+      q(7714),
       q(0),
       ],
    q(yeni) => [
-      q(7622),
+      q(7624),
       q(0),
       ],
    q(yeniche) => [
-      q(7620),
+      q(7622),
       q(0),
       ],
    q(yerakai) => [
-      q(7734),
+      q(7736),
       q(0),
       ],
    q(yeretuar) => [
-      q(2597),
+      q(2598),
       q(0),
       ],
    q(yerong) => [
-      q(7741),
+      q(7743),
       q(0),
       ],
    q(yerukula) => [
-      q(7628),
+      q(7630),
       q(0),
       ],
    q(yessan-mayo) => [
-      q(7753),
+      q(7755),
       q(0),
       ],
    q(yetfa) => [
-      q(7627),
+      q(7629),
       q(0),
       ],
    q(yevanic) => [
-      q(7623),
+      q(7625),
       q(0),
       ],
    q(yeyi) => [
-      q(7630),
+      q(7632),
       q(0),
       ],
    q(yiddish) => [
@@ -56952,175 +56966,175 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yidgha) => [
-      q(7617),
+      q(7619),
       q(0),
       ],
    q(yidiny) => [
-      q(7647),
+      q(7649),
       q(0),
       ],
    q(yil) => [
-      q(7679),
+      q(7681),
       q(0),
       ],
    q(yimas) => [
-      q(7621),
+      q(7623),
       q(0),
       ],
    q(yimchungru naga) => [
-      q(7651),
+      q(7653),
       q(0),
       ],
    q(yinbaw karen) => [
-      q(3685),
+      q(3687),
       q(0),
       ],
    q(yinchia) => [
-      q(7652),
+      q(7654),
       q(0),
       ],
    q(yindjibarndi) => [
-      q(7648),
+      q(7650),
       q(0),
       ],
    q(yindjilandji) => [
-      q(7650),
+      q(7652),
       q(0),
       ],
    q(yine) => [
-      q(5448),
+      q(5450),
       q(0),
       ],
    q(yinggarda) => [
-      q(7644),
+      q(7646),
       q(0),
       ],
    q(yinhawangka) => [
-      q(7784),
+      q(7786),
       q(0),
       ],
    q(yiningayi) => [
-      q(7632),
+      q(7634),
       q(0),
       ],
    q(yintale) => [
-      q(3689),
+      q(3691),
       q(1),
       ],
    q(yintale karen) => [
-      q(3689),
+      q(3691),
       q(0),
       ],
    q(yinwum) => [
-      q(7795),
+      q(7797),
       q(0),
       ],
    q(yipma) => [
-      q(1605),
+      q(1606),
       q(1),
       ],
    q(yir yoront) => [
-      q(7798),
+      q(7800),
       q(0),
       ],
    q(yirandali) => [
-      q(3935),
+      q(3937),
       q(0),
       ],
    q(yirrk-mel) => [
-      q(7740),
+      q(7742),
       q(0),
       ],
    q(yis) => [
-      q(7656),
+      q(7658),
       q(0),
       ],
    q(yitha yitha) => [
-      q(7511),
+      q(7513),
       q(0),
       ],
    q(yiwom) => [
-      q(2480),
+      q(2481),
       q(0),
       ],
    q(yoba) => [
-      q(7715),
+      q(7717),
       q(0),
       ],
    q(yocoboue dida) => [
-      q(2644),
+      q(2645),
       q(0),
       ],
    q(yogad) => [
-      q(7716),
+      q(7718),
       q(0),
       ],
    q(yoidik) => [
-      q(7618),
+      q(7620),
       q(0),
       ],
    q(yoke) => [
-      q(7664),
+      q(7666),
       q(0),
       ],
    q(yokuts) => [
-      q(7718),
+      q(7720),
       q(0),
       ],
    q(yola) => [
-      q(7719),
+      q(7721),
       q(0),
       ],
    q(yolnu sign language) => [
-      q(7637),
+      q(7639),
       q(0),
       ],
    q(yoloxochitl mixtec) => [
-      q(7526),
+      q(7528),
       q(0),
       ],
    q(yom) => [
-      q(5457),
+      q(5459),
       q(0),
       ],
    q(yombe) => [
-      q(7720),
+      q(7722),
       q(0),
       ],
    q(yonaguni) => [
-      q(7717),
+      q(7719),
       q(0),
       ],
    q(yong) => [
-      q(7711),
+      q(7713),
       q(0),
       ],
    q(yongbei zhuang) => [
-      q(7968),
+      q(7970),
       q(0),
       ],
    q(yongkom) => [
-      q(7721),
+      q(7723),
       q(0),
       ],
    q(yongnan zhuang) => [
-      q(7971),
+      q(7973),
       q(0),
       ],
    q(yopno) => [
-      q(7776),
+      q(7778),
       q(0),
       ],
    q(yora) => [
-      q(4571),
+      q(4573),
       q(0),
       ],
    q(yoron) => [
-      q(7723),
+      q(7725),
       q(0),
       ],
    q(yorta yorta) => [
-      q(7569),
+      q(7571),
       q(0),
       ],
    q(yoruba) => [
@@ -57128,99 +57142,99 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yosondua mixtec) => [
-      q(4465),
+      q(4467),
       q(0),
       ],
    q(yotti) => [
-      q(7722),
+      q(7724),
       q(0),
       ],
    q(youjiang zhuang) => [
-      q(7970),
+      q(7972),
       q(0),
       ],
    q(youle jinuo) => [
-      q(3103),
+      q(3104),
       q(0),
       ],
    q(younuo bunu) => [
-      q(1499),
+      q(1500),
       q(0),
       ],
    q(yout wam) => [
-      q(7758),
+      q(7760),
       q(0),
       ],
    q(yoy) => [
-      q(7724),
+      q(7726),
       q(0),
       ],
    q(yuanga) => [
-      q(5102),
+      q(5104),
       q(0),
       ],
    q(yucatec maya) => [
-      q(7760),
+      q(7762),
       q(1),
       ],
    q(yucatec maya sign language) => [
-      q(4531),
+      q(4533),
       q(0),
       ],
    q(yucateco) => [
-      q(7760),
+      q(7762),
       q(0),
       ],
    q(yuchi) => [
-      q(7762),
+      q(7764),
       q(0),
       ],
    q(yucuane mixtec) => [
-      q(4604),
+      q(4606),
       q(0),
       ],
    q(yucuna) => [
-      q(7612),
+      q(7614),
       q(0),
       ],
    q(yue chinese) => [
-      q(7764),
+      q(7766),
       q(0),
       ],
    q(yug) => [
-      q(7766),
+      q(7768),
       q(0),
       ],
    q(yugambal) => [
-      q(7761),
+      q(7763),
       q(0),
       ],
    q(yugoslavian sign language) => [
-      q(7748),
+      q(7750),
       q(0),
       ],
    q(yugul) => [
-      q(7638),
+      q(7640),
       q(0),
       ],
    q(yuhup) => [
-      q(7574),
+      q(7576),
       q(0),
       ],
    q(yuki) => [
-      q(7769),
+      q(7771),
       q(0),
       ],
    q(yukpa) => [
-      q(7773),
+      q(7775),
       q(0),
       ],
    q(yukuben) => [
-      q(7604),
+      q(7606),
       q(0),
       ],
    q(yulu) => [
-      q(7770),
+      q(7772),
       q(0),
       ],
    q(yupik languages) => [
@@ -57228,59 +57242,59 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(yuqui) => [
-      q(7774),
+      q(7776),
       q(0),
       ],
    q(yuracare) => [
-      q(7780),
+      q(7782),
       q(0),
       ],
    q(yurats) => [
-      q(5858),
+      q(5860),
       q(0),
       ],
    q(yurok) => [
-      q(7775),
+      q(7777),
       q(0),
       ],
    q(yuru) => [
-      q(3936),
+      q(3938),
       q(0),
       ],
    q(yuruti) => [
-      q(7767),
+      q(7769),
       q(0),
       ],
    q(yutanduchi mixtec) => [
-      q(4114),
+      q(4116),
       q(0),
       ],
    q(yuwana) => [
-      q(7591),
+      q(7593),
       q(0),
       ],
    q(yuyu) => [
-      q(7796),
+      q(7798),
       q(0),
       ],
    q(zaachila zapotec) => [
-      q(7961),
+      q(7963),
       q(0),
       ],
    q(zabana) => [
-      q(3384),
+      q(3386),
       q(0),
       ],
    q(zacatepec chatino) => [
-      q(1901),
+      q(1902),
       q(0),
       ],
    q(zacatlan-ahuacatlan-tepetzintla nahuatl) => [
-      q(4866),
+      q(4868),
       q(0),
       ],
    q(zaghawa) => [
-      q(7809),
+      q(7811),
       q(0),
       ],
    q(zaiwa) => [
@@ -57288,23 +57302,23 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zakhring) => [
-      q(7865),
+      q(7867),
       q(0),
       ],
    q(zambian sign language) => [
-      q(7947),
+      q(7949),
       q(0),
       ],
    q(zan gula) => [
-      q(7900),
+      q(7902),
       q(0),
       ],
    q(zanaki) => [
-      q(7813),
+      q(7815),
       q(0),
       ],
    q(zande (individual language)) => [
-      q(7901),
+      q(7903),
       q(0),
       ],
    q(zande languages) => [
@@ -57312,19 +57326,19 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zangskari) => [
-      q(7821),
+      q(7823),
       q(0),
       ],
    q(zangwal) => [
-      q(7810),
+      q(7812),
       q(0),
       ],
    q(zaniza zapotec) => [
-      q(7934),
+      q(7936),
       q(0),
       ],
    q(zaparo) => [
-      q(7942),
+      q(7944),
       q(0),
       ],
    q(zapotec) => [
@@ -57332,39 +57346,39 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zaramo) => [
-      q(7812),
+      q(7814),
       q(0),
       ],
    q(zari) => [
-      q(7826),
+      q(7828),
       q(0),
       ],
    q(zarma) => [
-      q(2061),
+      q(2062),
       q(0),
       ],
    q(zarphatic) => [
-      q(7943),
+      q(7945),
       q(0),
       ],
    q(zauzou) => [
-      q(7814),
+      q(7816),
       q(0),
       ],
    q(zay) => [
-      q(7967),
+      q(7969),
       q(0),
       ],
    q(zayein karen) => [
-      q(3724),
+      q(3726),
       q(0),
       ],
    q(zayse-zergulla) => [
-      q(7825),
+      q(7827),
       q(0),
       ],
    q(zaysete) => [
-      q(7825),
+      q(7827),
       q(1),
       ],
    q(zaza) => [
@@ -57376,31 +57390,31 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(5),
       ],
    q(zazao) => [
-      q(3046),
+      q(3047),
       q(0),
       ],
    q(zeem) => [
-      q(7963),
+      q(7965),
       q(0),
       ],
    q(zeeuws) => [
-      q(7834),
+      q(7836),
       q(0),
       ],
    q(zemba) => [
-      q(2025),
+      q(2026),
       q(0),
       ],
    q(zeme naga) => [
-      q(5178),
+      q(5180),
       q(0),
       ],
    q(zemgalian) => [
-      q(7571),
+      q(7573),
       q(0),
       ],
    q(zenag) => [
-      q(7835),
+      q(7837),
       q(0),
       ],
    q(zenaga) => [
@@ -57408,27 +57422,27 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zenzontepec chatino) => [
-      q(1934),
+      q(1935),
       q(0),
       ],
    q(zerenkel) => [
-      q(7941),
+      q(7943),
       q(0),
       ],
    q(zhaba) => [
-      q(7842),
+      q(7844),
       q(0),
       ],
    q(zhang-zhung) => [
-      q(7570),
+      q(7572),
       q(0),
       ],
    q(zhire) => [
-      q(7844),
+      q(7846),
       q(0),
       ],
    q(zhoa) => [
-      q(7846),
+      q(7848),
       q(0),
       ],
    q(zhuang) => [
@@ -57436,75 +57450,75 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zia) => [
-      q(7847),
+      q(7849),
       q(0),
       ],
    q(zialo) => [
-      q(7850),
+      q(7852),
       q(0),
       ],
    q(zigula) => [
-      q(7854),
+      q(7856),
       q(0),
       ],
    q(zimakani) => [
-      q(7849),
+      q(7851),
       q(0),
       ],
    q(zimba) => [
-      q(7875),
+      q(7877),
       q(0),
       ],
    q(zimbabwe sign language) => [
-      q(7848),
+      q(7850),
       q(0),
       ],
    q(zinza) => [
-      q(7852),
+      q(7854),
       q(0),
       ],
    q(zire) => [
-      q(6037),
+      q(6039),
       q(0),
       ],
    q(ziriya) => [
-      q(7853),
+      q(7855),
       q(0),
       ],
    q(zizilivakan) => [
-      q(7855),
+      q(7857),
       q(0),
       ],
    q(zo'e) => [
-      q(5630),
+      q(5632),
       q(0),
       ],
    q(zokhuo) => [
-      q(7802),
+      q(7804),
       q(0),
       ],
    q(zoogocho zapotec) => [
-      q(7928),
+      q(7930),
       q(0),
       ],
    q(zoroastrian dari) => [
-      q(2442),
+      q(2443),
       q(0),
       ],
    q(zorop) => [
-      q(7113),
+      q(7115),
       q(1),
       ],
    q(zotung chin) => [
-      q(1936),
+      q(1937),
       q(0),
       ],
    q(zou) => [
-      q(7907),
+      q(7909),
       q(0),
       ],
    q(zulgo-gemzek) => [
-      q(2569),
+      q(2570),
       q(0),
       ],
    q(zulu) => [
@@ -57512,11 +57526,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zumaya) => [
-      q(7966),
+      q(7968),
       q(0),
       ],
    q(zumbun) => [
-      q(3116),
+      q(3117),
       q(0),
       ],
    q(zuni) => [
@@ -57524,11 +57538,11 @@ $Locale::Codes::Data{'language'}{'alias2id'} = {
       q(0),
       ],
    q(zuojiang zhuang) => [
-      q(7973),
+      q(7975),
       q(0),
       ],
    q(zyphe chin) => [
-      q(7972),
+      q(7974),
       q(0),
       ],
 };
@@ -59950,67 +59964,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ato) => [
-         q(0830),
+         q(0921),
          q(0),
          ],
       q(atp) => [
-         q(0921),
+         q(0922),
          q(0),
          ],
       q(atq) => [
-         q(0922),
+         q(0923),
          q(0),
          ],
       q(atr) => [
-         q(0923),
+         q(0924),
          q(0),
          ],
       q(ats) => [
-         q(0924),
+         q(0925),
          q(0),
          ],
       q(att) => [
-         q(0925),
+         q(0926),
          q(0),
          ],
       q(atu) => [
-         q(0926),
+         q(0927),
          q(0),
          ],
       q(atv) => [
-         q(0927),
+         q(0928),
          q(0),
          ],
       q(atw) => [
-         q(0928),
+         q(0929),
          q(0),
          ],
       q(atx) => [
-         q(0929),
+         q(0930),
          q(0),
          ],
       q(aty) => [
-         q(0930),
+         q(0931),
          q(0),
          ],
       q(atz) => [
-         q(0931),
+         q(0932),
          q(0),
          ],
       q(aua) => [
-         q(0932),
+         q(0933),
          q(0),
          ],
       q(aub) => [
-         q(0933),
+         q(0934),
          q(0),
          ],
       q(auc) => [
-         q(0934),
+         q(0935),
          q(0),
          ],
       q(aud) => [
-         q(0935),
+         q(0936),
          q(0),
          ],
       q(auf) => [
@@ -60018,51 +60032,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(aug) => [
-         q(0936),
+         q(0937),
          q(0),
          ],
       q(auh) => [
-         q(0937),
+         q(0938),
          q(0),
          ],
       q(aui) => [
-         q(0938),
+         q(0939),
          q(0),
          ],
       q(auj) => [
-         q(0939),
+         q(0940),
          q(0),
          ],
       q(auk) => [
-         q(0940),
+         q(0941),
          q(0),
          ],
       q(aul) => [
-         q(0941),
+         q(0942),
          q(0),
          ],
       q(aum) => [
-         q(0942),
+         q(0943),
          q(0),
          ],
       q(aun) => [
-         q(0943),
+         q(0944),
          q(0),
          ],
       q(auo) => [
-         q(0944),
+         q(0945),
          q(0),
          ],
       q(aup) => [
-         q(0945),
+         q(0946),
          q(0),
          ],
       q(auq) => [
-         q(0946),
+         q(0947),
          q(0),
          ],
       q(aur) => [
-         q(0947),
+         q(0948),
          q(0),
          ],
       q(aus) => [
@@ -60070,27 +60084,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(aut) => [
-         q(0948),
+         q(0949),
          q(0),
          ],
       q(auu) => [
-         q(0949),
+         q(0950),
          q(0),
          ],
       q(auw) => [
-         q(0950),
+         q(0951),
          q(0),
          ],
       q(aux) => [
-         q(0951),
+         q(0952),
          q(0),
          ],
       q(auy) => [
-         q(0952),
+         q(0953),
          q(0),
          ],
       q(auz) => [
-         q(0953),
+         q(0954),
          q(0),
          ],
       q(ava) => [
@@ -60098,11 +60112,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(avb) => [
-         q(0954),
+         q(0955),
          q(0),
          ],
       q(avd) => [
-         q(0955),
+         q(0956),
          q(0),
          ],
       q(ave) => [
@@ -60110,43 +60124,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(avi) => [
-         q(0956),
+         q(0957),
          q(0),
          ],
       q(avk) => [
-         q(0957),
+         q(0958),
          q(0),
          ],
       q(avl) => [
-         q(0958),
+         q(0959),
          q(0),
          ],
       q(avm) => [
-         q(0959),
+         q(0960),
          q(0),
          ],
       q(avn) => [
-         q(0960),
+         q(0961),
          q(0),
          ],
       q(avo) => [
-         q(0961),
+         q(0962),
          q(0),
          ],
       q(avs) => [
-         q(0962),
+         q(0963),
          q(0),
          ],
       q(avt) => [
-         q(0963),
+         q(0964),
          q(0),
          ],
       q(avu) => [
-         q(0964),
+         q(0965),
          q(0),
          ],
       q(avv) => [
-         q(0965),
+         q(0966),
          q(0),
          ],
       q(awa) => [
@@ -60154,11 +60168,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(awb) => [
-         q(0966),
+         q(0967),
          q(0),
          ],
       q(awc) => [
-         q(0967),
+         q(0968),
          q(0),
          ],
       q(awd) => [
@@ -60166,135 +60180,135 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(awe) => [
-         q(0968),
+         q(0969),
          q(0),
          ],
       q(awg) => [
-         q(0969),
+         q(0970),
          q(0),
          ],
       q(awh) => [
-         q(0970),
+         q(0971),
          q(0),
          ],
       q(awi) => [
-         q(0971),
+         q(0972),
          q(0),
          ],
       q(awk) => [
-         q(0972),
+         q(0973),
          q(0),
          ],
       q(awm) => [
-         q(0973),
+         q(0974),
          q(0),
          ],
       q(awn) => [
-         q(0974),
+         q(0975),
          q(0),
          ],
       q(awo) => [
-         q(0975),
+         q(0976),
          q(0),
          ],
       q(awr) => [
-         q(0976),
+         q(0977),
          q(0),
          ],
       q(aws) => [
-         q(0977),
+         q(0978),
          q(0),
          ],
       q(awt) => [
-         q(0978),
+         q(0979),
          q(0),
          ],
       q(awu) => [
-         q(0979),
+         q(0980),
          q(0),
          ],
       q(awv) => [
-         q(0980),
+         q(0981),
          q(0),
          ],
       q(aww) => [
-         q(0981),
+         q(0982),
          q(0),
          ],
       q(awx) => [
-         q(0982),
+         q(0983),
          q(0),
          ],
       q(awy) => [
-         q(0983),
+         q(0984),
          q(0),
          ],
       q(axb) => [
-         q(0984),
+         q(0985),
          q(0),
          ],
       q(axe) => [
-         q(0985),
+         q(0986),
          q(0),
          ],
       q(axg) => [
-         q(0986),
+         q(0987),
          q(0),
          ],
       q(axk) => [
-         q(0987),
+         q(0988),
          q(0),
          ],
       q(axl) => [
-         q(0988),
+         q(0989),
          q(0),
          ],
       q(axm) => [
-         q(0989),
+         q(0990),
          q(0),
          ],
       q(axx) => [
-         q(0990),
+         q(0991),
          q(0),
          ],
       q(aya) => [
-         q(0991),
+         q(0992),
          q(0),
          ],
       q(ayb) => [
-         q(0992),
+         q(0993),
          q(0),
          ],
       q(ayc) => [
-         q(0993),
+         q(0994),
          q(0),
          ],
       q(ayd) => [
-         q(0994),
+         q(0995),
          q(0),
          ],
       q(aye) => [
-         q(0995),
+         q(0996),
          q(0),
          ],
       q(ayg) => [
-         q(0996),
+         q(0997),
          q(0),
          ],
       q(ayh) => [
-         q(0997),
+         q(0998),
          q(0),
          ],
       q(ayi) => [
-         q(0998),
+         q(0999),
          q(0),
          ],
       q(ayk) => [
-         q(0999),
+         q(1000),
          q(0),
          ],
       q(ayl) => [
-         q(1000),
+         q(1001),
          q(0),
          ],
       q(aym) => [
@@ -60302,51 +60316,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ayn) => [
-         q(1001),
+         q(1002),
          q(0),
          ],
       q(ayo) => [
-         q(1002),
+         q(1003),
          q(0),
          ],
       q(ayp) => [
-         q(1003),
+         q(1004),
          q(0),
          ],
       q(ayq) => [
-         q(1004),
+         q(1005),
          q(0),
          ],
       q(ayr) => [
-         q(1005),
+         q(1006),
          q(0),
          ],
       q(ays) => [
-         q(1006),
+         q(1007),
          q(0),
          ],
       q(ayt) => [
-         q(1007),
+         q(1008),
          q(0),
          ],
       q(ayu) => [
-         q(1008),
+         q(1009),
          q(0),
          ],
       q(ayy) => [
-         q(1009),
+         q(1010),
          q(0),
          ],
       q(ayz) => [
-         q(1010),
+         q(1011),
          q(0),
          ],
       q(aza) => [
-         q(1011),
+         q(1012),
          q(0),
          ],
       q(azb) => [
-         q(1012),
+         q(1013),
          q(0),
          ],
       q(azc) => [
@@ -60354,7 +60368,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(azd) => [
-         q(1013),
+         q(1014),
          q(0),
          ],
       q(aze) => [
@@ -60362,43 +60376,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(azg) => [
-         q(1014),
+         q(1015),
          q(0),
          ],
       q(azj) => [
-         q(1015),
+         q(1016),
          q(0),
          ],
       q(azm) => [
-         q(1016),
+         q(1017),
          q(0),
          ],
       q(azn) => [
-         q(1017),
+         q(1018),
          q(0),
          ],
       q(azo) => [
-         q(1018),
+         q(1019),
          q(0),
          ],
       q(azt) => [
-         q(1019),
+         q(1020),
          q(0),
          ],
       q(azz) => [
-         q(1020),
+         q(1021),
          q(0),
          ],
       q(baa) => [
-         q(1021),
+         q(1022),
          q(0),
          ],
       q(bab) => [
-         q(1022),
+         q(1023),
          q(0),
          ],
       q(bac) => [
-         q(1023),
+         q(1024),
          q(0),
          ],
       q(bad) => [
@@ -60406,19 +60420,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bae) => [
-         q(1024),
+         q(1025),
          q(0),
          ],
       q(baf) => [
-         q(1025),
+         q(1026),
          q(0),
          ],
       q(bag) => [
-         q(1026),
+         q(1027),
          q(0),
          ],
       q(bah) => [
-         q(1027),
+         q(1028),
          q(0),
          ],
       q(bai) => [
@@ -60426,7 +60440,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(baj) => [
-         q(1028),
+         q(1029),
          q(0),
          ],
       q(bak) => [
@@ -60446,11 +60460,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bao) => [
-         q(1029),
+         q(1030),
          q(0),
          ],
       q(bap) => [
-         q(1030),
+         q(1031),
          q(0),
          ],
       q(baq) => [
@@ -60458,7 +60472,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bar) => [
-         q(1031),
+         q(1032),
          q(0),
          ],
       q(bas) => [
@@ -60470,367 +60484,367 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bau) => [
-         q(1032),
+         q(1033),
          q(0),
          ],
       q(bav) => [
-         q(1033),
+         q(1034),
          q(0),
          ],
       q(baw) => [
-         q(1034),
+         q(1035),
          q(0),
          ],
       q(bax) => [
-         q(1035),
+         q(1036),
          q(0),
          ],
       q(bay) => [
-         q(1036),
+         q(1037),
          q(0),
          ],
       q(bba) => [
-         q(1037),
+         q(1038),
          q(0),
          ],
       q(bbb) => [
-         q(1038),
+         q(1039),
          q(0),
          ],
       q(bbc) => [
-         q(1039),
+         q(1040),
          q(0),
          ],
       q(bbd) => [
-         q(1040),
+         q(1041),
          q(0),
          ],
       q(bbe) => [
-         q(1041),
+         q(1042),
          q(0),
          ],
       q(bbf) => [
-         q(1042),
+         q(1043),
          q(0),
          ],
       q(bbg) => [
-         q(1043),
+         q(1044),
          q(0),
          ],
       q(bbh) => [
-         q(1044),
+         q(1045),
          q(0),
          ],
       q(bbi) => [
-         q(1045),
+         q(1046),
          q(0),
          ],
       q(bbj) => [
-         q(1046),
+         q(1047),
          q(0),
          ],
       q(bbk) => [
-         q(1047),
+         q(1048),
          q(0),
          ],
       q(bbl) => [
-         q(1048),
+         q(1049),
          q(0),
          ],
       q(bbm) => [
-         q(1049),
+         q(1050),
          q(0),
          ],
       q(bbn) => [
-         q(1050),
+         q(1051),
          q(0),
          ],
       q(bbo) => [
-         q(1051),
+         q(1052),
          q(0),
          ],
       q(bbp) => [
-         q(1052),
+         q(1053),
          q(0),
          ],
       q(bbq) => [
-         q(1053),
+         q(1054),
          q(0),
          ],
       q(bbr) => [
-         q(1054),
+         q(1055),
          q(0),
          ],
       q(bbs) => [
-         q(1055),
+         q(1056),
          q(0),
          ],
       q(bbt) => [
-         q(1056),
+         q(1057),
          q(0),
          ],
       q(bbu) => [
-         q(1057),
+         q(1058),
          q(0),
          ],
       q(bbv) => [
-         q(1058),
+         q(1059),
          q(0),
          ],
       q(bbw) => [
-         q(1059),
+         q(1060),
          q(0),
          ],
       q(bbx) => [
-         q(1060),
+         q(1061),
          q(0),
          ],
       q(bby) => [
-         q(1061),
+         q(1062),
          q(0),
          ],
       q(bbz) => [
-         q(1062),
+         q(1063),
          q(0),
          ],
       q(bca) => [
-         q(1063),
+         q(1064),
          q(0),
          ],
       q(bcb) => [
-         q(1064),
+         q(1065),
          q(0),
          ],
       q(bcc) => [
-         q(1065),
+         q(1066),
          q(0),
          ],
       q(bcd) => [
-         q(1066),
+         q(1067),
          q(0),
          ],
       q(bce) => [
-         q(1067),
+         q(1068),
          q(0),
          ],
       q(bcf) => [
-         q(1068),
+         q(1069),
          q(0),
          ],
       q(bcg) => [
-         q(1069),
+         q(1070),
          q(0),
          ],
       q(bch) => [
-         q(1070),
+         q(1071),
          q(0),
          ],
       q(bci) => [
-         q(1071),
+         q(1072),
          q(0),
          ],
       q(bcj) => [
-         q(1072),
+         q(1073),
          q(0),
          ],
       q(bck) => [
-         q(1073),
+         q(1074),
          q(0),
          ],
       q(bcl) => [
-         q(1074),
+         q(1075),
          q(0),
          ],
       q(bcm) => [
-         q(1075),
+         q(1076),
          q(0),
          ],
       q(bcn) => [
-         q(1076),
+         q(1077),
          q(0),
          ],
       q(bco) => [
-         q(1077),
+         q(1078),
          q(0),
          ],
       q(bcp) => [
-         q(1078),
+         q(1079),
          q(0),
          ],
       q(bcq) => [
-         q(1079),
+         q(1080),
          q(0),
          ],
       q(bcr) => [
-         q(1080),
+         q(1081),
          q(0),
          ],
       q(bcs) => [
-         q(1081),
+         q(1082),
          q(0),
          ],
       q(bct) => [
-         q(1082),
+         q(1083),
          q(0),
          ],
       q(bcu) => [
-         q(1083),
+         q(1084),
          q(0),
          ],
       q(bcv) => [
-         q(1084),
+         q(1085),
          q(0),
          ],
       q(bcw) => [
-         q(1085),
+         q(1086),
          q(0),
          ],
       q(bcy) => [
-         q(1086),
+         q(1087),
          q(0),
          ],
       q(bcz) => [
-         q(1087),
+         q(1088),
          q(0),
          ],
       q(bda) => [
-         q(1088),
+         q(1089),
          q(0),
          ],
       q(bdb) => [
-         q(1089),
+         q(1090),
          q(0),
          ],
       q(bdc) => [
-         q(1090),
+         q(1091),
          q(0),
          ],
       q(bdd) => [
-         q(1091),
+         q(1092),
          q(0),
          ],
       q(bde) => [
-         q(1092),
+         q(1093),
          q(0),
          ],
       q(bdf) => [
-         q(1093),
+         q(1094),
          q(0),
          ],
       q(bdg) => [
-         q(1094),
+         q(1095),
          q(0),
          ],
       q(bdh) => [
-         q(1095),
+         q(1096),
          q(0),
          ],
       q(bdi) => [
-         q(1096),
+         q(1097),
          q(0),
          ],
       q(bdj) => [
-         q(1097),
+         q(1098),
          q(0),
          ],
       q(bdk) => [
-         q(1098),
+         q(1099),
          q(0),
          ],
       q(bdl) => [
-         q(1099),
+         q(1100),
          q(0),
          ],
       q(bdm) => [
-         q(1100),
+         q(1101),
          q(0),
          ],
       q(bdn) => [
-         q(1101),
+         q(1102),
          q(0),
          ],
       q(bdo) => [
-         q(1102),
+         q(1103),
          q(0),
          ],
       q(bdp) => [
-         q(1103),
+         q(1104),
          q(0),
          ],
       q(bdq) => [
-         q(1104),
+         q(1105),
          q(0),
          ],
       q(bdr) => [
-         q(1105),
+         q(1106),
          q(0),
          ],
       q(bds) => [
-         q(1106),
+         q(1107),
          q(0),
          ],
       q(bdt) => [
-         q(1107),
+         q(1108),
          q(0),
          ],
       q(bdu) => [
-         q(1108),
+         q(1109),
          q(0),
          ],
       q(bdv) => [
-         q(1109),
+         q(1110),
          q(0),
          ],
       q(bdw) => [
-         q(1110),
+         q(1111),
          q(0),
          ],
       q(bdx) => [
-         q(1111),
+         q(1112),
          q(0),
          ],
       q(bdy) => [
-         q(1112),
+         q(1113),
          q(0),
          ],
       q(bdz) => [
-         q(1113),
+         q(1114),
          q(0),
          ],
       q(bea) => [
-         q(1114),
+         q(1115),
          q(0),
          ],
       q(beb) => [
-         q(1115),
+         q(1116),
          q(0),
          ],
       q(bec) => [
-         q(1116),
+         q(1117),
          q(0),
          ],
       q(bed) => [
-         q(1117),
+         q(1118),
          q(0),
          ],
       q(bee) => [
-         q(1118),
+         q(1119),
          q(0),
          ],
       q(bef) => [
-         q(1119),
+         q(1120),
          q(0),
          ],
       q(beg) => [
-         q(1120),
+         q(1121),
          q(0),
          ],
       q(beh) => [
-         q(1121),
+         q(1122),
          q(0),
          ],
       q(bei) => [
-         q(1122),
+         q(1123),
          q(0),
          ],
       q(bej) => [
@@ -60838,7 +60852,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bek) => [
-         q(1123),
+         q(1124),
          q(0),
          ],
       q(bel) => [
@@ -60854,15 +60868,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(beo) => [
-         q(1124),
+         q(1125),
          q(0),
          ],
       q(bep) => [
-         q(1125),
+         q(1126),
          q(0),
          ],
       q(beq) => [
-         q(1126),
+         q(1127),
          q(0),
          ],
       q(ber) => [
@@ -60870,287 +60884,287 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bes) => [
-         q(1127),
+         q(1128),
          q(0),
          ],
       q(bet) => [
-         q(1128),
+         q(1129),
          q(0),
          ],
       q(beu) => [
-         q(1129),
+         q(1130),
          q(0),
          ],
       q(bev) => [
-         q(1130),
+         q(1131),
          q(0),
          ],
       q(bew) => [
-         q(1131),
+         q(1132),
          q(0),
          ],
       q(bex) => [
-         q(1132),
+         q(1133),
          q(0),
          ],
       q(bey) => [
-         q(1133),
+         q(1134),
          q(0),
          ],
       q(bez) => [
-         q(1134),
+         q(1135),
          q(0),
          ],
       q(bfa) => [
-         q(1135),
+         q(1136),
          q(0),
          ],
       q(bfb) => [
-         q(1136),
+         q(1137),
          q(0),
          ],
       q(bfc) => [
-         q(1137),
+         q(1138),
          q(0),
          ],
       q(bfd) => [
-         q(1138),
+         q(1139),
          q(0),
          ],
       q(bfe) => [
-         q(1139),
+         q(1140),
          q(0),
          ],
       q(bff) => [
-         q(1140),
+         q(1141),
          q(0),
          ],
       q(bfg) => [
-         q(1141),
+         q(1142),
          q(0),
          ],
       q(bfh) => [
-         q(1142),
+         q(1143),
          q(0),
          ],
       q(bfi) => [
-         q(1143),
+         q(1144),
          q(0),
          ],
       q(bfj) => [
-         q(1144),
+         q(1145),
          q(0),
          ],
       q(bfk) => [
-         q(1145),
+         q(1146),
          q(0),
          ],
       q(bfl) => [
-         q(1146),
+         q(1147),
          q(0),
          ],
       q(bfm) => [
-         q(1147),
+         q(1148),
          q(0),
          ],
       q(bfn) => [
-         q(1148),
+         q(1149),
          q(0),
          ],
       q(bfo) => [
-         q(1149),
+         q(1150),
          q(0),
          ],
       q(bfp) => [
-         q(1150),
+         q(1151),
          q(0),
          ],
       q(bfq) => [
-         q(1151),
+         q(1152),
          q(0),
          ],
       q(bfr) => [
-         q(1152),
+         q(1153),
          q(0),
          ],
       q(bfs) => [
-         q(1153),
+         q(1154),
          q(0),
          ],
       q(bft) => [
-         q(1154),
+         q(1155),
          q(0),
          ],
       q(bfu) => [
-         q(1155),
+         q(1156),
          q(0),
          ],
       q(bfw) => [
-         q(1156),
+         q(1157),
          q(0),
          ],
       q(bfx) => [
-         q(1157),
+         q(1158),
          q(0),
          ],
       q(bfy) => [
-         q(1158),
+         q(1159),
          q(0),
          ],
       q(bfz) => [
-         q(1159),
+         q(1160),
          q(0),
          ],
       q(bga) => [
-         q(1160),
+         q(1161),
          q(0),
          ],
       q(bgb) => [
-         q(1161),
+         q(1162),
          q(0),
          ],
       q(bgc) => [
-         q(1162),
+         q(1163),
          q(0),
          ],
       q(bgd) => [
-         q(1163),
+         q(1164),
          q(0),
          ],
       q(bge) => [
-         q(1164),
+         q(1165),
          q(0),
          ],
       q(bgf) => [
-         q(1165),
+         q(1166),
          q(0),
          ],
       q(bgg) => [
-         q(1166),
+         q(1167),
          q(0),
          ],
       q(bgi) => [
-         q(1167),
+         q(1168),
          q(0),
          ],
       q(bgj) => [
-         q(1168),
+         q(1169),
          q(0),
          ],
       q(bgk) => [
-         q(1169),
+         q(1170),
          q(0),
          ],
       q(bgl) => [
-         q(1170),
+         q(1171),
          q(0),
          ],
       q(bgm) => [
-         q(1171),
+         q(1172),
          q(0),
          ],
       q(bgn) => [
-         q(1172),
+         q(1173),
          q(0),
          ],
       q(bgo) => [
-         q(1173),
+         q(1174),
          q(0),
          ],
       q(bgp) => [
-         q(1174),
+         q(1175),
          q(0),
          ],
       q(bgq) => [
-         q(1175),
+         q(1176),
          q(0),
          ],
       q(bgr) => [
-         q(1176),
+         q(1177),
          q(0),
          ],
       q(bgs) => [
-         q(1177),
+         q(1178),
          q(0),
          ],
       q(bgt) => [
-         q(1178),
+         q(1179),
          q(0),
          ],
       q(bgu) => [
-         q(1179),
+         q(1180),
          q(0),
          ],
       q(bgv) => [
-         q(1180),
+         q(1181),
          q(0),
          ],
       q(bgw) => [
-         q(1181),
+         q(1182),
          q(0),
          ],
       q(bgx) => [
-         q(1182),
+         q(1183),
          q(0),
          ],
       q(bgy) => [
-         q(1183),
+         q(1184),
          q(0),
          ],
       q(bgz) => [
-         q(1184),
+         q(1185),
          q(0),
          ],
       q(bha) => [
-         q(1185),
+         q(1186),
          q(0),
          ],
       q(bhb) => [
-         q(1186),
+         q(1187),
          q(0),
          ],
       q(bhc) => [
-         q(1187),
+         q(1188),
          q(0),
          ],
       q(bhd) => [
-         q(1188),
+         q(1189),
          q(0),
          ],
       q(bhe) => [
-         q(1189),
+         q(1190),
          q(0),
          ],
       q(bhf) => [
-         q(1190),
+         q(1191),
          q(0),
          ],
       q(bhg) => [
-         q(1191),
+         q(1192),
          q(0),
          ],
       q(bhh) => [
-         q(1192),
+         q(1193),
          q(0),
          ],
       q(bhi) => [
-         q(1193),
+         q(1194),
          q(0),
          ],
       q(bhj) => [
-         q(1194),
+         q(1195),
          q(0),
          ],
       q(bhl) => [
-         q(1195),
+         q(1196),
          q(0),
          ],
       q(bhm) => [
-         q(1196),
+         q(1197),
          q(0),
          ],
       q(bhn) => [
-         q(1197),
+         q(1198),
          q(0),
          ],
       q(bho) => [
@@ -61158,75 +61172,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bhp) => [
-         q(1198),
+         q(1199),
          q(0),
          ],
       q(bhq) => [
-         q(1199),
+         q(1200),
          q(0),
          ],
       q(bhr) => [
-         q(1200),
+         q(1201),
          q(0),
          ],
       q(bhs) => [
-         q(1201),
+         q(1202),
          q(0),
          ],
       q(bht) => [
-         q(1202),
+         q(1203),
          q(0),
          ],
       q(bhu) => [
-         q(1203),
+         q(1204),
          q(0),
          ],
       q(bhv) => [
-         q(1204),
+         q(1205),
          q(0),
          ],
       q(bhw) => [
-         q(1205),
+         q(1206),
          q(0),
          ],
       q(bhx) => [
-         q(1206),
+         q(1207),
          q(0),
          ],
       q(bhy) => [
-         q(1207),
+         q(1208),
          q(0),
          ],
       q(bhz) => [
-         q(1208),
+         q(1209),
          q(0),
          ],
       q(bia) => [
-         q(1209),
+         q(1210),
          q(0),
          ],
       q(bib) => [
-         q(1210),
+         q(1211),
          q(0),
          ],
       q(bic) => [
-         q(1211),
+         q(1212),
          q(0),
          ],
       q(bid) => [
-         q(1212),
+         q(1213),
          q(0),
          ],
       q(bie) => [
-         q(1213),
+         q(1214),
          q(0),
          ],
       q(bif) => [
-         q(1214),
+         q(1215),
          q(0),
          ],
       q(big) => [
-         q(1215),
+         q(1216),
          q(0),
          ],
       q(bih) => [
@@ -61234,7 +61248,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bij) => [
-         q(1216),
+         q(1217),
          q(0),
          ],
       q(bik) => [
@@ -61242,11 +61256,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bil) => [
-         q(1217),
+         q(1218),
          q(0),
          ],
       q(bim) => [
-         q(1218),
+         q(1219),
          q(0),
          ],
       q(bin) => [
@@ -61254,19 +61268,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bio) => [
-         q(1219),
+         q(1220),
          q(0),
          ],
       q(bip) => [
-         q(1220),
+         q(1221),
          q(0),
          ],
       q(biq) => [
-         q(1221),
+         q(1222),
          q(0),
          ],
       q(bir) => [
-         q(1222),
+         q(1223),
          q(0),
          ],
       q(bis) => [
@@ -61274,223 +61288,223 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bit) => [
-         q(1223),
+         q(1224),
          q(0),
          ],
       q(biu) => [
-         q(1224),
+         q(1225),
          q(0),
          ],
       q(biv) => [
-         q(1225),
+         q(1226),
          q(0),
          ],
       q(biw) => [
-         q(1226),
+         q(1227),
          q(0),
          ],
       q(bix) => [
-         q(1227),
+         q(1228),
          q(0),
          ],
       q(biy) => [
-         q(1228),
+         q(1229),
          q(0),
          ],
       q(biz) => [
-         q(1229),
+         q(1230),
          q(0),
          ],
       q(bja) => [
-         q(1230),
+         q(1231),
          q(0),
          ],
       q(bjb) => [
-         q(1231),
+         q(1232),
          q(0),
          ],
       q(bjc) => [
-         q(1232),
+         q(1233),
          q(0),
          ],
       q(bje) => [
-         q(1233),
+         q(1234),
          q(0),
          ],
       q(bjf) => [
-         q(1234),
+         q(1235),
          q(0),
          ],
       q(bjg) => [
-         q(1235),
+         q(1236),
          q(0),
          ],
       q(bjh) => [
-         q(1236),
+         q(1237),
          q(0),
          ],
       q(bji) => [
-         q(1237),
+         q(1238),
          q(0),
          ],
       q(bjj) => [
-         q(1238),
+         q(1239),
          q(0),
          ],
       q(bjk) => [
-         q(1239),
+         q(1240),
          q(0),
          ],
       q(bjl) => [
-         q(1240),
+         q(1241),
          q(0),
          ],
       q(bjm) => [
-         q(1241),
+         q(1242),
          q(0),
          ],
       q(bjn) => [
-         q(1242),
+         q(1243),
          q(0),
          ],
       q(bjo) => [
-         q(1243),
+         q(1244),
          q(0),
          ],
       q(bjp) => [
-         q(1244),
+         q(1245),
          q(0),
          ],
       q(bjr) => [
-         q(1245),
+         q(1246),
          q(0),
          ],
       q(bjs) => [
-         q(1246),
+         q(1247),
          q(0),
          ],
       q(bjt) => [
-         q(1247),
+         q(1248),
          q(0),
          ],
       q(bju) => [
-         q(1248),
+         q(1249),
          q(0),
          ],
       q(bjv) => [
-         q(1249),
+         q(1250),
          q(0),
          ],
       q(bjw) => [
-         q(1250),
+         q(1251),
          q(0),
          ],
       q(bjx) => [
-         q(1251),
+         q(1252),
          q(0),
          ],
       q(bjy) => [
-         q(1252),
+         q(1253),
          q(0),
          ],
       q(bjz) => [
-         q(1253),
+         q(1254),
          q(0),
          ],
       q(bka) => [
-         q(1254),
+         q(1255),
          q(0),
          ],
       q(bkc) => [
-         q(1255),
+         q(1256),
          q(0),
          ],
       q(bkd) => [
-         q(1256),
+         q(1257),
          q(0),
          ],
       q(bkf) => [
-         q(1257),
+         q(1258),
          q(0),
          ],
       q(bkg) => [
-         q(1258),
+         q(1259),
          q(0),
          ],
       q(bkh) => [
-         q(1259),
+         q(1260),
          q(0),
          ],
       q(bki) => [
-         q(1260),
+         q(1261),
          q(0),
          ],
       q(bkj) => [
-         q(1261),
+         q(1262),
          q(0),
          ],
       q(bkk) => [
-         q(1262),
+         q(1263),
          q(0),
          ],
       q(bkl) => [
-         q(1263),
+         q(1264),
          q(0),
          ],
       q(bkm) => [
-         q(1264),
+         q(1265),
          q(0),
          ],
       q(bkn) => [
-         q(1265),
+         q(1266),
          q(0),
          ],
       q(bko) => [
-         q(1266),
+         q(1267),
          q(0),
          ],
       q(bkp) => [
-         q(1267),
+         q(1268),
          q(0),
          ],
       q(bkq) => [
-         q(1268),
+         q(1269),
          q(0),
          ],
       q(bkr) => [
-         q(1269),
+         q(1270),
          q(0),
          ],
       q(bks) => [
-         q(1270),
+         q(1271),
          q(0),
          ],
       q(bkt) => [
-         q(1271),
+         q(1272),
          q(0),
          ],
       q(bku) => [
-         q(1272),
+         q(1273),
          q(0),
          ],
       q(bkv) => [
-         q(1273),
+         q(1274),
          q(0),
          ],
       q(bkw) => [
-         q(1274),
+         q(1275),
          q(0),
          ],
       q(bkx) => [
-         q(1275),
+         q(1276),
          q(0),
          ],
       q(bky) => [
-         q(1276),
+         q(1277),
          q(0),
          ],
       q(bkz) => [
-         q(1277),
+         q(1278),
          q(0),
          ],
       q(bla) => [
@@ -61498,271 +61512,271 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(blb) => [
-         q(1278),
+         q(1279),
          q(0),
          ],
       q(blc) => [
-         q(1279),
+         q(1280),
          q(0),
          ],
       q(bld) => [
-         q(1280),
+         q(1281),
          q(0),
          ],
       q(ble) => [
-         q(1281),
+         q(1282),
          q(0),
          ],
       q(blf) => [
-         q(1282),
+         q(1283),
          q(0),
          ],
       q(blg) => [
-         q(1283),
+         q(1284),
          q(0),
          ],
       q(blh) => [
-         q(1284),
+         q(1285),
          q(0),
          ],
       q(bli) => [
-         q(1285),
+         q(1286),
          q(0),
          ],
       q(blj) => [
-         q(1286),
+         q(1287),
          q(0),
          ],
       q(blk) => [
-         q(1287),
+         q(1288),
          q(0),
          ],
       q(bll) => [
-         q(1288),
+         q(1289),
          q(0),
          ],
       q(blm) => [
-         q(1289),
+         q(1290),
          q(0),
          ],
       q(bln) => [
-         q(1290),
+         q(1291),
          q(0),
          ],
       q(blo) => [
-         q(1291),
+         q(1292),
          q(0),
          ],
       q(blp) => [
-         q(1292),
+         q(1293),
          q(0),
          ],
       q(blq) => [
-         q(1293),
+         q(1294),
          q(0),
          ],
       q(blr) => [
-         q(1294),
+         q(1295),
          q(0),
          ],
       q(bls) => [
-         q(1295),
+         q(1296),
          q(0),
          ],
       q(blt) => [
-         q(1296),
+         q(1297),
          q(0),
          ],
       q(blv) => [
-         q(1297),
+         q(1298),
          q(0),
          ],
       q(blw) => [
-         q(1298),
+         q(1299),
          q(0),
          ],
       q(blx) => [
-         q(1299),
+         q(1300),
          q(0),
          ],
       q(bly) => [
-         q(1300),
+         q(1301),
          q(0),
          ],
       q(blz) => [
-         q(1301),
+         q(1302),
          q(0),
          ],
       q(bma) => [
-         q(1302),
+         q(1303),
          q(0),
          ],
       q(bmb) => [
-         q(1303),
+         q(1304),
          q(0),
          ],
       q(bmc) => [
-         q(1304),
+         q(1305),
          q(0),
          ],
       q(bmd) => [
-         q(1305),
+         q(1306),
          q(0),
          ],
       q(bme) => [
-         q(1306),
+         q(1307),
          q(0),
          ],
       q(bmf) => [
-         q(1307),
+         q(1308),
          q(0),
          ],
       q(bmg) => [
-         q(1308),
+         q(1309),
          q(0),
          ],
       q(bmh) => [
-         q(1309),
+         q(1310),
          q(0),
          ],
       q(bmi) => [
-         q(1310),
+         q(1311),
          q(0),
          ],
       q(bmj) => [
-         q(1311),
+         q(1312),
          q(0),
          ],
       q(bmk) => [
-         q(1312),
+         q(1313),
          q(0),
          ],
       q(bml) => [
-         q(1313),
+         q(1314),
          q(0),
          ],
       q(bmm) => [
-         q(1314),
+         q(1315),
          q(0),
          ],
       q(bmn) => [
-         q(1315),
+         q(1316),
          q(0),
          ],
       q(bmo) => [
-         q(1316),
+         q(1317),
          q(0),
          ],
       q(bmp) => [
-         q(1317),
+         q(1318),
          q(0),
          ],
       q(bmq) => [
-         q(1318),
+         q(1319),
          q(0),
          ],
       q(bmr) => [
-         q(1319),
+         q(1320),
          q(0),
          ],
       q(bms) => [
-         q(1320),
+         q(1321),
          q(0),
          ],
       q(bmt) => [
-         q(1321),
+         q(1322),
          q(0),
          ],
       q(bmu) => [
-         q(1322),
+         q(1323),
          q(0),
          ],
       q(bmv) => [
-         q(1323),
+         q(1324),
          q(0),
          ],
       q(bmw) => [
-         q(1324),
+         q(1325),
          q(0),
          ],
       q(bmx) => [
-         q(1325),
+         q(1326),
          q(0),
          ],
       q(bmz) => [
-         q(1326),
+         q(1327),
          q(0),
          ],
       q(bna) => [
-         q(1327),
+         q(1328),
          q(0),
          ],
       q(bnb) => [
-         q(1328),
+         q(1329),
          q(0),
          ],
       q(bnc) => [
-         q(1329),
+         q(1330),
          q(0),
          ],
       q(bnd) => [
-         q(1330),
+         q(1331),
          q(0),
          ],
       q(bne) => [
-         q(1331),
+         q(1332),
          q(0),
          ],
       q(bnf) => [
-         q(1332),
+         q(1333),
          q(0),
          ],
       q(bng) => [
-         q(1333),
+         q(1334),
          q(0),
          ],
       q(bni) => [
-         q(1334),
+         q(1335),
          q(0),
          ],
       q(bnj) => [
-         q(1335),
+         q(1336),
          q(0),
          ],
       q(bnk) => [
-         q(1336),
+         q(1337),
          q(0),
          ],
       q(bnl) => [
-         q(1337),
+         q(1338),
          q(0),
          ],
       q(bnm) => [
-         q(1338),
+         q(1339),
          q(0),
          ],
       q(bnn) => [
-         q(1339),
+         q(1340),
          q(0),
          ],
       q(bno) => [
-         q(1340),
+         q(1341),
          q(0),
          ],
       q(bnp) => [
-         q(1341),
+         q(1342),
          q(0),
          ],
       q(bnq) => [
-         q(1342),
+         q(1343),
          q(0),
          ],
       q(bnr) => [
-         q(1343),
+         q(1344),
          q(0),
          ],
       q(bns) => [
-         q(1344),
+         q(1345),
          q(0),
          ],
       q(bnt) => [
@@ -61770,91 +61784,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(bnu) => [
-         q(1345),
+         q(1346),
          q(0),
          ],
       q(bnv) => [
-         q(1346),
+         q(1347),
          q(0),
          ],
       q(bnw) => [
-         q(1347),
+         q(1348),
          q(0),
          ],
       q(bnx) => [
-         q(1348),
+         q(1349),
          q(0),
          ],
       q(bny) => [
-         q(1349),
+         q(1350),
          q(0),
          ],
       q(bnz) => [
-         q(1350),
+         q(1351),
          q(0),
          ],
       q(boa) => [
-         q(1351),
+         q(1352),
          q(0),
          ],
       q(bob) => [
-         q(1352),
+         q(1353),
          q(0),
          ],
       q(boe) => [
-         q(1353),
+         q(1354),
          q(0),
          ],
       q(bof) => [
-         q(1354),
+         q(1355),
          q(0),
          ],
       q(bog) => [
-         q(1355),
+         q(1356),
          q(0),
          ],
       q(boh) => [
-         q(1356),
+         q(1357),
          q(0),
          ],
       q(boi) => [
-         q(1357),
+         q(1358),
          q(0),
          ],
       q(boj) => [
-         q(1358),
+         q(1359),
          q(0),
          ],
       q(bok) => [
-         q(1359),
+         q(1360),
          q(0),
          ],
       q(bol) => [
-         q(1360),
+         q(1361),
          q(0),
          ],
       q(bom) => [
-         q(1361),
+         q(1362),
          q(0),
          ],
       q(bon) => [
-         q(1362),
+         q(1363),
          q(0),
          ],
       q(boo) => [
-         q(1363),
+         q(1364),
          q(0),
          ],
       q(bop) => [
-         q(1364),
+         q(1365),
          q(0),
          ],
       q(boq) => [
-         q(1365),
+         q(1366),
          q(0),
          ],
       q(bor) => [
-         q(1366),
+         q(1367),
          q(0),
          ],
       q(bos) => [
@@ -61862,223 +61876,223 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bot) => [
-         q(1367),
+         q(1368),
          q(0),
          ],
       q(bou) => [
-         q(1368),
+         q(1369),
          q(0),
          ],
       q(bov) => [
-         q(1369),
+         q(1370),
          q(0),
          ],
       q(bow) => [
-         q(1370),
+         q(1371),
          q(0),
          ],
       q(box) => [
-         q(1371),
+         q(1372),
          q(0),
          ],
       q(boy) => [
-         q(1372),
+         q(1373),
          q(0),
          ],
       q(boz) => [
-         q(1373),
+         q(1374),
          q(0),
          ],
       q(bpa) => [
-         q(1374),
+         q(1375),
          q(0),
          ],
       q(bpb) => [
-         q(1375),
+         q(1376),
          q(0),
          ],
       q(bpd) => [
-         q(1376),
+         q(1377),
          q(0),
          ],
       q(bpg) => [
-         q(1377),
+         q(1378),
          q(0),
          ],
       q(bph) => [
-         q(1378),
+         q(1379),
          q(0),
          ],
       q(bpi) => [
-         q(1379),
+         q(1380),
          q(0),
          ],
       q(bpj) => [
-         q(1380),
+         q(1381),
          q(0),
          ],
       q(bpk) => [
-         q(1381),
+         q(1382),
          q(0),
          ],
       q(bpl) => [
-         q(1382),
+         q(1383),
          q(0),
          ],
       q(bpm) => [
-         q(1383),
+         q(1384),
          q(0),
          ],
       q(bpn) => [
-         q(1384),
+         q(1385),
          q(0),
          ],
       q(bpo) => [
-         q(1385),
+         q(1386),
          q(0),
          ],
       q(bpp) => [
-         q(1386),
+         q(1387),
          q(0),
          ],
       q(bpq) => [
-         q(1387),
+         q(1388),
          q(0),
          ],
       q(bpr) => [
-         q(1388),
+         q(1389),
          q(0),
          ],
       q(bps) => [
-         q(1389),
+         q(1390),
          q(0),
          ],
       q(bpt) => [
-         q(1390),
+         q(1391),
          q(0),
          ],
       q(bpu) => [
-         q(1391),
+         q(1392),
          q(0),
          ],
       q(bpv) => [
-         q(1392),
+         q(1393),
          q(0),
          ],
       q(bpw) => [
-         q(1393),
+         q(1394),
          q(0),
          ],
       q(bpx) => [
-         q(1394),
+         q(1395),
          q(0),
          ],
       q(bpy) => [
-         q(1395),
+         q(1396),
          q(0),
          ],
       q(bpz) => [
-         q(1396),
+         q(1397),
          q(0),
          ],
       q(bqa) => [
-         q(1397),
+         q(1398),
          q(0),
          ],
       q(bqb) => [
-         q(1398),
+         q(1399),
          q(0),
          ],
       q(bqc) => [
-         q(1399),
+         q(1400),
          q(0),
          ],
       q(bqd) => [
-         q(1400),
+         q(1401),
          q(0),
          ],
       q(bqf) => [
-         q(1401),
+         q(1402),
          q(0),
          ],
       q(bqg) => [
-         q(1402),
+         q(1403),
          q(0),
          ],
       q(bqh) => [
-         q(1403),
+         q(1404),
          q(0),
          ],
       q(bqi) => [
-         q(1404),
+         q(1405),
          q(0),
          ],
       q(bqj) => [
-         q(1405),
+         q(1406),
          q(0),
          ],
       q(bqk) => [
-         q(1406),
+         q(1407),
          q(0),
          ],
       q(bql) => [
-         q(1407),
+         q(1408),
          q(0),
          ],
       q(bqm) => [
-         q(1408),
+         q(1409),
          q(0),
          ],
       q(bqn) => [
-         q(1409),
+         q(1410),
          q(0),
          ],
       q(bqo) => [
-         q(1410),
+         q(1411),
          q(0),
          ],
       q(bqp) => [
-         q(1411),
+         q(1412),
          q(0),
          ],
       q(bqq) => [
-         q(1412),
+         q(1413),
          q(0),
          ],
       q(bqr) => [
-         q(1413),
+         q(1414),
          q(0),
          ],
       q(bqs) => [
-         q(1414),
+         q(1415),
          q(0),
          ],
       q(bqt) => [
-         q(1415),
+         q(1416),
          q(0),
          ],
       q(bqu) => [
-         q(1416),
+         q(1417),
          q(0),
          ],
       q(bqv) => [
-         q(1417),
+         q(1418),
          q(0),
          ],
       q(bqw) => [
-         q(1418),
+         q(1419),
          q(0),
          ],
       q(bqx) => [
-         q(1419),
+         q(1420),
          q(0),
          ],
       q(bqy) => [
-         q(1420),
+         q(1421),
          q(0),
          ],
       q(bqz) => [
-         q(1421),
+         q(1422),
          q(0),
          ],
       q(bra) => [
@@ -62086,15 +62100,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(brb) => [
-         q(1422),
+         q(1423),
          q(0),
          ],
       q(brc) => [
-         q(1423),
+         q(1424),
          q(0),
          ],
       q(brd) => [
-         q(1424),
+         q(1425),
          q(0),
          ],
       q(bre) => [
@@ -62102,219 +62116,219 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(brf) => [
-         q(1425),
+         q(1426),
          q(0),
          ],
       q(brg) => [
-         q(1426),
+         q(1427),
          q(0),
          ],
       q(brh) => [
-         q(1427),
+         q(1428),
          q(0),
          ],
       q(bri) => [
-         q(1428),
+         q(1429),
          q(0),
          ],
       q(brj) => [
-         q(1429),
+         q(1430),
          q(0),
          ],
       q(brk) => [
-         q(1430),
+         q(1431),
          q(0),
          ],
       q(brl) => [
-         q(1431),
+         q(1432),
          q(0),
          ],
       q(brm) => [
-         q(1432),
+         q(1433),
          q(0),
          ],
       q(brn) => [
-         q(1433),
+         q(1434),
          q(0),
          ],
       q(bro) => [
-         q(1434),
+         q(1435),
          q(0),
          ],
       q(brp) => [
-         q(1435),
+         q(1436),
          q(0),
          ],
       q(brq) => [
-         q(1436),
+         q(1437),
          q(0),
          ],
       q(brr) => [
-         q(1437),
+         q(1438),
          q(0),
          ],
       q(brs) => [
-         q(1438),
+         q(1439),
          q(0),
          ],
       q(brt) => [
-         q(1439),
+         q(1440),
          q(0),
          ],
       q(bru) => [
-         q(1440),
+         q(1441),
          q(0),
          ],
       q(brv) => [
-         q(1441),
+         q(1442),
          q(0),
          ],
       q(brw) => [
-         q(1442),
+         q(1443),
          q(0),
          ],
       q(brx) => [
-         q(1443),
+         q(1444),
          q(0),
          ],
       q(bry) => [
-         q(1444),
+         q(1445),
          q(0),
          ],
       q(brz) => [
-         q(1445),
+         q(1446),
          q(0),
          ],
       q(bsa) => [
-         q(1446),
+         q(1447),
          q(0),
          ],
       q(bsb) => [
-         q(1447),
+         q(1448),
          q(0),
          ],
       q(bsc) => [
-         q(1448),
+         q(1449),
          q(0),
          ],
       q(bse) => [
-         q(1449),
+         q(1450),
          q(0),
          ],
       q(bsf) => [
-         q(1450),
+         q(1451),
          q(0),
          ],
       q(bsg) => [
-         q(1451),
+         q(1452),
          q(0),
          ],
       q(bsh) => [
-         q(1452),
+         q(1453),
          q(0),
          ],
       q(bsi) => [
-         q(1453),
+         q(1454),
          q(0),
          ],
       q(bsj) => [
-         q(1454),
+         q(1455),
          q(0),
          ],
       q(bsk) => [
-         q(1455),
+         q(1456),
          q(0),
          ],
       q(bsl) => [
-         q(1456),
+         q(1457),
          q(0),
          ],
       q(bsm) => [
-         q(1457),
+         q(1458),
          q(0),
          ],
       q(bsn) => [
-         q(1458),
+         q(1459),
          q(0),
          ],
       q(bso) => [
-         q(1459),
+         q(1460),
          q(0),
          ],
       q(bsp) => [
-         q(1460),
+         q(1461),
          q(0),
          ],
       q(bsq) => [
-         q(1461),
+         q(1462),
          q(0),
          ],
       q(bsr) => [
-         q(1462),
+         q(1463),
          q(0),
          ],
       q(bss) => [
-         q(1463),
+         q(1464),
          q(0),
          ],
       q(bst) => [
-         q(1464),
+         q(1465),
          q(0),
          ],
       q(bsu) => [
-         q(1465),
+         q(1466),
          q(0),
          ],
       q(bsv) => [
-         q(1466),
+         q(1467),
          q(0),
          ],
       q(bsw) => [
-         q(1467),
+         q(1468),
          q(0),
          ],
       q(bsx) => [
-         q(1468),
+         q(1469),
          q(0),
          ],
       q(bsy) => [
-         q(1469),
+         q(1470),
          q(0),
          ],
       q(bta) => [
-         q(1470),
+         q(1471),
          q(0),
          ],
       q(btc) => [
-         q(1471),
+         q(1472),
          q(0),
          ],
       q(btd) => [
-         q(1472),
+         q(1473),
          q(0),
          ],
       q(bte) => [
-         q(1473),
+         q(1474),
          q(0),
          ],
       q(btf) => [
-         q(1474),
+         q(1475),
          q(0),
          ],
       q(btg) => [
-         q(1475),
+         q(1476),
          q(0),
          ],
       q(bth) => [
-         q(1476),
+         q(1477),
          q(0),
          ],
       q(bti) => [
-         q(1477),
+         q(1478),
          q(0),
          ],
       q(btj) => [
-         q(1478),
+         q(1479),
          q(0),
          ],
       q(btk) => [
@@ -62322,63 +62336,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(btl) => [
-         q(1479),
+         q(1480),
          q(0),
          ],
       q(btm) => [
-         q(1480),
+         q(1481),
          q(0),
          ],
       q(btn) => [
-         q(1481),
+         q(1482),
          q(0),
          ],
       q(bto) => [
-         q(1482),
+         q(1483),
          q(0),
          ],
       q(btp) => [
-         q(1483),
+         q(1484),
          q(0),
          ],
       q(btq) => [
-         q(1484),
+         q(1485),
          q(0),
          ],
       q(btr) => [
-         q(1485),
+         q(1486),
          q(0),
          ],
       q(bts) => [
-         q(1486),
+         q(1487),
          q(0),
          ],
       q(btt) => [
-         q(1487),
+         q(1488),
          q(0),
          ],
       q(btu) => [
-         q(1488),
+         q(1489),
          q(0),
          ],
       q(btv) => [
-         q(1489),
+         q(1490),
          q(0),
          ],
       q(btw) => [
-         q(1490),
+         q(1491),
          q(0),
          ],
       q(btx) => [
-         q(1491),
+         q(1492),
          q(0),
          ],
       q(bty) => [
-         q(1492),
+         q(1493),
          q(0),
          ],
       q(btz) => [
-         q(1493),
+         q(1494),
          q(0),
          ],
       q(bua) => [
@@ -62386,23 +62400,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bub) => [
-         q(1494),
+         q(1495),
          q(0),
          ],
       q(buc) => [
-         q(1495),
+         q(1496),
          q(0),
          ],
       q(bud) => [
-         q(1496),
+         q(1497),
          q(0),
          ],
       q(bue) => [
-         q(1497),
+         q(1498),
          q(0),
          ],
       q(buf) => [
-         q(1498),
+         q(1499),
          q(0),
          ],
       q(bug) => [
@@ -62410,19 +62424,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(buh) => [
-         q(1499),
+         q(1500),
          q(0),
          ],
       q(bui) => [
-         q(1500),
+         q(1501),
          q(0),
          ],
       q(buj) => [
-         q(1501),
+         q(1502),
          q(0),
          ],
       q(buk) => [
-         q(1502),
+         q(1503),
          q(0),
          ],
       q(bul) => [
@@ -62430,23 +62444,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bum) => [
-         q(1503),
+         q(1504),
          q(0),
          ],
       q(bun) => [
-         q(1504),
+         q(1505),
          q(0),
          ],
       q(buo) => [
-         q(1505),
+         q(1506),
          q(0),
          ],
       q(bup) => [
-         q(1506),
+         q(1507),
          q(0),
          ],
       q(buq) => [
-         q(1507),
+         q(1508),
          q(0),
          ],
       q(bur) => [
@@ -62454,379 +62468,379 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(bus) => [
-         q(1508),
+         q(1509),
          q(0),
          ],
       q(but) => [
-         q(1509),
+         q(1510),
          q(0),
          ],
       q(buu) => [
-         q(1510),
+         q(1511),
          q(0),
          ],
       q(buv) => [
-         q(1511),
+         q(1512),
          q(0),
          ],
       q(buw) => [
-         q(1512),
+         q(1513),
          q(0),
          ],
       q(bux) => [
-         q(1513),
+         q(1514),
          q(0),
          ],
       q(buy) => [
-         q(1514),
+         q(1515),
          q(0),
          ],
       q(buz) => [
-         q(1515),
+         q(1516),
          q(0),
          ],
       q(bva) => [
-         q(1516),
+         q(1517),
          q(0),
          ],
       q(bvb) => [
-         q(1517),
+         q(1518),
          q(0),
          ],
       q(bvc) => [
-         q(1518),
+         q(1519),
          q(0),
          ],
       q(bvd) => [
-         q(1519),
+         q(1520),
          q(0),
          ],
       q(bve) => [
-         q(1520),
+         q(1521),
          q(0),
          ],
       q(bvf) => [
-         q(1521),
+         q(1522),
          q(0),
          ],
       q(bvg) => [
-         q(1522),
+         q(1523),
          q(0),
          ],
       q(bvh) => [
-         q(1523),
+         q(1524),
          q(0),
          ],
       q(bvi) => [
-         q(1524),
+         q(1525),
          q(0),
          ],
       q(bvj) => [
-         q(1525),
+         q(1526),
          q(0),
          ],
       q(bvk) => [
-         q(1526),
+         q(1527),
          q(0),
          ],
       q(bvl) => [
-         q(1527),
+         q(1528),
          q(0),
          ],
       q(bvm) => [
-         q(1528),
+         q(1529),
          q(0),
          ],
       q(bvn) => [
-         q(1529),
+         q(1530),
          q(0),
          ],
       q(bvo) => [
-         q(1530),
+         q(1531),
          q(0),
          ],
       q(bvp) => [
-         q(1531),
+         q(1532),
          q(0),
          ],
       q(bvq) => [
-         q(1532),
+         q(1533),
          q(0),
          ],
       q(bvr) => [
-         q(1533),
+         q(1534),
          q(0),
          ],
       q(bvt) => [
-         q(1534),
+         q(1535),
          q(0),
          ],
       q(bvu) => [
-         q(1535),
+         q(1536),
          q(0),
          ],
       q(bvv) => [
-         q(1536),
+         q(1537),
          q(0),
          ],
       q(bvw) => [
-         q(1537),
+         q(1538),
          q(0),
          ],
       q(bvx) => [
-         q(1538),
+         q(1539),
          q(0),
          ],
       q(bvy) => [
-         q(1539),
+         q(1540),
          q(0),
          ],
       q(bvz) => [
-         q(1540),
+         q(1541),
          q(0),
          ],
       q(bwa) => [
-         q(1541),
+         q(1542),
          q(0),
          ],
       q(bwb) => [
-         q(1542),
+         q(1543),
          q(0),
          ],
       q(bwc) => [
-         q(1543),
+         q(1544),
          q(0),
          ],
       q(bwd) => [
-         q(1544),
+         q(1545),
          q(0),
          ],
       q(bwe) => [
-         q(1545),
+         q(1546),
          q(0),
          ],
       q(bwf) => [
-         q(1546),
+         q(1547),
          q(0),
          ],
       q(bwg) => [
-         q(1547),
+         q(1548),
          q(0),
          ],
       q(bwh) => [
-         q(1548),
+         q(1549),
          q(0),
          ],
       q(bwi) => [
-         q(1549),
+         q(1550),
          q(0),
          ],
       q(bwj) => [
-         q(1550),
+         q(1551),
          q(0),
          ],
       q(bwk) => [
-         q(1551),
+         q(1552),
          q(0),
          ],
       q(bwl) => [
-         q(1552),
+         q(1553),
          q(0),
          ],
       q(bwm) => [
-         q(1553),
+         q(1554),
          q(0),
          ],
       q(bwn) => [
-         q(1554),
+         q(1555),
          q(0),
          ],
       q(bwo) => [
-         q(1555),
+         q(1556),
          q(0),
          ],
       q(bwp) => [
-         q(1556),
+         q(1557),
          q(0),
          ],
       q(bwq) => [
-         q(1557),
+         q(1558),
          q(0),
          ],
       q(bwr) => [
-         q(1558),
+         q(1559),
          q(0),
          ],
       q(bws) => [
-         q(1559),
+         q(1560),
          q(0),
          ],
       q(bwt) => [
-         q(1560),
+         q(1561),
          q(0),
          ],
       q(bwu) => [
-         q(1561),
+         q(1562),
          q(0),
          ],
       q(bww) => [
-         q(1562),
+         q(1563),
          q(0),
          ],
       q(bwx) => [
-         q(1563),
+         q(1564),
          q(0),
          ],
       q(bwy) => [
-         q(1564),
+         q(1565),
          q(0),
          ],
       q(bwz) => [
-         q(1565),
+         q(1566),
          q(0),
          ],
       q(bxa) => [
-         q(1566),
+         q(1567),
          q(0),
          ],
       q(bxb) => [
-         q(1567),
+         q(1568),
          q(0),
          ],
       q(bxc) => [
-         q(1568),
+         q(1569),
          q(0),
          ],
       q(bxd) => [
-         q(1569),
+         q(1570),
          q(0),
          ],
       q(bxe) => [
-         q(1570),
+         q(1571),
          q(0),
          ],
       q(bxf) => [
-         q(1571),
+         q(1572),
          q(0),
          ],
       q(bxg) => [
-         q(1572),
+         q(1573),
          q(0),
          ],
       q(bxh) => [
-         q(1573),
+         q(1574),
          q(0),
          ],
       q(bxi) => [
-         q(1574),
+         q(1575),
          q(0),
          ],
       q(bxj) => [
-         q(1575),
+         q(1576),
          q(0),
          ],
       q(bxk) => [
-         q(1576),
+         q(1577),
          q(0),
          ],
       q(bxl) => [
-         q(1577),
+         q(1578),
          q(0),
          ],
       q(bxm) => [
-         q(1578),
+         q(1579),
          q(0),
          ],
       q(bxn) => [
-         q(1579),
+         q(1580),
          q(0),
          ],
       q(bxo) => [
-         q(1580),
+         q(1581),
          q(0),
          ],
       q(bxp) => [
-         q(1581),
+         q(1582),
          q(0),
          ],
       q(bxq) => [
-         q(1582),
+         q(1583),
          q(0),
          ],
       q(bxr) => [
-         q(1583),
+         q(1584),
          q(0),
          ],
       q(bxs) => [
-         q(1584),
+         q(1585),
          q(0),
          ],
       q(bxu) => [
-         q(1585),
+         q(1586),
          q(0),
          ],
       q(bxv) => [
-         q(1586),
+         q(1587),
          q(0),
          ],
       q(bxw) => [
-         q(1587),
+         q(1588),
          q(0),
          ],
       q(bxz) => [
-         q(1588),
+         q(1589),
          q(0),
          ],
       q(bya) => [
-         q(1589),
+         q(1590),
          q(0),
          ],
       q(byb) => [
-         q(1590),
+         q(1591),
          q(0),
          ],
       q(byc) => [
-         q(1591),
+         q(1592),
          q(0),
          ],
       q(byd) => [
-         q(1592),
+         q(1593),
          q(0),
          ],
       q(bye) => [
-         q(1593),
+         q(1594),
          q(0),
          ],
       q(byf) => [
-         q(1594),
+         q(1595),
          q(0),
          ],
       q(byg) => [
-         q(1595),
+         q(1596),
          q(0),
          ],
       q(byh) => [
-         q(1596),
+         q(1597),
          q(0),
          ],
       q(byi) => [
-         q(1597),
+         q(1598),
          q(0),
          ],
       q(byj) => [
-         q(1598),
+         q(1599),
          q(0),
          ],
       q(byk) => [
-         q(1599),
+         q(1600),
          q(0),
          ],
       q(byl) => [
-         q(1600),
+         q(1601),
          q(0),
          ],
       q(bym) => [
-         q(1601),
+         q(1602),
          q(0),
          ],
       q(byn) => [
@@ -62834,159 +62848,159 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(byo) => [
-         q(1602),
+         q(1603),
          q(0),
          ],
       q(byp) => [
-         q(1603),
+         q(1604),
          q(0),
          ],
       q(byq) => [
-         q(1604),
+         q(1605),
          q(0),
          ],
       q(byr) => [
-         q(1605),
+         q(1606),
          q(0),
          ],
       q(bys) => [
-         q(1606),
+         q(1607),
          q(0),
          ],
       q(byt) => [
-         q(1607),
+         q(1608),
          q(0),
          ],
       q(byv) => [
-         q(1608),
+         q(1609),
          q(0),
          ],
       q(byw) => [
-         q(1609),
+         q(1610),
          q(0),
          ],
       q(byx) => [
-         q(1610),
+         q(1611),
          q(0),
          ],
       q(byz) => [
-         q(1611),
+         q(1612),
          q(0),
          ],
       q(bza) => [
-         q(1612),
+         q(1613),
          q(0),
          ],
       q(bzb) => [
-         q(1613),
+         q(1614),
          q(0),
          ],
       q(bzc) => [
-         q(1614),
+         q(1615),
          q(0),
          ],
       q(bzd) => [
-         q(1615),
+         q(1616),
          q(0),
          ],
       q(bze) => [
-         q(1616),
+         q(1617),
          q(0),
          ],
       q(bzf) => [
-         q(1617),
+         q(1618),
          q(0),
          ],
       q(bzg) => [
-         q(1618),
+         q(1619),
          q(0),
          ],
       q(bzh) => [
-         q(1619),
+         q(1620),
          q(0),
          ],
       q(bzi) => [
-         q(1620),
+         q(1621),
          q(0),
          ],
       q(bzj) => [
-         q(1621),
+         q(1622),
          q(0),
          ],
       q(bzk) => [
-         q(1622),
+         q(1623),
          q(0),
          ],
       q(bzl) => [
-         q(1623),
+         q(1624),
          q(0),
          ],
       q(bzm) => [
-         q(1624),
+         q(1625),
          q(0),
          ],
       q(bzn) => [
-         q(1625),
+         q(1626),
          q(0),
          ],
       q(bzo) => [
-         q(1626),
+         q(1627),
          q(0),
          ],
       q(bzp) => [
-         q(1627),
+         q(1628),
          q(0),
          ],
       q(bzq) => [
-         q(1628),
+         q(1629),
          q(0),
          ],
       q(bzr) => [
-         q(1629),
+         q(1630),
          q(0),
          ],
       q(bzs) => [
-         q(1630),
+         q(1631),
          q(0),
          ],
       q(bzt) => [
-         q(1631),
+         q(1632),
          q(0),
          ],
       q(bzu) => [
-         q(1632),
+         q(1633),
          q(0),
          ],
       q(bzv) => [
-         q(1633),
+         q(1634),
          q(0),
          ],
       q(bzw) => [
-         q(1634),
+         q(1635),
          q(0),
          ],
       q(bzx) => [
-         q(1635),
+         q(1636),
          q(0),
          ],
       q(bzy) => [
-         q(1636),
+         q(1637),
          q(0),
          ],
       q(bzz) => [
-         q(1637),
+         q(1638),
          q(0),
          ],
       q(caa) => [
-         q(1638),
+         q(1639),
          q(0),
          ],
       q(cab) => [
-         q(1639),
+         q(1640),
          q(0),
          ],
       q(cac) => [
-         q(1640),
+         q(1641),
          q(0),
          ],
       q(cad) => [
@@ -62994,19 +63008,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cae) => [
-         q(1641),
+         q(1642),
          q(0),
          ],
       q(caf) => [
-         q(1642),
+         q(1643),
          q(0),
          ],
       q(cag) => [
-         q(1643),
+         q(1644),
          q(0),
          ],
       q(cah) => [
-         q(1644),
+         q(1645),
          q(0),
          ],
       q(cai) => [
@@ -63014,35 +63028,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(caj) => [
-         q(1645),
+         q(1646),
          q(0),
          ],
       q(cak) => [
-         q(1646),
+         q(1647),
          q(0),
          ],
       q(cal) => [
-         q(1647),
+         q(1648),
          q(0),
          ],
       q(cam) => [
-         q(1648),
+         q(1649),
          q(0),
          ],
       q(can) => [
-         q(1649),
+         q(1650),
          q(0),
          ],
       q(cao) => [
-         q(1650),
+         q(1651),
          q(0),
          ],
       q(cap) => [
-         q(1651),
+         q(1652),
          q(0),
          ],
       q(caq) => [
-         q(1652),
+         q(1653),
          q(0),
          ],
       q(car) => [
@@ -63050,7 +63064,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cas) => [
-         q(1653),
+         q(1654),
          q(0),
          ],
       q(cat) => [
@@ -63062,23 +63076,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cav) => [
-         q(1654),
+         q(1655),
          q(0),
          ],
       q(caw) => [
-         q(1655),
+         q(1656),
          q(0),
          ],
       q(cax) => [
-         q(1656),
+         q(1657),
          q(0),
          ],
       q(cay) => [
-         q(1657),
+         q(1658),
          q(0),
          ],
       q(caz) => [
-         q(1658),
+         q(1659),
          q(0),
          ],
       q(cba) => [
@@ -63086,119 +63100,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cbb) => [
-         q(1659),
+         q(1660),
          q(0),
          ],
       q(cbc) => [
-         q(1660),
+         q(1661),
          q(0),
          ],
       q(cbd) => [
-         q(1661),
+         q(1662),
          q(0),
          ],
       q(cbe) => [
-         q(1662),
+         q(1663),
          q(0),
          ],
       q(cbg) => [
-         q(1663),
+         q(1664),
          q(0),
          ],
       q(cbh) => [
-         q(1664),
+         q(1665),
          q(0),
          ],
       q(cbi) => [
-         q(1665),
+         q(1666),
          q(0),
          ],
       q(cbj) => [
-         q(1666),
+         q(1667),
          q(0),
          ],
       q(cbk) => [
-         q(1667),
+         q(1668),
          q(0),
          ],
       q(cbl) => [
-         q(1668),
+         q(1669),
          q(0),
          ],
       q(cbn) => [
-         q(1669),
+         q(1670),
          q(0),
          ],
       q(cbo) => [
-         q(1670),
+         q(1671),
          q(0),
          ],
       q(cbq) => [
-         q(1671),
+         q(1672),
          q(0),
          ],
       q(cbr) => [
-         q(1672),
+         q(1673),
          q(0),
          ],
       q(cbs) => [
-         q(1673),
+         q(1674),
          q(0),
          ],
       q(cbt) => [
-         q(1674),
+         q(1675),
          q(0),
          ],
       q(cbu) => [
-         q(1675),
+         q(1676),
          q(0),
          ],
       q(cbv) => [
-         q(1676),
+         q(1677),
          q(0),
          ],
       q(cbw) => [
-         q(1677),
+         q(1678),
          q(0),
          ],
       q(cby) => [
-         q(1678),
+         q(1679),
          q(0),
          ],
       q(cca) => [
-         q(1679),
+         q(1680),
          q(0),
          ],
       q(ccc) => [
-         q(1680),
+         q(1681),
          q(0),
          ],
       q(ccd) => [
-         q(1681),
+         q(1682),
          q(0),
          ],
       q(cce) => [
-         q(1682),
+         q(1683),
          q(0),
          ],
       q(ccg) => [
-         q(1683),
+         q(1684),
          q(0),
          ],
       q(cch) => [
-         q(1684),
+         q(1685),
          q(0),
          ],
       q(ccj) => [
-         q(1685),
+         q(1686),
          q(0),
          ],
       q(ccl) => [
-         q(1686),
+         q(1687),
          q(0),
          ],
       q(ccm) => [
-         q(1687),
+         q(1688),
          q(0),
          ],
       q(ccn) => [
@@ -63206,15 +63220,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cco) => [
-         q(1688),
+         q(1689),
          q(0),
          ],
       q(ccp) => [
-         q(1689),
+         q(1690),
          q(0),
          ],
       q(ccr) => [
-         q(1690),
+         q(1691),
          q(0),
          ],
       q(ccs) => [
@@ -63222,7 +63236,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cda) => [
-         q(1691),
+         q(1692),
          q(0),
          ],
       q(cdc) => [
@@ -63234,59 +63248,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cde) => [
-         q(1692),
+         q(1693),
          q(0),
          ],
       q(cdf) => [
-         q(1693),
+         q(1694),
          q(0),
          ],
       q(cdg) => [
-         q(1694),
+         q(1695),
          q(0),
          ],
       q(cdh) => [
-         q(1695),
+         q(1696),
          q(0),
          ],
       q(cdi) => [
-         q(1696),
+         q(1697),
          q(0),
          ],
       q(cdj) => [
-         q(1697),
+         q(1698),
          q(0),
          ],
       q(cdm) => [
-         q(1698),
+         q(1699),
          q(0),
          ],
       q(cdn) => [
-         q(1699),
+         q(1700),
          q(0),
          ],
       q(cdo) => [
-         q(1700),
+         q(1701),
          q(0),
          ],
       q(cdr) => [
-         q(1701),
+         q(1702),
          q(0),
          ],
       q(cds) => [
-         q(1702),
+         q(1703),
          q(0),
          ],
       q(cdy) => [
-         q(1703),
+         q(1704),
          q(0),
          ],
       q(cdz) => [
-         q(1704),
+         q(1705),
          q(0),
          ],
       q(cea) => [
-         q(1705),
+         q(1706),
          q(0),
          ],
       q(ceb) => [
@@ -63294,11 +63308,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ceg) => [
-         q(1706),
+         q(1707),
          q(0),
          ],
       q(cek) => [
-         q(1707),
+         q(1708),
          q(0),
          ],
       q(cel) => [
@@ -63306,43 +63320,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cen) => [
-         q(1708),
+         q(1709),
          q(0),
          ],
       q(cet) => [
-         q(1709),
+         q(1710),
          q(0),
          ],
       q(cfa) => [
-         q(1710),
+         q(1711),
          q(0),
          ],
       q(cfd) => [
-         q(1711),
+         q(1712),
          q(0),
          ],
       q(cfg) => [
-         q(1712),
+         q(1713),
          q(0),
          ],
       q(cfm) => [
-         q(1713),
+         q(1714),
          q(0),
          ],
       q(cga) => [
-         q(1714),
+         q(1715),
          q(0),
          ],
       q(cgc) => [
-         q(1715),
+         q(1716),
          q(0),
          ],
       q(cgg) => [
-         q(1716),
+         q(1717),
          q(0),
          ],
       q(cgk) => [
-         q(1717),
+         q(1718),
          q(0),
          ],
       q(cha) => [
@@ -63354,11 +63368,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chc) => [
-         q(1718),
+         q(1719),
          q(0),
          ],
       q(chd) => [
-         q(1719),
+         q(1720),
          q(0),
          ],
       q(che) => [
@@ -63366,7 +63380,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chf) => [
-         q(1720),
+         q(1721),
          q(0),
          ],
       q(chg) => [
@@ -63374,7 +63388,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chh) => [
-         q(1721),
+         q(1722),
          q(0),
          ],
       q(chi) => [
@@ -63382,7 +63396,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chj) => [
-         q(1722),
+         q(1723),
          q(0),
          ],
       q(chk) => [
@@ -63390,7 +63404,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chl) => [
-         q(1723),
+         q(1724),
          q(0),
          ],
       q(chm) => [
@@ -63410,7 +63424,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chq) => [
-         q(1724),
+         q(1725),
          q(0),
          ],
       q(chr) => [
@@ -63418,7 +63432,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cht) => [
-         q(1725),
+         q(1726),
          q(0),
          ],
       q(chu) => [
@@ -63430,11 +63444,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chw) => [
-         q(1726),
+         q(1727),
          q(0),
          ],
       q(chx) => [
-         q(1727),
+         q(1728),
          q(0),
          ],
       q(chy) => [
@@ -63442,227 +63456,227 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(chz) => [
-         q(1728),
+         q(1729),
          q(0),
          ],
       q(cia) => [
-         q(1729),
+         q(1730),
          q(0),
          ],
       q(cib) => [
-         q(1730),
+         q(1731),
          q(0),
          ],
       q(cic) => [
-         q(1731),
+         q(1732),
          q(0),
          ],
       q(cid) => [
-         q(1732),
+         q(1733),
          q(0),
          ],
       q(cie) => [
-         q(1733),
+         q(1734),
          q(0),
          ],
       q(cih) => [
-         q(1734),
+         q(1735),
          q(0),
          ],
       q(cik) => [
-         q(1735),
+         q(1736),
          q(0),
          ],
       q(cim) => [
-         q(1736),
+         q(1737),
          q(0),
          ],
       q(cin) => [
-         q(1737),
+         q(1738),
          q(0),
          ],
       q(cip) => [
-         q(1738),
+         q(1739),
          q(0),
          ],
       q(cir) => [
-         q(1739),
+         q(1740),
          q(0),
          ],
       q(ciw) => [
-         q(1740),
+         q(1741),
          q(0),
          ],
       q(ciy) => [
-         q(1741),
+         q(1742),
          q(0),
          ],
       q(cja) => [
-         q(1742),
+         q(1743),
          q(0),
          ],
       q(cje) => [
-         q(1743),
+         q(1744),
          q(0),
          ],
       q(cjh) => [
-         q(1744),
+         q(1745),
          q(0),
          ],
       q(cji) => [
-         q(1745),
+         q(1746),
          q(0),
          ],
       q(cjk) => [
-         q(1746),
+         q(1747),
          q(0),
          ],
       q(cjm) => [
-         q(1747),
+         q(1748),
          q(0),
          ],
       q(cjn) => [
-         q(1748),
+         q(1749),
          q(0),
          ],
       q(cjo) => [
-         q(1749),
+         q(1750),
          q(0),
          ],
       q(cjp) => [
-         q(1750),
+         q(1751),
          q(0),
          ],
       q(cjs) => [
-         q(1751),
+         q(1752),
          q(0),
          ],
       q(cjv) => [
-         q(1752),
+         q(1753),
          q(0),
          ],
       q(cjy) => [
-         q(1753),
+         q(1754),
          q(0),
          ],
       q(ckb) => [
-         q(1754),
+         q(1755),
          q(0),
          ],
       q(ckh) => [
-         q(1755),
+         q(1756),
          q(0),
          ],
       q(ckl) => [
-         q(1756),
+         q(1757),
          q(0),
          ],
       q(ckn) => [
-         q(1757),
+         q(1758),
          q(0),
          ],
       q(cko) => [
-         q(1758),
+         q(1759),
          q(0),
          ],
       q(ckq) => [
-         q(1759),
+         q(1760),
          q(0),
          ],
       q(ckr) => [
-         q(1760),
+         q(1761),
          q(0),
          ],
       q(cks) => [
-         q(1761),
+         q(1762),
          q(0),
          ],
       q(ckt) => [
-         q(1762),
+         q(1763),
          q(0),
          ],
       q(cku) => [
-         q(1763),
+         q(1764),
          q(0),
          ],
       q(ckv) => [
-         q(1764),
+         q(1765),
          q(0),
          ],
       q(ckx) => [
-         q(1765),
+         q(1766),
          q(0),
          ],
       q(cky) => [
-         q(1766),
+         q(1767),
          q(0),
          ],
       q(ckz) => [
-         q(1767),
+         q(1768),
          q(0),
          ],
       q(cla) => [
-         q(1768),
+         q(1769),
          q(0),
          ],
       q(clc) => [
-         q(1769),
+         q(1770),
          q(0),
          ],
       q(cld) => [
-         q(1770),
+         q(1771),
          q(0),
          ],
       q(cle) => [
-         q(1771),
+         q(1772),
          q(0),
          ],
       q(clh) => [
-         q(1772),
+         q(1773),
          q(0),
          ],
       q(cli) => [
-         q(1773),
+         q(1774),
          q(0),
          ],
       q(clj) => [
-         q(1774),
+         q(1775),
          q(0),
          ],
       q(clk) => [
-         q(1775),
+         q(1776),
          q(0),
          ],
       q(cll) => [
-         q(1776),
+         q(1777),
          q(0),
          ],
       q(clm) => [
-         q(1777),
+         q(1778),
          q(0),
          ],
       q(clo) => [
-         q(1778),
+         q(1779),
          q(0),
          ],
       q(clt) => [
-         q(1779),
+         q(1780),
          q(0),
          ],
       q(clu) => [
-         q(1780),
+         q(1781),
          q(0),
          ],
       q(clw) => [
-         q(1781),
+         q(1782),
          q(0),
          ],
       q(cly) => [
-         q(1782),
+         q(1783),
          q(0),
          ],
       q(cma) => [
-         q(1783),
+         q(1784),
          q(0),
          ],
       q(cmc) => [
@@ -63670,155 +63684,155 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cme) => [
-         q(1784),
+         q(1785),
          q(0),
          ],
       q(cmg) => [
-         q(1785),
+         q(1786),
          q(0),
          ],
       q(cmi) => [
-         q(1786),
+         q(1787),
          q(0),
          ],
       q(cml) => [
-         q(1787),
+         q(1788),
          q(0),
          ],
       q(cmm) => [
-         q(1788),
+         q(1789),
          q(0),
          ],
       q(cmn) => [
-         q(1789),
+         q(1790),
          q(0),
          ],
       q(cmo) => [
-         q(1790),
+         q(1791),
          q(0),
          ],
       q(cmr) => [
-         q(1791),
+         q(1792),
          q(0),
          ],
       q(cms) => [
-         q(1792),
+         q(1793),
          q(0),
          ],
       q(cmt) => [
-         q(1793),
+         q(1794),
          q(0),
          ],
       q(cna) => [
-         q(1794),
+         q(1795),
          q(0),
          ],
       q(cnb) => [
-         q(1795),
+         q(1796),
          q(0),
          ],
       q(cnc) => [
-         q(1796),
+         q(1797),
          q(0),
          ],
       q(cng) => [
-         q(1797),
+         q(1798),
          q(0),
          ],
       q(cnh) => [
-         q(1798),
+         q(1799),
          q(0),
          ],
       q(cni) => [
-         q(1799),
+         q(1800),
          q(0),
          ],
       q(cnk) => [
-         q(1800),
+         q(1801),
          q(0),
          ],
       q(cnl) => [
-         q(1801),
+         q(1802),
          q(0),
          ],
       q(cno) => [
-         q(1802),
+         q(1803),
          q(0),
          ],
       q(cns) => [
-         q(1803),
+         q(1804),
          q(0),
          ],
       q(cnt) => [
-         q(1804),
+         q(1805),
          q(0),
          ],
       q(cnu) => [
-         q(1805),
+         q(1806),
          q(0),
          ],
       q(cnw) => [
-         q(1806),
+         q(1807),
          q(0),
          ],
       q(cnx) => [
-         q(1807),
+         q(1808),
          q(0),
          ],
       q(coa) => [
-         q(1808),
+         q(1809),
          q(0),
          ],
       q(cob) => [
-         q(1809),
+         q(1810),
          q(0),
          ],
       q(coc) => [
-         q(1810),
+         q(1811),
          q(0),
          ],
       q(cod) => [
-         q(1811),
+         q(1812),
          q(0),
          ],
       q(coe) => [
-         q(1812),
+         q(1813),
          q(0),
          ],
       q(cof) => [
-         q(1813),
+         q(1814),
          q(0),
          ],
       q(cog) => [
-         q(1814),
+         q(1815),
          q(0),
          ],
       q(coh) => [
-         q(1815),
+         q(1816),
          q(0),
          ],
       q(coj) => [
-         q(1816),
+         q(1817),
          q(0),
          ],
       q(cok) => [
-         q(1817),
+         q(1818),
          q(0),
          ],
       q(col) => [
-         q(1818),
+         q(1819),
          q(0),
          ],
       q(com) => [
-         q(1819),
+         q(1820),
          q(0),
          ],
       q(con) => [
-         q(1820),
+         q(1821),
          q(0),
          ],
       q(coo) => [
-         q(1821),
+         q(1822),
          q(0),
          ],
       q(cop) => [
@@ -63826,7 +63840,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(coq) => [
-         q(1822),
+         q(1823),
          q(0),
          ],
       q(cor) => [
@@ -63838,43 +63852,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cot) => [
-         q(1823),
+         q(1824),
          q(0),
          ],
       q(cou) => [
-         q(1824),
+         q(1825),
          q(0),
          ],
       q(cov) => [
-         q(1825),
+         q(1826),
          q(0),
          ],
       q(cow) => [
-         q(1826),
+         q(1827),
          q(0),
          ],
       q(cox) => [
-         q(1827),
+         q(1828),
          q(0),
          ],
       q(coy) => [
-         q(1828),
+         q(1829),
          q(0),
          ],
       q(coz) => [
-         q(1829),
+         q(1830),
          q(0),
          ],
       q(cpa) => [
-         q(1830),
+         q(1831),
          q(0),
          ],
       q(cpb) => [
-         q(1831),
+         q(1832),
          q(0),
          ],
       q(cpc) => [
-         q(1832),
+         q(1833),
          q(0),
          ],
       q(cpe) => [
@@ -63886,19 +63900,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(2),
          ],
       q(cpg) => [
-         q(1833),
+         q(1834),
          q(0),
          ],
       q(cpi) => [
-         q(1834),
+         q(1835),
          q(0),
          ],
       q(cpn) => [
-         q(1835),
+         q(1836),
          q(0),
          ],
       q(cpo) => [
-         q(1836),
+         q(1837),
          q(0),
          ],
       q(cpp) => [
@@ -63906,43 +63920,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(2),
          ],
       q(cps) => [
-         q(1837),
+         q(1838),
          q(0),
          ],
       q(cpu) => [
-         q(1838),
+         q(1839),
          q(0),
          ],
       q(cpx) => [
-         q(1839),
+         q(1840),
          q(0),
          ],
       q(cpy) => [
-         q(1840),
+         q(1841),
          q(0),
          ],
       q(cqd) => [
-         q(1841),
+         q(1842),
          q(0),
          ],
       q(cqu) => [
-         q(1842),
+         q(1843),
          q(0),
          ],
       q(cra) => [
-         q(1843),
+         q(1844),
          q(0),
          ],
       q(crb) => [
-         q(1844),
+         q(1845),
          q(0),
          ],
       q(crc) => [
-         q(1845),
+         q(1846),
          q(0),
          ],
       q(crd) => [
-         q(1846),
+         q(1847),
          q(0),
          ],
       q(cre) => [
@@ -63950,11 +63964,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(crf) => [
-         q(1847),
+         q(1848),
          q(0),
          ],
       q(crg) => [
-         q(1848),
+         q(1849),
          q(0),
          ],
       q(crh) => [
@@ -63962,31 +63976,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cri) => [
-         q(1849),
+         q(1850),
          q(0),
          ],
       q(crj) => [
-         q(1850),
+         q(1851),
          q(0),
          ],
       q(crk) => [
-         q(1851),
+         q(1852),
          q(0),
          ],
       q(crl) => [
-         q(1852),
+         q(1853),
          q(0),
          ],
       q(crm) => [
-         q(1853),
+         q(1854),
          q(0),
          ],
       q(crn) => [
-         q(1854),
+         q(1855),
          q(0),
          ],
       q(cro) => [
-         q(1855),
+         q(1856),
          q(0),
          ],
       q(crp) => [
@@ -63994,43 +64008,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(crq) => [
-         q(1856),
+         q(1857),
          q(0),
          ],
       q(crr) => [
-         q(1857),
+         q(1858),
          q(0),
          ],
       q(crs) => [
-         q(1858),
+         q(1859),
          q(0),
          ],
       q(crt) => [
-         q(1859),
+         q(1860),
          q(0),
          ],
       q(crv) => [
-         q(1860),
+         q(1861),
          q(0),
          ],
       q(crw) => [
-         q(1861),
+         q(1862),
          q(0),
          ],
       q(crx) => [
-         q(1862),
+         q(1863),
          q(0),
          ],
       q(cry) => [
-         q(1863),
+         q(1864),
          q(0),
          ],
       q(crz) => [
-         q(1864),
+         q(1865),
          q(0),
          ],
       q(csa) => [
-         q(1865),
+         q(1866),
          q(0),
          ],
       q(csb) => [
@@ -64038,71 +64052,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(csc) => [
-         q(1866),
+         q(1867),
          q(0),
          ],
       q(csd) => [
-         q(1867),
+         q(1868),
          q(0),
          ],
       q(cse) => [
-         q(1868),
+         q(1869),
          q(0),
          ],
       q(csf) => [
-         q(1869),
+         q(1870),
          q(0),
          ],
       q(csg) => [
-         q(1870),
+         q(1871),
          q(0),
          ],
       q(csh) => [
-         q(1871),
+         q(1872),
          q(0),
          ],
       q(csi) => [
-         q(1872),
+         q(1873),
          q(0),
          ],
       q(csj) => [
-         q(1873),
+         q(1874),
          q(0),
          ],
       q(csk) => [
-         q(1874),
+         q(1875),
          q(0),
          ],
       q(csl) => [
-         q(1875),
+         q(1876),
          q(0),
          ],
       q(csm) => [
-         q(1876),
+         q(1877),
          q(0),
          ],
       q(csn) => [
-         q(1877),
+         q(1878),
          q(0),
          ],
       q(cso) => [
-         q(1878),
+         q(1879),
          q(0),
          ],
       q(csq) => [
-         q(1879),
+         q(1880),
          q(0),
          ],
       q(csr) => [
-         q(1880),
+         q(1881),
          q(0),
          ],
       q(css) => [
-         q(1881),
+         q(1882),
          q(0),
          ],
       q(cst) => [
-         q(1882),
+         q(1883),
          q(0),
          ],
       q(csu) => [
@@ -64110,135 +64124,135 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(csv) => [
-         q(1883),
+         q(1884),
          q(0),
          ],
       q(csw) => [
-         q(1884),
+         q(1885),
          q(0),
          ],
       q(csy) => [
-         q(1885),
+         q(1886),
          q(0),
          ],
       q(csz) => [
-         q(1886),
+         q(1887),
          q(0),
          ],
       q(cta) => [
-         q(1887),
+         q(1888),
          q(0),
          ],
       q(ctc) => [
-         q(1888),
+         q(1889),
          q(0),
          ],
       q(ctd) => [
-         q(1889),
+         q(1890),
          q(0),
          ],
       q(cte) => [
-         q(1890),
+         q(1891),
          q(0),
          ],
       q(ctg) => [
-         q(1891),
+         q(1892),
          q(0),
          ],
       q(cth) => [
-         q(1892),
+         q(1893),
          q(0),
          ],
       q(ctl) => [
-         q(1893),
+         q(1894),
          q(0),
          ],
       q(ctm) => [
-         q(1894),
+         q(1895),
          q(0),
          ],
       q(ctn) => [
-         q(1895),
+         q(1896),
          q(0),
          ],
       q(cto) => [
-         q(1896),
+         q(1897),
          q(0),
          ],
       q(ctp) => [
-         q(1897),
+         q(1898),
          q(0),
          ],
       q(cts) => [
-         q(1898),
+         q(1899),
          q(0),
          ],
       q(ctt) => [
-         q(1899),
+         q(1900),
          q(0),
          ],
       q(ctu) => [
-         q(1900),
+         q(1901),
          q(0),
          ],
       q(ctz) => [
-         q(1901),
+         q(1902),
          q(0),
          ],
       q(cua) => [
-         q(1902),
+         q(1903),
          q(0),
          ],
       q(cub) => [
-         q(1903),
+         q(1904),
          q(0),
          ],
       q(cuc) => [
-         q(1904),
+         q(1905),
          q(0),
          ],
       q(cug) => [
-         q(1905),
+         q(1906),
          q(0),
          ],
       q(cuh) => [
-         q(1906),
+         q(1907),
          q(0),
          ],
       q(cui) => [
-         q(1907),
+         q(1908),
          q(0),
          ],
       q(cuj) => [
-         q(1908),
+         q(1909),
          q(0),
          ],
       q(cuk) => [
-         q(1909),
+         q(1910),
          q(0),
          ],
       q(cul) => [
-         q(1910),
+         q(1911),
          q(0),
          ],
       q(cum) => [
-         q(1911),
+         q(1912),
          q(0),
          ],
       q(cuo) => [
-         q(1912),
+         q(1913),
          q(0),
          ],
       q(cup) => [
-         q(1913),
+         q(1914),
          q(0),
          ],
       q(cuq) => [
-         q(1914),
+         q(1915),
          q(0),
          ],
       q(cur) => [
-         q(1915),
+         q(1916),
          q(0),
          ],
       q(cus) => [
@@ -64246,67 +64260,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(cut) => [
-         q(1916),
+         q(1917),
          q(0),
          ],
       q(cuu) => [
-         q(1917),
+         q(1918),
          q(0),
          ],
       q(cuv) => [
-         q(1918),
+         q(1919),
          q(0),
          ],
       q(cuw) => [
-         q(1919),
+         q(1920),
          q(0),
          ],
       q(cux) => [
-         q(1920),
+         q(1921),
          q(0),
          ],
       q(cvg) => [
-         q(1921),
+         q(1922),
          q(0),
          ],
       q(cvn) => [
-         q(1922),
+         q(1923),
          q(0),
          ],
       q(cwa) => [
-         q(1923),
+         q(1924),
          q(0),
          ],
       q(cwb) => [
-         q(1924),
+         q(1925),
          q(0),
          ],
       q(cwd) => [
-         q(1925),
+         q(1926),
          q(0),
          ],
       q(cwe) => [
-         q(1926),
+         q(1927),
          q(0),
          ],
       q(cwg) => [
-         q(1927),
+         q(1928),
          q(0),
          ],
       q(cwt) => [
-         q(1928),
+         q(1929),
          q(0),
          ],
       q(cya) => [
-         q(1929),
+         q(1930),
          q(0),
          ],
       q(cyb) => [
-         q(1930),
+         q(1931),
          q(0),
          ],
       q(cyo) => [
-         q(1931),
+         q(1932),
          q(0),
          ],
       q(cze) => [
@@ -64314,55 +64328,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(czh) => [
-         q(1932),
+         q(1933),
          q(0),
          ],
       q(czk) => [
-         q(1933),
+         q(1934),
          q(0),
          ],
       q(czn) => [
-         q(1934),
+         q(1935),
          q(0),
          ],
       q(czo) => [
-         q(1935),
+         q(1936),
          q(0),
          ],
       q(czt) => [
-         q(1936),
+         q(1937),
          q(0),
          ],
       q(daa) => [
-         q(1937),
+         q(1938),
          q(0),
          ],
       q(dac) => [
-         q(1938),
+         q(1939),
          q(0),
          ],
       q(dad) => [
-         q(1939),
+         q(1940),
          q(0),
          ],
       q(dae) => [
-         q(1940),
+         q(1941),
          q(0),
          ],
       q(dag) => [
-         q(1941),
+         q(1942),
          q(0),
          ],
       q(dah) => [
-         q(1942),
+         q(1943),
          q(0),
          ],
       q(dai) => [
-         q(1943),
+         q(1944),
          q(0),
          ],
       q(daj) => [
-         q(1944),
+         q(1945),
          q(0),
          ],
       q(dak) => [
@@ -64370,11 +64384,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dal) => [
-         q(1945),
+         q(1946),
          q(0),
          ],
       q(dam) => [
-         q(1946),
+         q(1947),
          q(0),
          ],
       q(dan) => [
@@ -64382,11 +64396,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dao) => [
-         q(1947),
+         q(1948),
          q(0),
          ],
       q(daq) => [
-         q(1948),
+         q(1949),
          q(0),
          ],
       q(dar) => [
@@ -64394,23 +64408,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(das) => [
-         q(1949),
+         q(1950),
          q(0),
          ],
       q(dau) => [
-         q(1950),
+         q(1951),
          q(0),
          ],
       q(dav) => [
-         q(1951),
+         q(1952),
          q(0),
          ],
       q(daw) => [
-         q(1952),
+         q(1953),
          q(0),
          ],
       q(dax) => [
-         q(1953),
+         q(1954),
          q(0),
          ],
       q(day) => [
@@ -64418,171 +64432,171 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(daz) => [
-         q(1954),
+         q(1955),
          q(0),
          ],
       q(dba) => [
-         q(1955),
+         q(1956),
          q(0),
          ],
       q(dbb) => [
-         q(1956),
+         q(1957),
          q(0),
          ],
       q(dbd) => [
-         q(1957),
+         q(1958),
          q(0),
          ],
       q(dbe) => [
-         q(1958),
+         q(1959),
          q(0),
          ],
       q(dbf) => [
-         q(1959),
+         q(1960),
          q(0),
          ],
       q(dbg) => [
-         q(1960),
+         q(1961),
          q(0),
          ],
       q(dbi) => [
-         q(1961),
+         q(1962),
          q(0),
          ],
       q(dbj) => [
-         q(1962),
+         q(1963),
          q(0),
          ],
       q(dbl) => [
-         q(1963),
+         q(1964),
          q(0),
          ],
       q(dbm) => [
-         q(1964),
+         q(1965),
          q(0),
          ],
       q(dbn) => [
-         q(1965),
+         q(1966),
          q(0),
          ],
       q(dbo) => [
-         q(1966),
+         q(1967),
          q(0),
          ],
       q(dbp) => [
-         q(1967),
+         q(1968),
          q(0),
          ],
       q(dbq) => [
-         q(1968),
+         q(1969),
          q(0),
          ],
       q(dbr) => [
-         q(1969),
+         q(1970),
          q(0),
          ],
       q(dbt) => [
-         q(1970),
+         q(1971),
          q(0),
          ],
       q(dbu) => [
-         q(1971),
+         q(1972),
          q(0),
          ],
       q(dbv) => [
-         q(1972),
+         q(1973),
          q(0),
          ],
       q(dbw) => [
-         q(1973),
+         q(1974),
          q(0),
          ],
       q(dby) => [
-         q(1974),
+         q(1975),
          q(0),
          ],
       q(dcc) => [
-         q(1975),
+         q(1976),
          q(0),
          ],
       q(dcr) => [
-         q(1976),
+         q(1977),
          q(0),
          ],
       q(dda) => [
-         q(1977),
+         q(1978),
          q(0),
          ],
       q(ddd) => [
-         q(1978),
+         q(1979),
          q(0),
          ],
       q(dde) => [
-         q(1979),
+         q(1980),
          q(0),
          ],
       q(ddg) => [
-         q(1980),
+         q(1981),
          q(0),
          ],
       q(ddi) => [
-         q(1981),
+         q(1982),
          q(0),
          ],
       q(ddj) => [
-         q(1982),
+         q(1983),
          q(0),
          ],
       q(ddn) => [
-         q(1983),
+         q(1984),
          q(0),
          ],
       q(ddo) => [
-         q(1984),
+         q(1985),
          q(0),
          ],
       q(ddr) => [
-         q(1985),
+         q(1986),
          q(0),
          ],
       q(dds) => [
-         q(1986),
+         q(1987),
          q(0),
          ],
       q(ddw) => [
-         q(1987),
+         q(1988),
          q(0),
          ],
       q(dec) => [
-         q(1988),
+         q(1989),
          q(0),
          ],
       q(ded) => [
-         q(1989),
+         q(1990),
          q(0),
          ],
       q(dee) => [
-         q(1990),
+         q(1991),
          q(0),
          ],
       q(def) => [
-         q(1991),
+         q(1992),
          q(0),
          ],
       q(deg) => [
-         q(1992),
+         q(1993),
          q(0),
          ],
       q(deh) => [
-         q(1993),
+         q(1994),
          q(0),
          ],
       q(dei) => [
-         q(1994),
+         q(1995),
          q(0),
          ],
       q(dek) => [
-         q(1995),
+         q(1996),
          q(0),
          ],
       q(del) => [
@@ -64590,7 +64604,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dem) => [
-         q(1996),
+         q(1997),
          q(0),
          ],
       q(den) => [
@@ -64598,75 +64612,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dep) => [
-         q(1997),
+         q(1998),
          q(0),
          ],
       q(deq) => [
-         q(1998),
+         q(1999),
          q(0),
          ],
       q(der) => [
-         q(1999),
+         q(2000),
          q(0),
          ],
       q(des) => [
-         q(2000),
+         q(2001),
          q(0),
          ],
       q(dev) => [
-         q(2001),
+         q(2002),
          q(0),
          ],
       q(dez) => [
-         q(2002),
+         q(2003),
          q(0),
          ],
       q(dga) => [
-         q(2003),
+         q(2004),
          q(0),
          ],
       q(dgb) => [
-         q(2004),
+         q(2005),
          q(0),
          ],
       q(dgc) => [
-         q(2005),
+         q(2006),
          q(0),
          ],
       q(dgd) => [
-         q(2006),
+         q(2007),
          q(0),
          ],
       q(dge) => [
-         q(2007),
+         q(2008),
          q(0),
          ],
       q(dgg) => [
-         q(2008),
+         q(2009),
          q(0),
          ],
       q(dgh) => [
-         q(2009),
+         q(2010),
          q(0),
          ],
       q(dgi) => [
-         q(2010),
+         q(2011),
          q(0),
          ],
       q(dgk) => [
-         q(2011),
+         q(2012),
          q(0),
          ],
       q(dgl) => [
-         q(2012),
+         q(2013),
          q(0),
          ],
       q(dgn) => [
-         q(2013),
+         q(2014),
          q(0),
          ],
       q(dgo) => [
-         q(2014),
+         q(2015),
          q(0),
          ],
       q(dgr) => [
@@ -64674,127 +64688,127 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dgs) => [
-         q(2015),
+         q(2016),
          q(0),
          ],
       q(dgt) => [
-         q(2016),
+         q(2017),
          q(0),
          ],
       q(dgu) => [
-         q(2017),
+         q(2018),
          q(0),
          ],
       q(dgw) => [
-         q(2018),
+         q(2019),
          q(0),
          ],
       q(dgx) => [
-         q(2019),
+         q(2020),
          q(0),
          ],
       q(dgz) => [
-         q(2020),
+         q(2021),
          q(0),
          ],
       q(dhd) => [
-         q(2021),
+         q(2022),
          q(0),
          ],
       q(dhg) => [
-         q(2022),
+         q(2023),
          q(0),
          ],
       q(dhi) => [
-         q(2023),
+         q(2024),
          q(0),
          ],
       q(dhl) => [
-         q(2024),
+         q(2025),
          q(0),
          ],
       q(dhm) => [
-         q(2025),
+         q(2026),
          q(0),
          ],
       q(dhn) => [
-         q(2026),
+         q(2027),
          q(0),
          ],
       q(dho) => [
-         q(2027),
+         q(2028),
          q(0),
          ],
       q(dhr) => [
-         q(2028),
+         q(2029),
          q(0),
          ],
       q(dhs) => [
-         q(2029),
+         q(2030),
          q(0),
          ],
       q(dhu) => [
-         q(2030),
+         q(2031),
          q(0),
          ],
       q(dhv) => [
-         q(2031),
+         q(2032),
          q(0),
          ],
       q(dhw) => [
-         q(2032),
+         q(2033),
          q(0),
          ],
       q(dhx) => [
-         q(2033),
+         q(2034),
          q(0),
          ],
       q(dia) => [
-         q(2034),
+         q(2035),
          q(0),
          ],
       q(dib) => [
-         q(2035),
+         q(2036),
          q(0),
          ],
       q(dic) => [
-         q(2036),
+         q(2037),
          q(0),
          ],
       q(did) => [
-         q(2037),
+         q(2038),
          q(0),
          ],
       q(dif) => [
-         q(2038),
+         q(2039),
          q(0),
          ],
       q(dig) => [
-         q(2039),
+         q(2040),
          q(0),
          ],
       q(dih) => [
-         q(2040),
+         q(2041),
          q(0),
          ],
       q(dii) => [
-         q(2041),
+         q(2042),
          q(0),
          ],
       q(dij) => [
-         q(2042),
+         q(2043),
          q(0),
          ],
       q(dik) => [
-         q(2043),
+         q(2044),
          q(0),
          ],
       q(dil) => [
-         q(2044),
+         q(2045),
          q(0),
          ],
       q(dim) => [
-         q(2045),
+         q(2046),
          q(0),
          ],
       q(din) => [
@@ -64802,31 +64816,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dio) => [
-         q(2046),
+         q(2047),
          q(0),
          ],
       q(dip) => [
-         q(2047),
+         q(2048),
          q(0),
          ],
       q(diq) => [
-         q(2048),
+         q(2049),
          q(0),
          ],
       q(dir) => [
-         q(2049),
+         q(2050),
          q(0),
          ],
       q(dis) => [
-         q(2050),
+         q(2051),
          q(0),
          ],
       q(dit) => [
-         q(2051),
+         q(2052),
          q(0),
          ],
       q(diu) => [
-         q(2052),
+         q(2053),
          q(0),
          ],
       q(div) => [
@@ -64834,151 +64848,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(diw) => [
-         q(2053),
+         q(2054),
          q(0),
          ],
       q(dix) => [
-         q(2054),
+         q(2055),
          q(0),
          ],
       q(diy) => [
-         q(2055),
+         q(2056),
          q(0),
          ],
       q(diz) => [
-         q(2056),
+         q(2057),
          q(0),
          ],
       q(dja) => [
-         q(2057),
+         q(2058),
          q(0),
          ],
       q(djb) => [
-         q(2058),
+         q(2059),
          q(0),
          ],
       q(djc) => [
-         q(2059),
+         q(2060),
          q(0),
          ],
       q(djd) => [
-         q(2060),
+         q(2061),
          q(0),
          ],
       q(dje) => [
-         q(2061),
+         q(2062),
          q(0),
          ],
       q(djf) => [
-         q(2062),
+         q(2063),
          q(0),
          ],
       q(dji) => [
-         q(2063),
+         q(2064),
          q(0),
          ],
       q(djj) => [
-         q(2064),
+         q(2065),
          q(0),
          ],
       q(djk) => [
-         q(2065),
+         q(2066),
          q(0),
          ],
       q(djm) => [
-         q(2066),
+         q(2067),
          q(0),
          ],
       q(djn) => [
-         q(2067),
+         q(2068),
          q(0),
          ],
       q(djo) => [
-         q(2068),
+         q(2069),
          q(0),
          ],
       q(djr) => [
-         q(2069),
+         q(2070),
          q(0),
          ],
       q(dju) => [
-         q(2070),
+         q(2071),
          q(0),
          ],
       q(djw) => [
-         q(2071),
+         q(2072),
          q(0),
          ],
       q(dka) => [
-         q(2072),
+         q(2073),
          q(0),
          ],
       q(dkk) => [
-         q(2073),
+         q(2074),
          q(0),
          ],
       q(dkr) => [
-         q(2074),
+         q(2075),
          q(0),
          ],
       q(dks) => [
-         q(2075),
+         q(2076),
          q(0),
          ],
       q(dkx) => [
-         q(2076),
+         q(2077),
          q(0),
          ],
       q(dlg) => [
-         q(2077),
+         q(2078),
          q(0),
          ],
       q(dlk) => [
-         q(2078),
+         q(2079),
          q(0),
          ],
       q(dlm) => [
-         q(2079),
+         q(2080),
          q(0),
          ],
       q(dln) => [
-         q(2080),
+         q(2081),
          q(0),
          ],
       q(dma) => [
-         q(2081),
+         q(2082),
          q(0),
          ],
       q(dmb) => [
-         q(2082),
+         q(2083),
          q(0),
          ],
       q(dmc) => [
-         q(2083),
+         q(2084),
          q(0),
          ],
       q(dmd) => [
-         q(2084),
+         q(2085),
          q(0),
          ],
       q(dme) => [
-         q(2085),
+         q(2086),
          q(0),
          ],
       q(dmg) => [
-         q(2086),
+         q(2087),
          q(0),
          ],
       q(dmk) => [
-         q(2087),
+         q(2088),
          q(0),
          ],
       q(dml) => [
-         q(2088),
+         q(2089),
          q(0),
          ],
       q(dmm) => [
-         q(2089),
+         q(2090),
          q(0),
          ],
       q(dmn) => [
@@ -64986,115 +65000,115 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dmo) => [
-         q(2090),
+         q(2091),
          q(0),
          ],
       q(dmr) => [
-         q(2091),
+         q(2092),
          q(0),
          ],
       q(dms) => [
-         q(2092),
+         q(2093),
          q(0),
          ],
       q(dmu) => [
-         q(2093),
+         q(2094),
          q(0),
          ],
       q(dmv) => [
-         q(2094),
+         q(2095),
          q(0),
          ],
       q(dmw) => [
-         q(2095),
+         q(2096),
          q(0),
          ],
       q(dmx) => [
-         q(2096),
+         q(2097),
          q(0),
          ],
       q(dmy) => [
-         q(2097),
+         q(2098),
          q(0),
          ],
       q(dna) => [
-         q(2098),
+         q(2099),
          q(0),
          ],
       q(dnd) => [
-         q(2099),
+         q(2100),
          q(0),
          ],
       q(dne) => [
-         q(2100),
+         q(2101),
          q(0),
          ],
       q(dng) => [
-         q(2101),
+         q(2102),
          q(0),
          ],
       q(dni) => [
-         q(2102),
+         q(2103),
          q(0),
          ],
       q(dnj) => [
-         q(2103),
+         q(2104),
          q(0),
          ],
       q(dnk) => [
-         q(2104),
+         q(2105),
          q(0),
          ],
       q(dnn) => [
-         q(2105),
+         q(2106),
          q(0),
          ],
       q(dnr) => [
-         q(2106),
+         q(2107),
          q(0),
          ],
       q(dnt) => [
-         q(2107),
+         q(2108),
          q(0),
          ],
       q(dnu) => [
-         q(2108),
+         q(2109),
          q(0),
          ],
       q(dnv) => [
-         q(2109),
+         q(2110),
          q(0),
          ],
       q(dnw) => [
-         q(2110),
+         q(2111),
          q(0),
          ],
       q(dny) => [
-         q(2111),
+         q(2112),
          q(0),
          ],
       q(doa) => [
-         q(2112),
+         q(2113),
          q(0),
          ],
       q(dob) => [
-         q(2113),
+         q(2114),
          q(0),
          ],
       q(doc) => [
-         q(2114),
+         q(2115),
          q(0),
          ],
       q(doe) => [
-         q(2115),
+         q(2116),
          q(0),
          ],
       q(dof) => [
-         q(2116),
+         q(2117),
          q(0),
          ],
       q(doh) => [
-         q(2117),
+         q(2118),
          q(0),
          ],
       q(doi) => [
@@ -65102,63 +65116,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(dok) => [
-         q(2118),
+         q(2119),
          q(0),
          ],
       q(dol) => [
-         q(2119),
+         q(2120),
          q(0),
          ],
       q(don) => [
-         q(2120),
+         q(2121),
          q(0),
          ],
       q(doo) => [
-         q(2121),
+         q(2122),
          q(0),
          ],
       q(dop) => [
-         q(2122),
+         q(2123),
          q(0),
          ],
       q(doq) => [
-         q(2123),
+         q(2124),
          q(0),
          ],
       q(dor) => [
-         q(2124),
+         q(2125),
          q(0),
          ],
       q(dos) => [
-         q(2125),
+         q(2126),
          q(0),
          ],
       q(dot) => [
-         q(2126),
+         q(2127),
          q(0),
          ],
       q(dov) => [
-         q(2127),
+         q(2128),
          q(0),
          ],
       q(dow) => [
-         q(2128),
+         q(2129),
          q(0),
          ],
       q(dox) => [
-         q(2129),
+         q(2130),
          q(0),
          ],
       q(doy) => [
-         q(2130),
+         q(2131),
          q(0),
          ],
       q(doz) => [
-         q(2131),
+         q(2132),
          q(0),
          ],
       q(dpp) => [
-         q(2132),
+         q(2133),
          q(0),
          ],
       q(dra) => [
@@ -65166,63 +65180,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(drb) => [
-         q(2133),
+         q(2134),
          q(0),
          ],
       q(drc) => [
-         q(2134),
+         q(2135),
          q(0),
          ],
       q(drd) => [
-         q(2135),
+         q(2136),
          q(0),
          ],
       q(dre) => [
-         q(2136),
+         q(2137),
          q(0),
          ],
       q(drg) => [
-         q(2137),
+         q(2138),
          q(0),
          ],
       q(dri) => [
-         q(2138),
+         q(2139),
          q(0),
          ],
       q(drl) => [
-         q(2139),
+         q(2140),
          q(0),
          ],
       q(drn) => [
-         q(2140),
+         q(2141),
          q(0),
          ],
       q(dro) => [
-         q(2141),
+         q(2142),
          q(0),
          ],
       q(drq) => [
-         q(2142),
+         q(2143),
          q(0),
          ],
       q(drr) => [
-         q(2143),
+         q(2144),
          q(0),
          ],
       q(drs) => [
-         q(2144),
+         q(2145),
          q(0),
          ],
       q(drt) => [
-         q(2145),
+         q(2146),
          q(0),
          ],
       q(dru) => [
-         q(2146),
+         q(2147),
          q(0),
          ],
       q(dry) => [
-         q(2147),
+         q(2148),
          q(0),
          ],
       q(dsb) => [
@@ -65230,87 +65244,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dse) => [
-         q(2148),
+         q(2149),
          q(0),
          ],
       q(dsh) => [
-         q(2149),
+         q(2150),
          q(0),
          ],
       q(dsi) => [
-         q(2150),
+         q(2151),
          q(0),
          ],
       q(dsl) => [
-         q(2151),
+         q(2152),
          q(0),
          ],
       q(dsn) => [
-         q(2152),
+         q(2153),
          q(0),
          ],
       q(dso) => [
-         q(2153),
+         q(2154),
          q(0),
          ],
       q(dsq) => [
-         q(2154),
+         q(2155),
          q(0),
          ],
       q(dta) => [
-         q(2155),
+         q(2156),
          q(0),
          ],
       q(dtb) => [
-         q(2156),
+         q(2157),
          q(0),
          ],
       q(dtd) => [
-         q(2157),
+         q(2158),
          q(0),
          ],
       q(dth) => [
-         q(2158),
+         q(2159),
          q(0),
          ],
       q(dti) => [
-         q(2159),
+         q(2160),
          q(0),
          ],
       q(dtk) => [
-         q(2160),
+         q(2161),
          q(0),
          ],
       q(dtm) => [
-         q(2161),
+         q(2162),
          q(0),
          ],
       q(dto) => [
-         q(2162),
+         q(2163),
          q(0),
          ],
       q(dtp) => [
-         q(2163),
+         q(2164),
          q(0),
          ],
       q(dtr) => [
-         q(2164),
+         q(2165),
          q(0),
          ],
       q(dts) => [
-         q(2165),
+         q(2166),
          q(0),
          ],
       q(dtt) => [
-         q(2166),
+         q(2167),
          q(0),
          ],
       q(dtu) => [
-         q(2167),
+         q(2168),
          q(0),
          ],
       q(dty) => [
-         q(2168),
+         q(2169),
          q(0),
          ],
       q(dua) => [
@@ -65318,47 +65332,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dub) => [
-         q(2169),
+         q(2170),
          q(0),
          ],
       q(duc) => [
-         q(2170),
+         q(2171),
          q(0),
          ],
       q(dud) => [
-         q(2171),
+         q(2172),
          q(0),
          ],
       q(due) => [
-         q(2172),
+         q(2173),
          q(0),
          ],
       q(duf) => [
-         q(2173),
+         q(2174),
          q(0),
          ],
       q(dug) => [
-         q(2174),
+         q(2175),
          q(0),
          ],
       q(duh) => [
-         q(2175),
+         q(2176),
          q(0),
          ],
       q(dui) => [
-         q(2176),
+         q(2177),
          q(0),
          ],
       q(duj) => [
-         q(2177),
+         q(2178),
          q(0),
          ],
       q(duk) => [
-         q(2178),
+         q(2179),
          q(0),
          ],
       q(dul) => [
-         q(2179),
+         q(2180),
          q(0),
          ],
       q(dum) => [
@@ -65366,27 +65380,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(dun) => [
-         q(2180),
+         q(2181),
          q(0),
          ],
       q(duo) => [
-         q(2181),
+         q(2182),
          q(0),
          ],
       q(dup) => [
-         q(2182),
+         q(2183),
          q(0),
          ],
       q(duq) => [
-         q(2183),
+         q(2184),
          q(0),
          ],
       q(dur) => [
-         q(2184),
+         q(2185),
          q(0),
          ],
       q(dus) => [
-         q(2185),
+         q(2186),
          q(0),
          ],
       q(dut) => [
@@ -65394,79 +65408,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(duu) => [
-         q(2186),
+         q(2187),
          q(0),
          ],
       q(duv) => [
-         q(2187),
+         q(2188),
          q(0),
          ],
       q(duw) => [
-         q(2188),
+         q(2189),
          q(0),
          ],
       q(dux) => [
-         q(2189),
+         q(2190),
          q(0),
          ],
       q(duy) => [
-         q(2190),
+         q(2191),
          q(0),
          ],
       q(duz) => [
-         q(2191),
+         q(2192),
          q(0),
          ],
       q(dva) => [
-         q(2192),
+         q(2193),
          q(0),
          ],
       q(dwa) => [
-         q(2193),
+         q(2194),
          q(0),
          ],
       q(dwr) => [
-         q(2194),
+         q(2195),
          q(0),
          ],
       q(dws) => [
-         q(2195),
+         q(2196),
          q(0),
          ],
       q(dww) => [
-         q(2196),
+         q(2197),
          q(0),
          ],
       q(dya) => [
-         q(2197),
+         q(2198),
          q(0),
          ],
       q(dyb) => [
-         q(2198),
+         q(2199),
          q(0),
          ],
       q(dyd) => [
-         q(2199),
+         q(2200),
          q(0),
          ],
       q(dyg) => [
-         q(2200),
+         q(2201),
          q(0),
          ],
       q(dyi) => [
-         q(2201),
+         q(2202),
          q(0),
          ],
       q(dym) => [
-         q(2202),
+         q(2203),
          q(0),
          ],
       q(dyn) => [
-         q(2203),
+         q(2204),
          q(0),
          ],
       q(dyo) => [
-         q(2204),
+         q(2205),
          q(0),
          ],
       q(dyu) => [
@@ -65474,27 +65488,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(dyy) => [
-         q(2205),
+         q(2206),
          q(0),
          ],
       q(dza) => [
-         q(2206),
+         q(2207),
          q(0),
          ],
       q(dze) => [
-         q(2207),
+         q(2208),
          q(0),
          ],
       q(dzg) => [
-         q(2208),
+         q(2209),
          q(0),
          ],
       q(dzl) => [
-         q(2209),
+         q(2210),
          q(0),
          ],
       q(dzn) => [
-         q(2210),
+         q(2211),
          q(0),
          ],
       q(dzo) => [
@@ -65502,51 +65516,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(eaa) => [
-         q(2211),
+         q(2212),
          q(0),
          ],
       q(ebg) => [
-         q(2212),
+         q(2213),
          q(0),
          ],
       q(ebk) => [
-         q(2213),
+         q(2214),
          q(0),
          ],
       q(ebo) => [
-         q(2214),
+         q(2215),
          q(0),
          ],
       q(ebr) => [
-         q(2215),
+         q(2216),
          q(0),
          ],
       q(ebu) => [
-         q(2216),
+         q(2217),
          q(0),
          ],
       q(ecr) => [
-         q(2217),
+         q(2218),
          q(0),
          ],
       q(ecs) => [
-         q(2218),
+         q(2219),
          q(0),
          ],
       q(ecy) => [
-         q(2219),
+         q(2220),
          q(0),
          ],
       q(eee) => [
-         q(2220),
+         q(2221),
          q(0),
          ],
       q(efa) => [
-         q(2221),
+         q(2222),
          q(0),
          ],
       q(efe) => [
-         q(2222),
+         q(2223),
          q(0),
          ],
       q(efi) => [
@@ -65554,15 +65568,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ega) => [
-         q(2223),
+         q(2224),
          q(0),
          ],
       q(egl) => [
-         q(2224),
+         q(2225),
          q(0),
          ],
       q(ego) => [
-         q(2225),
+         q(2226),
          q(0),
          ],
       q(egx) => [
@@ -65574,23 +65588,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ehu) => [
-         q(2226),
+         q(2227),
          q(0),
          ],
       q(eip) => [
-         q(2227),
+         q(2228),
          q(0),
          ],
       q(eit) => [
-         q(2228),
+         q(2229),
          q(0),
          ],
       q(eiv) => [
-         q(2229),
+         q(2230),
          q(0),
          ],
       q(eja) => [
-         q(2230),
+         q(2231),
          q(0),
          ],
       q(eka) => [
@@ -65598,75 +65612,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ekc) => [
-         q(2231),
+         q(2232),
          q(0),
          ],
       q(eke) => [
-         q(2232),
+         q(2233),
          q(0),
          ],
       q(ekg) => [
-         q(2233),
+         q(2234),
          q(0),
          ],
       q(eki) => [
-         q(2234),
+         q(2235),
          q(0),
          ],
       q(ekk) => [
-         q(2235),
+         q(2236),
          q(0),
          ],
       q(ekl) => [
-         q(2236),
+         q(2237),
          q(0),
          ],
       q(ekm) => [
-         q(2237),
+         q(2238),
          q(0),
          ],
       q(eko) => [
-         q(2238),
+         q(2239),
          q(0),
          ],
       q(ekp) => [
-         q(2239),
+         q(2240),
          q(0),
          ],
       q(ekr) => [
-         q(2240),
+         q(2241),
          q(0),
          ],
       q(eky) => [
-         q(2241),
+         q(2242),
          q(0),
          ],
       q(ele) => [
-         q(2242),
+         q(2243),
          q(0),
          ],
       q(elh) => [
-         q(2243),
+         q(2244),
          q(0),
          ],
       q(eli) => [
-         q(2244),
+         q(2245),
          q(0),
          ],
       q(elk) => [
-         q(2245),
+         q(2246),
          q(0),
          ],
       q(elm) => [
-         q(2246),
+         q(2247),
          q(0),
          ],
       q(elo) => [
-         q(2247),
+         q(2248),
          q(0),
          ],
       q(elu) => [
-         q(2248),
+         q(2249),
          q(0),
          ],
       q(elx) => [
@@ -65674,79 +65688,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ema) => [
-         q(2249),
+         q(2250),
          q(0),
          ],
       q(emb) => [
-         q(2250),
+         q(2251),
          q(0),
          ],
       q(eme) => [
-         q(2251),
+         q(2252),
          q(0),
          ],
       q(emg) => [
-         q(2252),
+         q(2253),
          q(0),
          ],
       q(emi) => [
-         q(2253),
+         q(2254),
          q(0),
          ],
       q(emk) => [
-         q(2254),
+         q(2255),
          q(0),
          ],
       q(emm) => [
-         q(2255),
+         q(2256),
          q(0),
          ],
       q(emn) => [
-         q(2256),
+         q(2257),
          q(0),
          ],
       q(emp) => [
-         q(2257),
+         q(2258),
          q(0),
          ],
       q(ems) => [
-         q(2258),
+         q(2259),
          q(0),
          ],
       q(emu) => [
-         q(2259),
+         q(2260),
          q(0),
          ],
       q(emw) => [
-         q(2260),
+         q(2261),
          q(0),
          ],
       q(emx) => [
-         q(2261),
+         q(2262),
          q(0),
          ],
       q(emy) => [
-         q(2262),
+         q(2263),
          q(0),
          ],
       q(ena) => [
-         q(2263),
+         q(2264),
          q(0),
          ],
       q(enb) => [
-         q(2264),
+         q(2265),
          q(0),
          ],
       q(enc) => [
-         q(2265),
+         q(2266),
          q(0),
          ],
       q(end) => [
-         q(2266),
+         q(2267),
          q(0),
          ],
       q(enf) => [
-         q(2267),
+         q(2268),
          q(0),
          ],
       q(eng) => [
@@ -65754,11 +65768,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(enh) => [
-         q(2268),
+         q(2269),
          q(0),
          ],
       q(enl) => [
-         q(2269),
+         q(2270),
          q(0),
          ],
       q(enm) => [
@@ -65766,43 +65780,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(enn) => [
-         q(2270),
+         q(2271),
          q(0),
          ],
       q(eno) => [
-         q(2271),
+         q(2272),
          q(0),
          ],
       q(enq) => [
-         q(2272),
+         q(2273),
          q(0),
          ],
       q(enr) => [
-         q(2273),
+         q(2274),
          q(0),
          ],
       q(enu) => [
-         q(2274),
+         q(2275),
          q(0),
          ],
       q(env) => [
-         q(2275),
+         q(2276),
          q(0),
          ],
       q(enw) => [
-         q(2276),
+         q(2277),
          q(0),
          ],
       q(enx) => [
-         q(2277),
+         q(2278),
          q(0),
          ],
       q(eot) => [
-         q(2278),
+         q(2279),
          q(0),
          ],
       q(epi) => [
-         q(2279),
+         q(2280),
          q(0),
          ],
       q(epo) => [
@@ -65810,83 +65824,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(era) => [
-         q(2280),
+         q(2281),
          q(0),
          ],
       q(erg) => [
-         q(2281),
+         q(2282),
          q(0),
          ],
       q(erh) => [
-         q(2282),
+         q(2283),
          q(0),
          ],
       q(eri) => [
-         q(2283),
+         q(2284),
          q(0),
          ],
       q(erk) => [
-         q(2284),
+         q(2285),
          q(0),
          ],
       q(ero) => [
-         q(2285),
+         q(2286),
          q(0),
          ],
       q(err) => [
-         q(2286),
+         q(2287),
          q(0),
          ],
       q(ers) => [
-         q(2287),
+         q(2288),
          q(0),
          ],
       q(ert) => [
-         q(2288),
+         q(2289),
          q(0),
          ],
       q(erw) => [
-         q(2289),
+         q(2290),
          q(0),
          ],
       q(ese) => [
-         q(2290),
+         q(2291),
          q(0),
          ],
       q(esh) => [
-         q(2291),
+         q(2292),
          q(0),
          ],
       q(esi) => [
-         q(2292),
+         q(2293),
          q(0),
          ],
       q(esk) => [
-         q(2293),
+         q(2294),
          q(0),
          ],
       q(esl) => [
-         q(2294),
+         q(2295),
          q(0),
          ],
       q(esm) => [
-         q(2295),
+         q(2296),
          q(0),
          ],
       q(esn) => [
-         q(2296),
+         q(2297),
          q(0),
          ],
       q(eso) => [
-         q(2297),
+         q(2298),
          q(0),
          ],
       q(esq) => [
-         q(2298),
+         q(2299),
          q(0),
          ],
       q(ess) => [
-         q(2299),
+         q(2300),
          q(0),
          ],
       q(est) => [
@@ -65894,7 +65908,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(esu) => [
-         q(2300),
+         q(2301),
          q(0),
          ],
       q(esx) => [
@@ -65902,51 +65916,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(esy) => [
-         q(2301),
+         q(2302),
          q(0),
          ],
       q(etb) => [
-         q(2302),
+         q(2303),
          q(0),
          ],
       q(etc) => [
-         q(2303),
+         q(2304),
          q(0),
          ],
       q(eth) => [
-         q(2304),
+         q(2305),
          q(0),
          ],
       q(etn) => [
-         q(2305),
+         q(2306),
          q(0),
          ],
       q(eto) => [
-         q(2306),
+         q(2307),
          q(0),
          ],
       q(etr) => [
-         q(2307),
+         q(2308),
          q(0),
          ],
       q(ets) => [
-         q(2308),
+         q(2309),
          q(0),
          ],
       q(ett) => [
-         q(2309),
+         q(2310),
          q(0),
          ],
       q(etu) => [
-         q(2310),
+         q(2311),
          q(0),
          ],
       q(etx) => [
-         q(2311),
+         q(2312),
          q(0),
          ],
       q(etz) => [
-         q(2312),
+         q(2313),
          q(0),
          ],
       q(euq) => [
@@ -65954,15 +65968,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(eve) => [
-         q(2313),
+         q(2314),
          q(0),
          ],
       q(evh) => [
-         q(2314),
+         q(2315),
          q(0),
          ],
       q(evn) => [
-         q(2315),
+         q(2316),
          q(0),
          ],
       q(ewe) => [
@@ -65974,67 +65988,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ext) => [
-         q(2316),
+         q(2317),
          q(0),
          ],
       q(eya) => [
-         q(2317),
+         q(2318),
          q(0),
          ],
       q(eyo) => [
-         q(2318),
+         q(2319),
          q(0),
          ],
       q(eza) => [
-         q(2319),
+         q(2320),
          q(0),
          ],
       q(eze) => [
-         q(2320),
+         q(2321),
          q(0),
          ],
       q(faa) => [
-         q(2321),
+         q(2322),
          q(0),
          ],
       q(fab) => [
-         q(2322),
+         q(2323),
          q(0),
          ],
       q(fad) => [
-         q(2323),
+         q(2324),
          q(0),
          ],
       q(faf) => [
-         q(2324),
+         q(2325),
          q(0),
          ],
       q(fag) => [
-         q(2325),
+         q(2326),
          q(0),
          ],
       q(fah) => [
-         q(2326),
+         q(2327),
          q(0),
          ],
       q(fai) => [
-         q(2327),
+         q(2328),
          q(0),
          ],
       q(faj) => [
-         q(2328),
+         q(2329),
          q(0),
          ],
       q(fak) => [
-         q(2329),
+         q(2330),
          q(0),
          ],
       q(fal) => [
-         q(2330),
+         q(2331),
          q(0),
          ],
       q(fam) => [
-         q(2331),
+         q(2332),
          q(0),
          ],
       q(fan) => [
@@ -66046,11 +66060,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fap) => [
-         q(2332),
+         q(2333),
          q(0),
          ],
       q(far) => [
-         q(2333),
+         q(2334),
          q(0),
          ],
       q(fat) => [
@@ -66058,51 +66072,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fau) => [
-         q(2334),
+         q(2335),
          q(0),
          ],
       q(fax) => [
-         q(2335),
+         q(2336),
          q(0),
          ],
       q(fay) => [
-         q(2336),
+         q(2337),
          q(0),
          ],
       q(faz) => [
-         q(2337),
+         q(2338),
          q(0),
          ],
       q(fbl) => [
-         q(2338),
+         q(2339),
          q(0),
          ],
       q(fcs) => [
-         q(2339),
+         q(2340),
          q(0),
          ],
       q(fer) => [
-         q(2340),
+         q(2341),
          q(0),
          ],
       q(ffi) => [
-         q(2341),
+         q(2342),
          q(0),
          ],
       q(ffm) => [
-         q(2342),
+         q(2343),
          q(0),
          ],
       q(fgr) => [
-         q(2343),
+         q(2344),
          q(0),
          ],
       q(fia) => [
-         q(2344),
+         q(2345),
          q(0),
          ],
       q(fie) => [
-         q(2345),
+         q(2346),
          q(0),
          ],
       q(fij) => [
@@ -66118,15 +66132,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fip) => [
-         q(2346),
+         q(2347),
          q(0),
          ],
       q(fir) => [
-         q(2347),
+         q(2348),
          q(0),
          ],
       q(fit) => [
-         q(2348),
+         q(2349),
          q(0),
          ],
       q(fiu) => [
@@ -66134,71 +66148,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fiw) => [
-         q(2349),
+         q(2350),
          q(0),
          ],
       q(fkk) => [
-         q(2350),
+         q(2351),
          q(0),
          ],
       q(fkv) => [
-         q(2351),
+         q(2352),
          q(0),
          ],
       q(fla) => [
-         q(2352),
+         q(2353),
          q(0),
          ],
       q(flh) => [
-         q(2353),
+         q(2354),
          q(0),
          ],
       q(fli) => [
-         q(2354),
+         q(2355),
          q(0),
          ],
       q(fll) => [
-         q(2355),
+         q(2356),
          q(0),
          ],
       q(fln) => [
-         q(2356),
+         q(2357),
          q(0),
          ],
       q(flr) => [
-         q(2357),
+         q(2358),
          q(0),
          ],
       q(fly) => [
-         q(2358),
+         q(2359),
          q(0),
          ],
       q(fmp) => [
-         q(2359),
+         q(2360),
          q(0),
          ],
       q(fmu) => [
-         q(2360),
+         q(2361),
          q(0),
          ],
       q(fng) => [
-         q(2361),
+         q(2362),
          q(0),
          ],
       q(fni) => [
-         q(2362),
+         q(2363),
          q(0),
          ],
       q(fod) => [
-         q(2363),
+         q(2364),
          q(0),
          ],
       q(foi) => [
-         q(2364),
+         q(2365),
          q(0),
          ],
       q(fom) => [
-         q(2365),
+         q(2366),
          q(0),
          ],
       q(fon) => [
@@ -66206,11 +66220,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(for) => [
-         q(2366),
+         q(2367),
          q(0),
          ],
       q(fos) => [
-         q(2367),
+         q(2368),
          q(0),
          ],
       q(fox) => [
@@ -66218,19 +66232,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fpe) => [
-         q(2368),
+         q(2369),
          q(0),
          ],
       q(fqs) => [
-         q(2369),
+         q(2370),
          q(0),
          ],
       q(frc) => [
-         q(2370),
+         q(2371),
          q(0),
          ],
       q(frd) => [
-         q(2371),
+         q(2372),
          q(0),
          ],
       q(fre) => [
@@ -66238,7 +66252,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(frk) => [
-         q(2372),
+         q(2373),
          q(0),
          ],
       q(frm) => [
@@ -66250,11 +66264,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(frp) => [
-         q(2373),
+         q(2374),
          q(0),
          ],
       q(frq) => [
-         q(2374),
+         q(2375),
          q(0),
          ],
       q(frr) => [
@@ -66266,7 +66280,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(frt) => [
-         q(2375),
+         q(2376),
          q(0),
          ],
       q(fry) => [
@@ -66274,47 +66288,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fse) => [
-         q(2376),
+         q(2377),
          q(0),
          ],
       q(fsl) => [
-         q(2377),
+         q(2378),
          q(0),
          ],
       q(fss) => [
-         q(2378),
+         q(2379),
          q(0),
          ],
       q(fub) => [
-         q(2379),
+         q(2380),
          q(0),
          ],
       q(fuc) => [
-         q(2380),
+         q(2381),
          q(0),
          ],
       q(fud) => [
-         q(2381),
+         q(2382),
          q(0),
          ],
       q(fue) => [
-         q(2382),
+         q(2383),
          q(0),
          ],
       q(fuf) => [
-         q(2383),
+         q(2384),
          q(0),
          ],
       q(fuh) => [
-         q(2384),
+         q(2385),
          q(0),
          ],
       q(fui) => [
-         q(2385),
+         q(2386),
          q(0),
          ],
       q(fuj) => [
-         q(2386),
+         q(2387),
          q(0),
          ],
       q(ful) => [
@@ -66322,15 +66336,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fum) => [
-         q(2387),
+         q(2388),
          q(0),
          ],
       q(fun) => [
-         q(2388),
+         q(2389),
          q(0),
          ],
       q(fuq) => [
-         q(2389),
+         q(2390),
          q(0),
          ],
       q(fur) => [
@@ -66338,31 +66352,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(fut) => [
-         q(2390),
+         q(2391),
          q(0),
          ],
       q(fuu) => [
-         q(2391),
+         q(2392),
          q(0),
          ],
       q(fuv) => [
-         q(2392),
+         q(2393),
          q(0),
          ],
       q(fuy) => [
-         q(2393),
+         q(2394),
          q(0),
          ],
       q(fvr) => [
-         q(2394),
+         q(2395),
          q(0),
          ],
       q(fwa) => [
-         q(2395),
+         q(2396),
          q(0),
          ],
       q(fwe) => [
-         q(2396),
+         q(2397),
          q(0),
          ],
       q(gaa) => [
@@ -66370,91 +66384,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gab) => [
-         q(2397),
+         q(2398),
          q(0),
          ],
       q(gac) => [
-         q(2398),
+         q(2399),
          q(0),
          ],
       q(gad) => [
-         q(2399),
+         q(2400),
          q(0),
          ],
       q(gae) => [
-         q(2400),
+         q(2401),
          q(0),
          ],
       q(gaf) => [
-         q(2401),
+         q(2402),
          q(0),
          ],
       q(gag) => [
-         q(2402),
+         q(2403),
          q(0),
          ],
       q(gah) => [
-         q(2403),
+         q(2404),
          q(0),
          ],
       q(gai) => [
-         q(2404),
+         q(2405),
          q(0),
          ],
       q(gaj) => [
-         q(2405),
+         q(2406),
          q(0),
          ],
       q(gak) => [
-         q(2406),
+         q(2407),
          q(0),
          ],
       q(gal) => [
-         q(2407),
+         q(2408),
          q(0),
          ],
       q(gam) => [
-         q(2408),
+         q(2409),
          q(0),
          ],
       q(gan) => [
-         q(2409),
+         q(2410),
          q(0),
          ],
       q(gao) => [
-         q(2410),
+         q(2411),
          q(0),
          ],
       q(gap) => [
-         q(2411),
+         q(2412),
          q(0),
          ],
       q(gaq) => [
-         q(2412),
+         q(2413),
          q(0),
          ],
       q(gar) => [
-         q(2413),
+         q(2414),
          q(0),
          ],
       q(gas) => [
-         q(2414),
+         q(2415),
          q(0),
          ],
       q(gat) => [
-         q(2415),
+         q(2416),
          q(0),
          ],
       q(gau) => [
-         q(2416),
+         q(2417),
          q(0),
          ],
       q(gaw) => [
-         q(2417),
+         q(2418),
          q(0),
          ],
       q(gax) => [
-         q(2418),
+         q(2419),
          q(0),
          ],
       q(gay) => [
@@ -66462,7 +66476,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gaz) => [
-         q(2419),
+         q(2420),
          q(0),
          ],
       q(gba) => [
@@ -66470,251 +66484,251 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(gbb) => [
-         q(2420),
+         q(2421),
          q(0),
          ],
       q(gbd) => [
-         q(2421),
+         q(2422),
          q(0),
          ],
       q(gbe) => [
-         q(2422),
+         q(2423),
          q(0),
          ],
       q(gbf) => [
-         q(2423),
+         q(2424),
          q(0),
          ],
       q(gbg) => [
-         q(2424),
+         q(2425),
          q(0),
          ],
       q(gbh) => [
-         q(2425),
+         q(2426),
          q(0),
          ],
       q(gbi) => [
-         q(2426),
+         q(2427),
          q(0),
          ],
       q(gbj) => [
-         q(2427),
+         q(2428),
          q(0),
          ],
       q(gbk) => [
-         q(2428),
+         q(2429),
          q(0),
          ],
       q(gbl) => [
-         q(2429),
+         q(2430),
          q(0),
          ],
       q(gbm) => [
-         q(2430),
+         q(2431),
          q(0),
          ],
       q(gbn) => [
-         q(2431),
+         q(2432),
          q(0),
          ],
       q(gbo) => [
-         q(2432),
+         q(2433),
          q(0),
          ],
       q(gbp) => [
-         q(2433),
+         q(2434),
          q(0),
          ],
       q(gbq) => [
-         q(2434),
+         q(2435),
          q(0),
          ],
       q(gbr) => [
-         q(2435),
+         q(2436),
          q(0),
          ],
       q(gbs) => [
-         q(2436),
+         q(2437),
          q(0),
          ],
       q(gbu) => [
-         q(2437),
+         q(2438),
          q(0),
          ],
       q(gbv) => [
-         q(2438),
+         q(2439),
          q(0),
          ],
       q(gbw) => [
-         q(2439),
+         q(2440),
          q(0),
          ],
       q(gbx) => [
-         q(2440),
+         q(2441),
          q(0),
          ],
       q(gby) => [
-         q(2441),
+         q(2442),
          q(0),
          ],
       q(gbz) => [
-         q(2442),
+         q(2443),
          q(0),
          ],
       q(gcc) => [
-         q(2443),
+         q(2444),
          q(0),
          ],
       q(gcd) => [
-         q(2444),
+         q(2445),
          q(0),
          ],
       q(gce) => [
-         q(2445),
+         q(2446),
          q(0),
          ],
       q(gcf) => [
-         q(2446),
+         q(2447),
          q(0),
          ],
       q(gcl) => [
-         q(2447),
+         q(2448),
          q(0),
          ],
       q(gcn) => [
-         q(2448),
+         q(2449),
          q(0),
          ],
       q(gcr) => [
-         q(2449),
+         q(2450),
          q(0),
          ],
       q(gct) => [
-         q(2450),
+         q(2451),
          q(0),
          ],
       q(gda) => [
-         q(2451),
+         q(2452),
          q(0),
          ],
       q(gdb) => [
-         q(2452),
+         q(2453),
          q(0),
          ],
       q(gdc) => [
-         q(2453),
+         q(2454),
          q(0),
          ],
       q(gdd) => [
-         q(2454),
+         q(2455),
          q(0),
          ],
       q(gde) => [
-         q(2455),
+         q(2456),
          q(0),
          ],
       q(gdf) => [
-         q(2456),
+         q(2457),
          q(0),
          ],
       q(gdg) => [
-         q(2457),
+         q(2458),
          q(0),
          ],
       q(gdh) => [
-         q(2458),
+         q(2459),
          q(0),
          ],
       q(gdi) => [
-         q(2459),
+         q(2460),
          q(0),
          ],
       q(gdj) => [
-         q(2460),
+         q(2461),
          q(0),
          ],
       q(gdk) => [
-         q(2461),
+         q(2462),
          q(0),
          ],
       q(gdl) => [
-         q(2462),
+         q(2463),
          q(0),
          ],
       q(gdm) => [
-         q(2463),
+         q(2464),
          q(0),
          ],
       q(gdn) => [
-         q(2464),
+         q(2465),
          q(0),
          ],
       q(gdo) => [
-         q(2465),
+         q(2466),
          q(0),
          ],
       q(gdq) => [
-         q(2466),
+         q(2467),
          q(0),
          ],
       q(gdr) => [
-         q(2467),
+         q(2468),
          q(0),
          ],
       q(gds) => [
-         q(2468),
+         q(2469),
          q(0),
          ],
       q(gdt) => [
-         q(2469),
+         q(2470),
          q(0),
          ],
       q(gdu) => [
-         q(2470),
+         q(2471),
          q(0),
          ],
       q(gdx) => [
-         q(2471),
+         q(2472),
          q(0),
          ],
       q(gea) => [
-         q(2472),
+         q(2473),
          q(0),
          ],
       q(geb) => [
-         q(2473),
+         q(2474),
          q(0),
          ],
       q(gec) => [
-         q(2474),
+         q(2475),
          q(0),
          ],
       q(ged) => [
-         q(2475),
+         q(2476),
          q(0),
          ],
       q(geg) => [
-         q(2476),
+         q(2477),
          q(0),
          ],
       q(geh) => [
-         q(2477),
+         q(2478),
          q(0),
          ],
       q(gei) => [
-         q(2478),
+         q(2479),
          q(0),
          ],
       q(gej) => [
-         q(2479),
+         q(2480),
          q(0),
          ],
       q(gek) => [
-         q(2480),
+         q(2481),
          q(0),
          ],
       q(gel) => [
-         q(2481),
+         q(2482),
          q(0),
          ],
       q(gem) => [
@@ -66726,7 +66740,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(geq) => [
-         q(2482),
+         q(2483),
          q(0),
          ],
       q(ger) => [
@@ -66734,23 +66748,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ges) => [
-         q(2483),
+         q(2484),
          q(0),
          ],
       q(gev) => [
-         q(2484),
+         q(2485),
          q(0),
          ],
       q(gew) => [
-         q(2485),
+         q(2486),
          q(0),
          ],
       q(gex) => [
-         q(2486),
+         q(2487),
          q(0),
          ],
       q(gey) => [
-         q(2487),
+         q(2488),
          q(0),
          ],
       q(gez) => [
@@ -66758,127 +66772,127 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gfk) => [
-         q(2488),
+         q(2489),
          q(0),
          ],
       q(gft) => [
-         q(2489),
+         q(2490),
          q(0),
          ],
       q(gga) => [
-         q(2490),
+         q(2491),
          q(0),
          ],
       q(ggb) => [
-         q(2491),
+         q(2492),
          q(0),
          ],
       q(ggd) => [
-         q(2492),
+         q(2493),
          q(0),
          ],
       q(gge) => [
-         q(2493),
+         q(2494),
          q(0),
          ],
       q(ggg) => [
-         q(2494),
+         q(2495),
          q(0),
          ],
       q(ggk) => [
-         q(2495),
+         q(2496),
          q(0),
          ],
       q(ggl) => [
-         q(2496),
+         q(2497),
          q(0),
          ],
       q(ggn) => [
-         q(2497),
+         q(2498),
          q(0),
          ],
       q(ggo) => [
-         q(2498),
+         q(2499),
          q(0),
          ],
       q(ggt) => [
-         q(2499),
+         q(2500),
          q(0),
          ],
       q(ggu) => [
-         q(2500),
+         q(2501),
          q(0),
          ],
       q(ggw) => [
-         q(2501),
+         q(2502),
          q(0),
          ],
       q(gha) => [
-         q(2502),
+         q(2503),
          q(0),
          ],
       q(ghc) => [
-         q(2503),
+         q(2504),
          q(0),
          ],
       q(ghe) => [
-         q(2504),
+         q(2505),
          q(0),
          ],
       q(ghh) => [
-         q(2505),
+         q(2506),
          q(0),
          ],
       q(ghk) => [
-         q(2506),
+         q(2507),
          q(0),
          ],
       q(ghl) => [
-         q(2507),
+         q(2508),
          q(0),
          ],
       q(ghn) => [
-         q(2508),
+         q(2509),
          q(0),
          ],
       q(gho) => [
-         q(2509),
+         q(2510),
          q(0),
          ],
       q(ghr) => [
-         q(2510),
+         q(2511),
          q(0),
          ],
       q(ghs) => [
-         q(2511),
+         q(2512),
          q(0),
          ],
       q(ght) => [
-         q(2512),
+         q(2513),
          q(0),
          ],
       q(gia) => [
-         q(2513),
+         q(2514),
          q(0),
          ],
       q(gib) => [
-         q(2514),
+         q(2515),
          q(0),
          ],
       q(gic) => [
-         q(2515),
+         q(2516),
          q(0),
          ],
       q(gid) => [
-         q(2516),
+         q(2517),
          q(0),
          ],
       q(gig) => [
-         q(2517),
+         q(2518),
          q(0),
          ],
       q(gih) => [
-         q(2518),
+         q(2519),
          q(0),
          ],
       q(gil) => [
@@ -66886,95 +66900,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gim) => [
-         q(2519),
+         q(2520),
          q(0),
          ],
       q(gin) => [
-         q(2520),
+         q(2521),
          q(0),
          ],
       q(gip) => [
-         q(2521),
+         q(2522),
          q(0),
          ],
       q(giq) => [
-         q(2522),
+         q(2523),
          q(0),
          ],
       q(gir) => [
-         q(2523),
+         q(2524),
          q(0),
          ],
       q(gis) => [
-         q(2524),
+         q(2525),
          q(0),
          ],
       q(git) => [
-         q(2525),
+         q(2526),
          q(0),
          ],
       q(giu) => [
-         q(2526),
+         q(2527),
          q(0),
          ],
       q(giw) => [
-         q(2527),
+         q(2528),
          q(0),
          ],
       q(gix) => [
-         q(2528),
+         q(2529),
          q(0),
          ],
       q(giy) => [
-         q(2529),
+         q(2530),
          q(0),
          ],
       q(giz) => [
-         q(2530),
+         q(2531),
          q(0),
          ],
       q(gji) => [
-         q(2531),
+         q(2532),
          q(0),
          ],
       q(gjk) => [
-         q(2532),
+         q(2533),
          q(0),
          ],
       q(gjm) => [
-         q(2533),
+         q(2534),
          q(0),
          ],
       q(gjn) => [
-         q(2534),
+         q(2535),
          q(0),
          ],
       q(gju) => [
-         q(2535),
+         q(2536),
          q(0),
          ],
       q(gka) => [
-         q(2536),
+         q(2537),
          q(0),
          ],
       q(gke) => [
-         q(2537),
+         q(2538),
          q(0),
          ],
       q(gkn) => [
-         q(2538),
+         q(2539),
          q(0),
          ],
       q(gko) => [
-         q(2539),
+         q(2540),
          q(0),
          ],
       q(gkp) => [
-         q(2540),
+         q(2541),
          q(0),
          ],
       q(gku) => [
-         q(2541),
+         q(2542),
          q(0),
          ],
       q(gla) => [
@@ -66982,11 +66996,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(glc) => [
-         q(2542),
+         q(2543),
          q(0),
          ],
       q(gld) => [
-         q(2543),
+         q(2544),
          q(0),
          ],
       q(gle) => [
@@ -66998,35 +67012,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(glh) => [
-         q(2544),
+         q(2545),
          q(0),
          ],
       q(gli) => [
-         q(2545),
+         q(2546),
          q(0),
          ],
       q(glj) => [
-         q(2546),
+         q(2547),
          q(0),
          ],
       q(glk) => [
-         q(2547),
+         q(2548),
          q(0),
          ],
       q(gll) => [
-         q(2548),
+         q(2549),
          q(0),
          ],
       q(glo) => [
-         q(2549),
+         q(2550),
          q(0),
          ],
       q(glr) => [
-         q(2550),
+         q(2551),
          q(0),
          ],
       q(glu) => [
-         q(2551),
+         q(2552),
          q(0),
          ],
       q(glv) => [
@@ -67034,23 +67048,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(glw) => [
-         q(2552),
+         q(2553),
          q(0),
          ],
       q(gly) => [
-         q(2553),
+         q(2554),
          q(0),
          ],
       q(gma) => [
-         q(2554),
+         q(2555),
          q(0),
          ],
       q(gmb) => [
-         q(2555),
+         q(2556),
          q(0),
          ],
       q(gmd) => [
-         q(2556),
+         q(2557),
          q(0),
          ],
       q(gme) => [
@@ -67058,7 +67072,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gmg) => [
-         q(2557),
+         q(2558),
          q(0),
          ],
       q(gmh) => [
@@ -67066,15 +67080,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(gml) => [
-         q(2558),
+         q(2559),
          q(0),
          ],
       q(gmm) => [
-         q(2559),
+         q(2560),
          q(0),
          ],
       q(gmn) => [
-         q(2560),
+         q(2561),
          q(0),
          ],
       q(gmq) => [
@@ -67082,11 +67096,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gmu) => [
-         q(2561),
+         q(2562),
          q(0),
          ],
       q(gmv) => [
-         q(2562),
+         q(2563),
          q(0),
          ],
       q(gmw) => [
@@ -67094,119 +67108,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gmx) => [
-         q(2563),
+         q(2564),
          q(0),
          ],
       q(gmy) => [
-         q(2564),
+         q(2565),
          q(0),
          ],
       q(gmz) => [
-         q(2565),
+         q(2566),
          q(0),
          ],
       q(gna) => [
-         q(2566),
+         q(2567),
          q(0),
          ],
       q(gnb) => [
-         q(2567),
+         q(2568),
          q(0),
          ],
       q(gnc) => [
-         q(2568),
+         q(2569),
          q(0),
          ],
       q(gnd) => [
-         q(2569),
+         q(2570),
          q(0),
          ],
       q(gne) => [
-         q(2570),
+         q(2571),
          q(0),
          ],
       q(gng) => [
-         q(2571),
+         q(2572),
          q(0),
          ],
       q(gnh) => [
-         q(2572),
+         q(2573),
          q(0),
          ],
       q(gni) => [
-         q(2573),
+         q(2574),
          q(0),
          ],
       q(gnk) => [
-         q(2574),
+         q(2575),
          q(0),
          ],
       q(gnl) => [
-         q(2575),
+         q(2576),
          q(0),
          ],
       q(gnm) => [
-         q(2576),
+         q(2577),
          q(0),
          ],
       q(gnn) => [
-         q(2577),
+         q(2578),
          q(0),
          ],
       q(gno) => [
-         q(2578),
+         q(2579),
          q(0),
          ],
       q(gnq) => [
-         q(2574),
+         q(2575),
          q(1),
          ],
       q(gnr) => [
-         q(2579),
+         q(2580),
          q(0),
          ],
       q(gnt) => [
-         q(2580),
+         q(2581),
          q(0),
          ],
       q(gnu) => [
-         q(2581),
+         q(2582),
          q(0),
          ],
       q(gnw) => [
-         q(2582),
+         q(2583),
          q(0),
          ],
       q(gnz) => [
-         q(2583),
+         q(2584),
          q(0),
          ],
       q(goa) => [
-         q(2584),
+         q(2585),
          q(0),
          ],
       q(gob) => [
-         q(2585),
+         q(2586),
          q(0),
          ],
       q(goc) => [
-         q(2586),
+         q(2587),
          q(0),
          ],
       q(god) => [
-         q(2587),
+         q(2588),
          q(0),
          ],
       q(goe) => [
-         q(2588),
+         q(2589),
          q(0),
          ],
       q(gof) => [
-         q(2589),
+         q(2590),
          q(0),
          ],
       q(gog) => [
-         q(2590),
+         q(2591),
          q(0),
          ],
       q(goh) => [
@@ -67214,23 +67228,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(goi) => [
-         q(2591),
+         q(2592),
          q(0),
          ],
       q(goj) => [
-         q(2592),
+         q(2593),
          q(0),
          ],
       q(gok) => [
-         q(2593),
+         q(2594),
          q(0),
          ],
       q(gol) => [
-         q(2594),
+         q(2595),
          q(0),
          ],
       q(gom) => [
-         q(2595),
+         q(2596),
          q(0),
          ],
       q(gon) => [
@@ -67238,15 +67252,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(goo) => [
-         q(2596),
+         q(2597),
          q(0),
          ],
       q(gop) => [
-         q(2597),
+         q(2598),
          q(0),
          ],
       q(goq) => [
-         q(2598),
+         q(2599),
          q(0),
          ],
       q(gor) => [
@@ -67254,7 +67268,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gos) => [
-         q(2599),
+         q(2600),
          q(0),
          ],
       q(got) => [
@@ -67262,59 +67276,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gou) => [
-         q(2600),
+         q(2601),
          q(0),
          ],
       q(gow) => [
-         q(2601),
+         q(2602),
          q(0),
          ],
       q(gox) => [
-         q(2602),
+         q(2603),
          q(0),
          ],
       q(goy) => [
-         q(2603),
+         q(2604),
          q(0),
          ],
       q(goz) => [
-         q(2604),
+         q(2605),
          q(0),
          ],
       q(gpa) => [
-         q(2605),
+         q(2606),
          q(0),
          ],
       q(gpe) => [
-         q(2606),
+         q(2607),
          q(0),
          ],
       q(gpn) => [
-         q(2607),
+         q(2608),
          q(0),
          ],
       q(gqa) => [
-         q(2608),
+         q(2609),
          q(0),
          ],
       q(gqi) => [
-         q(2609),
+         q(2610),
          q(0),
          ],
       q(gqn) => [
-         q(2610),
+         q(2611),
          q(0),
          ],
       q(gqr) => [
-         q(2611),
+         q(2612),
          q(0),
          ],
       q(gqu) => [
-         q(2612),
+         q(2613),
          q(0),
          ],
       q(gra) => [
-         q(2613),
+         q(2614),
          q(0),
          ],
       q(grb) => [
@@ -67326,7 +67340,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(grd) => [
-         q(2614),
+         q(2615),
          q(0),
          ],
       q(gre) => [
@@ -67334,19 +67348,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(grg) => [
-         q(2615),
+         q(2616),
          q(0),
          ],
       q(grh) => [
-         q(2616),
+         q(2617),
          q(0),
          ],
       q(gri) => [
-         q(2617),
+         q(2618),
          q(0),
          ],
       q(grj) => [
-         q(2618),
+         q(2619),
          q(0),
          ],
       q(grk) => [
@@ -67354,7 +67368,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(grm) => [
-         q(2619),
+         q(2620),
          q(0),
          ],
       q(grn) => [
@@ -67362,79 +67376,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gro) => [
-         q(2620),
+         q(2621),
          q(0),
          ],
       q(grq) => [
-         q(2621),
+         q(2622),
          q(0),
          ],
       q(grr) => [
-         q(2622),
+         q(2623),
          q(0),
          ],
       q(grs) => [
-         q(2623),
+         q(2624),
          q(0),
          ],
       q(grt) => [
-         q(2624),
+         q(2625),
          q(0),
          ],
       q(gru) => [
-         q(2625),
+         q(2626),
          q(0),
          ],
       q(grv) => [
-         q(2626),
+         q(2627),
          q(0),
          ],
       q(grw) => [
-         q(2627),
+         q(2628),
          q(0),
          ],
       q(grx) => [
-         q(2628),
+         q(2629),
          q(0),
          ],
       q(gry) => [
-         q(2629),
+         q(2630),
          q(0),
          ],
       q(grz) => [
-         q(2630),
+         q(2631),
          q(0),
          ],
       q(gse) => [
-         q(2631),
+         q(2632),
          q(0),
          ],
       q(gsg) => [
-         q(2632),
+         q(2633),
          q(0),
          ],
       q(gsl) => [
-         q(2633),
+         q(2634),
          q(0),
          ],
       q(gsm) => [
-         q(2634),
+         q(2635),
          q(0),
          ],
       q(gsn) => [
-         q(2635),
+         q(2636),
          q(0),
          ],
       q(gso) => [
-         q(2636),
+         q(2637),
          q(0),
          ],
       q(gsp) => [
-         q(2637),
+         q(2638),
          q(0),
          ],
       q(gss) => [
-         q(2638),
+         q(2639),
          q(0),
          ],
       q(gsw) => [
@@ -67442,47 +67456,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gta) => [
-         q(2639),
+         q(2640),
          q(0),
          ],
       q(gtu) => [
-         q(2640),
+         q(2641),
          q(0),
          ],
       q(gua) => [
-         q(2641),
+         q(2642),
          q(0),
          ],
       q(gub) => [
-         q(2642),
+         q(2643),
          q(0),
          ],
       q(guc) => [
-         q(2643),
+         q(2644),
          q(0),
          ],
       q(gud) => [
-         q(2644),
+         q(2645),
          q(0),
          ],
       q(gue) => [
-         q(2645),
+         q(2646),
          q(0),
          ],
       q(guf) => [
-         q(2646),
+         q(2647),
          q(0),
          ],
       q(gug) => [
-         q(2647),
+         q(2648),
          q(0),
          ],
       q(guh) => [
-         q(2648),
+         q(2649),
          q(0),
          ],
       q(gui) => [
-         q(2649),
+         q(2650),
          q(0),
          ],
       q(guj) => [
@@ -67490,143 +67504,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(guk) => [
-         q(2650),
+         q(2651),
          q(0),
          ],
       q(gul) => [
-         q(2651),
+         q(2652),
          q(0),
          ],
       q(gum) => [
-         q(2652),
+         q(2653),
          q(0),
          ],
       q(gun) => [
-         q(2653),
+         q(2654),
          q(0),
          ],
       q(guo) => [
-         q(2654),
+         q(2655),
          q(0),
          ],
       q(gup) => [
-         q(2655),
+         q(2656),
          q(0),
          ],
       q(guq) => [
-         q(2656),
+         q(2657),
          q(0),
          ],
       q(gur) => [
-         q(2657),
+         q(2658),
          q(0),
          ],
       q(gus) => [
-         q(2658),
+         q(2659),
          q(0),
          ],
       q(gut) => [
-         q(2659),
+         q(2660),
          q(0),
          ],
       q(guu) => [
-         q(2660),
+         q(2661),
          q(0),
          ],
       q(guv) => [
-         q(2661),
+         q(2662),
          q(0),
          ],
       q(guw) => [
-         q(2662),
+         q(2663),
          q(0),
          ],
       q(gux) => [
-         q(2663),
+         q(2664),
          q(0),
          ],
       q(guz) => [
-         q(2664),
+         q(2665),
          q(0),
          ],
       q(gva) => [
-         q(2665),
+         q(2666),
          q(0),
          ],
       q(gvc) => [
-         q(2666),
+         q(2667),
          q(0),
          ],
       q(gve) => [
-         q(2667),
+         q(2668),
          q(0),
          ],
       q(gvf) => [
-         q(2668),
+         q(2669),
          q(0),
          ],
       q(gvj) => [
-         q(2669),
+         q(2670),
          q(0),
          ],
       q(gvl) => [
-         q(2670),
+         q(2671),
          q(0),
          ],
       q(gvm) => [
-         q(2671),
+         q(2672),
          q(0),
          ],
       q(gvn) => [
-         q(2672),
+         q(2673),
          q(0),
          ],
       q(gvo) => [
-         q(2673),
+         q(2674),
          q(0),
          ],
       q(gvp) => [
-         q(2674),
+         q(2675),
          q(0),
          ],
       q(gvr) => [
-         q(2675),
+         q(2676),
          q(0),
          ],
       q(gvs) => [
-         q(2676),
+         q(2677),
          q(0),
          ],
       q(gvy) => [
-         q(2677),
+         q(2678),
          q(0),
          ],
       q(gwa) => [
-         q(2678),
+         q(2679),
          q(0),
          ],
       q(gwb) => [
-         q(2679),
+         q(2680),
          q(0),
          ],
       q(gwc) => [
-         q(2680),
+         q(2681),
          q(0),
          ],
       q(gwd) => [
-         q(2681),
+         q(2682),
          q(0),
          ],
       q(gwe) => [
-         q(2682),
+         q(2683),
          q(0),
          ],
       q(gwf) => [
-         q(2683),
+         q(2684),
          q(0),
          ],
       q(gwg) => [
-         q(2684),
+         q(2685),
          q(0),
          ],
       q(gwi) => [
@@ -67634,131 +67648,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(gwj) => [
-         q(2685),
+         q(2686),
          q(0),
          ],
       q(gwm) => [
-         q(2686),
+         q(2687),
          q(0),
          ],
       q(gwn) => [
-         q(2687),
+         q(2688),
          q(0),
          ],
       q(gwr) => [
-         q(2688),
+         q(2689),
          q(0),
          ],
       q(gwt) => [
-         q(2689),
+         q(2690),
          q(0),
          ],
       q(gwu) => [
-         q(2690),
+         q(2691),
          q(0),
          ],
       q(gww) => [
-         q(2691),
+         q(2692),
          q(0),
          ],
       q(gwx) => [
-         q(2692),
+         q(2693),
          q(0),
          ],
       q(gxx) => [
-         q(2693),
+         q(2694),
          q(0),
          ],
       q(gya) => [
-         q(2694),
+         q(2695),
          q(0),
          ],
       q(gyb) => [
-         q(2695),
+         q(2696),
          q(0),
          ],
       q(gyd) => [
-         q(2696),
+         q(2697),
          q(0),
          ],
       q(gye) => [
-         q(2697),
+         q(2698),
          q(0),
          ],
       q(gyf) => [
-         q(2698),
+         q(2699),
          q(0),
          ],
       q(gyg) => [
-         q(2699),
+         q(2700),
          q(0),
          ],
       q(gyi) => [
-         q(2700),
+         q(2701),
          q(0),
          ],
       q(gyl) => [
-         q(2701),
+         q(2702),
          q(0),
          ],
       q(gym) => [
-         q(2702),
+         q(2703),
          q(0),
          ],
       q(gyn) => [
-         q(2703),
+         q(2704),
          q(0),
          ],
       q(gyr) => [
-         q(2704),
+         q(2705),
          q(0),
          ],
       q(gyy) => [
-         q(2705),
+         q(2706),
          q(0),
          ],
       q(gza) => [
-         q(2706),
+         q(2707),
          q(0),
          ],
       q(gzi) => [
-         q(2707),
+         q(2708),
          q(0),
          ],
       q(gzn) => [
-         q(2708),
+         q(2709),
          q(0),
          ],
       q(haa) => [
-         q(2709),
+         q(2710),
          q(0),
          ],
       q(hab) => [
-         q(2710),
+         q(2711),
          q(0),
          ],
       q(hac) => [
-         q(2711),
+         q(2712),
          q(0),
          ],
       q(had) => [
-         q(2712),
+         q(2713),
          q(0),
          ],
       q(hae) => [
-         q(2713),
+         q(2714),
          q(0),
          ],
       q(haf) => [
-         q(2714),
+         q(2715),
          q(0),
          ],
       q(hag) => [
-         q(2715),
+         q(2716),
          q(0),
          ],
       q(hah) => [
-         q(2716),
+         q(2717),
          q(0),
          ],
       q(hai) => [
@@ -67766,43 +67780,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(haj) => [
-         q(2717),
+         q(2718),
          q(0),
          ],
       q(hak) => [
-         q(2718),
+         q(2719),
          q(0),
          ],
       q(hal) => [
-         q(2719),
+         q(2720),
          q(0),
          ],
       q(ham) => [
-         q(2720),
+         q(2721),
          q(0),
          ],
       q(han) => [
-         q(2721),
+         q(2722),
          q(0),
          ],
       q(hao) => [
-         q(2722),
+         q(2723),
          q(0),
          ],
       q(hap) => [
-         q(2723),
+         q(2724),
          q(0),
          ],
       q(haq) => [
-         q(2724),
+         q(2725),
          q(0),
          ],
       q(har) => [
-         q(2725),
+         q(2726),
          q(0),
          ],
       q(has) => [
-         q(2726),
+         q(2727),
          q(0),
          ],
       q(hat) => [
@@ -67814,7 +67828,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hav) => [
-         q(2727),
+         q(2728),
          q(0),
          ],
       q(haw) => [
@@ -67822,59 +67836,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hax) => [
-         q(2728),
+         q(2729),
          q(0),
          ],
       q(hay) => [
-         q(2729),
+         q(2730),
          q(0),
          ],
       q(haz) => [
-         q(2730),
+         q(2731),
          q(0),
          ],
       q(hba) => [
-         q(2731),
+         q(2732),
          q(0),
          ],
       q(hbb) => [
-         q(2732),
+         q(2733),
          q(0),
          ],
       q(hbn) => [
-         q(2733),
+         q(2734),
          q(0),
          ],
       q(hbo) => [
-         q(2734),
+         q(2735),
          q(0),
          ],
       q(hbu) => [
-         q(2735),
+         q(2736),
          q(0),
          ],
       q(hca) => [
-         q(2736),
+         q(2737),
          q(0),
          ],
       q(hch) => [
-         q(2737),
+         q(2738),
          q(0),
          ],
       q(hdn) => [
-         q(2738),
+         q(2739),
          q(0),
          ],
       q(hds) => [
-         q(2739),
+         q(2740),
          q(0),
          ],
       q(hdy) => [
-         q(2740),
+         q(2741),
          q(0),
          ],
       q(hea) => [
-         q(2741),
+         q(2742),
          q(0),
          ],
       q(heb) => [
@@ -67882,23 +67896,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hed) => [
-         q(2742),
+         q(2743),
          q(0),
          ],
       q(heg) => [
-         q(2743),
+         q(2744),
          q(0),
          ],
       q(heh) => [
-         q(2744),
+         q(2745),
          q(0),
          ],
       q(hei) => [
-         q(2745),
+         q(2746),
          q(0),
          ],
       q(hem) => [
-         q(2746),
+         q(2747),
          q(0),
          ],
       q(her) => [
@@ -67906,59 +67920,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hgm) => [
-         q(2747),
+         q(2748),
          q(0),
          ],
       q(hgw) => [
-         q(2748),
+         q(2749),
          q(0),
          ],
       q(hhi) => [
-         q(2749),
+         q(2750),
          q(0),
          ],
       q(hhr) => [
-         q(2750),
+         q(2751),
          q(0),
          ],
       q(hhy) => [
-         q(2751),
+         q(2752),
          q(0),
          ],
       q(hia) => [
-         q(2752),
+         q(2753),
          q(0),
          ],
       q(hib) => [
-         q(2753),
+         q(2754),
          q(0),
          ],
       q(hid) => [
-         q(2754),
+         q(2755),
          q(0),
          ],
       q(hif) => [
-         q(2755),
+         q(2756),
          q(0),
          ],
       q(hig) => [
-         q(2756),
+         q(2757),
          q(0),
          ],
       q(hih) => [
-         q(2757),
+         q(2758),
          q(0),
          ],
       q(hii) => [
-         q(2758),
+         q(2759),
          q(0),
          ],
       q(hij) => [
-         q(2759),
+         q(2760),
          q(0),
          ],
       q(hik) => [
-         q(2760),
+         q(2761),
          q(0),
          ],
       q(hil) => [
@@ -67974,11 +67988,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hio) => [
-         q(2761),
+         q(2762),
          q(0),
          ],
       q(hir) => [
-         q(2762),
+         q(2763),
          q(0),
          ],
       q(hit) => [
@@ -67986,107 +68000,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hiw) => [
-         q(2763),
+         q(2764),
          q(0),
          ],
       q(hix) => [
-         q(2764),
+         q(2765),
          q(0),
          ],
       q(hji) => [
-         q(2765),
+         q(2766),
          q(0),
          ],
       q(hka) => [
-         q(2766),
+         q(2767),
          q(0),
          ],
       q(hke) => [
-         q(2767),
+         q(2768),
          q(0),
          ],
       q(hkk) => [
-         q(2768),
+         q(2769),
          q(0),
          ],
       q(hks) => [
-         q(2769),
+         q(2770),
          q(0),
          ],
       q(hla) => [
-         q(2770),
+         q(2771),
          q(0),
          ],
       q(hlb) => [
-         q(2771),
+         q(2772),
          q(0),
          ],
       q(hld) => [
-         q(2772),
+         q(2773),
          q(0),
          ],
       q(hle) => [
-         q(2773),
+         q(2774),
          q(0),
          ],
       q(hlt) => [
-         q(2774),
+         q(2775),
          q(0),
          ],
       q(hlu) => [
-         q(2775),
+         q(2776),
          q(0),
          ],
       q(hma) => [
-         q(2776),
+         q(2777),
          q(0),
          ],
       q(hmb) => [
-         q(2777),
+         q(2778),
          q(0),
          ],
       q(hmc) => [
-         q(2778),
+         q(2779),
          q(0),
          ],
       q(hmd) => [
-         q(2779),
+         q(2780),
          q(0),
          ],
       q(hme) => [
-         q(2780),
+         q(2781),
          q(0),
          ],
       q(hmf) => [
-         q(2781),
+         q(2782),
          q(0),
          ],
       q(hmg) => [
-         q(2782),
+         q(2783),
          q(0),
          ],
       q(hmh) => [
-         q(2783),
+         q(2784),
          q(0),
          ],
       q(hmi) => [
-         q(2784),
+         q(2785),
          q(0),
          ],
       q(hmj) => [
-         q(2785),
+         q(2786),
          q(0),
          ],
       q(hmk) => [
-         q(2786),
+         q(2787),
          q(0),
          ],
       q(hml) => [
-         q(2787),
+         q(2788),
          q(0),
          ],
       q(hmm) => [
-         q(2788),
+         q(2789),
          q(0),
          ],
       q(hmn) => [
@@ -68098,35 +68112,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hmp) => [
-         q(2789),
+         q(2790),
          q(0),
          ],
       q(hmq) => [
-         q(2790),
+         q(2791),
          q(0),
          ],
       q(hmr) => [
-         q(2791),
+         q(2792),
          q(0),
          ],
       q(hms) => [
-         q(2792),
+         q(2793),
          q(0),
          ],
       q(hmt) => [
-         q(2793),
+         q(2794),
          q(0),
          ],
       q(hmu) => [
-         q(2794),
+         q(2795),
          q(0),
          ],
       q(hmv) => [
-         q(2795),
+         q(2796),
          q(0),
          ],
       q(hmw) => [
-         q(2796),
+         q(2797),
          q(0),
          ],
       q(hmx) => [
@@ -68134,83 +68148,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hmy) => [
-         q(2797),
+         q(2798),
          q(0),
          ],
       q(hmz) => [
-         q(2798),
+         q(2799),
          q(0),
          ],
       q(hna) => [
-         q(2799),
+         q(2800),
          q(0),
          ],
       q(hnd) => [
-         q(2800),
+         q(2801),
          q(0),
          ],
       q(hne) => [
-         q(2801),
+         q(2802),
          q(0),
          ],
       q(hnh) => [
-         q(2802),
+         q(2803),
          q(0),
          ],
       q(hni) => [
-         q(2803),
+         q(2804),
          q(0),
          ],
       q(hnj) => [
-         q(2804),
+         q(2805),
          q(0),
          ],
       q(hnn) => [
-         q(2805),
+         q(2806),
          q(0),
          ],
       q(hno) => [
-         q(2806),
+         q(2807),
          q(0),
          ],
       q(hns) => [
-         q(2807),
+         q(2808),
          q(0),
          ],
       q(hnu) => [
-         q(2808),
+         q(2809),
          q(0),
          ],
       q(hoa) => [
-         q(2809),
+         q(2810),
          q(0),
          ],
       q(hob) => [
-         q(2810),
+         q(2811),
          q(0),
          ],
       q(hoc) => [
-         q(2811),
+         q(2812),
          q(0),
          ],
       q(hod) => [
-         q(2812),
+         q(2813),
          q(0),
          ],
       q(hoe) => [
-         q(2813),
+         q(2814),
          q(0),
          ],
       q(hoh) => [
-         q(2814),
+         q(2815),
          q(0),
          ],
       q(hoi) => [
-         q(2815),
+         q(2816),
          q(0),
          ],
       q(hoj) => [
-         q(2816),
+         q(2817),
          q(0),
          ],
       q(hok) => [
@@ -68218,91 +68232,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hol) => [
-         q(2817),
+         q(2818),
          q(0),
          ],
       q(hom) => [
-         q(2818),
+         q(2819),
          q(0),
          ],
       q(hoo) => [
-         q(2819),
+         q(2820),
          q(0),
          ],
       q(hop) => [
-         q(2820),
+         q(2821),
          q(0),
          ],
       q(hor) => [
-         q(2821),
+         q(2822),
          q(0),
          ],
       q(hos) => [
-         q(2822),
+         q(2823),
          q(0),
          ],
       q(hot) => [
-         q(2823),
+         q(2824),
          q(0),
          ],
       q(hov) => [
-         q(2824),
+         q(2825),
          q(0),
          ],
       q(how) => [
-         q(2825),
+         q(2826),
          q(0),
          ],
       q(hoy) => [
-         q(2826),
+         q(2827),
          q(0),
          ],
       q(hoz) => [
-         q(2827),
+         q(2828),
          q(0),
          ],
       q(hpo) => [
-         q(2828),
+         q(2829),
          q(0),
          ],
       q(hps) => [
-         q(2829),
+         q(2830),
          q(0),
          ],
       q(hra) => [
-         q(2830),
+         q(2831),
          q(0),
          ],
       q(hrc) => [
-         q(2831),
+         q(2832),
          q(0),
          ],
       q(hre) => [
-         q(2832),
+         q(2833),
          q(0),
          ],
       q(hrk) => [
-         q(2833),
+         q(2834),
          q(0),
          ],
       q(hrm) => [
-         q(2834),
+         q(2835),
          q(0),
          ],
       q(hro) => [
-         q(2835),
+         q(2836),
          q(0),
          ],
       q(hrp) => [
-         q(2836),
+         q(2837),
          q(0),
          ],
       q(hrt) => [
-         q(2837),
+         q(2838),
          q(0),
          ],
       q(hru) => [
-         q(2838),
+         q(2839),
          q(0),
          ],
       q(hrv) => [
@@ -68310,15 +68324,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hrw) => [
-         q(2839),
+         q(2840),
          q(0),
          ],
       q(hrx) => [
-         q(2840),
+         q(2841),
          q(0),
          ],
       q(hrz) => [
-         q(2841),
+         q(2842),
          q(0),
          ],
       q(hsb) => [
@@ -68326,87 +68340,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(hsh) => [
-         q(2842),
+         q(2843),
          q(0),
          ],
       q(hsl) => [
-         q(2843),
+         q(2844),
          q(0),
          ],
       q(hsn) => [
-         q(2844),
+         q(2845),
          q(0),
          ],
       q(hss) => [
-         q(2845),
+         q(2846),
          q(0),
          ],
       q(hti) => [
-         q(2846),
+         q(2847),
          q(0),
          ],
       q(hto) => [
-         q(2847),
+         q(2848),
          q(0),
          ],
       q(hts) => [
-         q(2848),
+         q(2849),
          q(0),
          ],
       q(htu) => [
-         q(2849),
+         q(2850),
          q(0),
          ],
       q(htx) => [
-         q(2850),
+         q(2851),
          q(0),
          ],
       q(hub) => [
-         q(2851),
+         q(2852),
          q(0),
          ],
       q(huc) => [
-         q(2852),
+         q(2853),
          q(0),
          ],
       q(hud) => [
-         q(2853),
+         q(2854),
          q(0),
          ],
       q(hue) => [
-         q(2854),
+         q(2855),
          q(0),
          ],
       q(huf) => [
-         q(2855),
+         q(2856),
          q(0),
          ],
       q(hug) => [
-         q(2856),
+         q(2857),
          q(0),
          ],
       q(huh) => [
-         q(2857),
+         q(2858),
          q(0),
          ],
       q(hui) => [
-         q(2858),
+         q(2859),
          q(0),
          ],
       q(huj) => [
-         q(2859),
+         q(2860),
          q(0),
          ],
       q(huk) => [
-         q(2860),
+         q(2861),
          q(0),
          ],
       q(hul) => [
-         q(2861),
+         q(2862),
          q(0),
          ],
       q(hum) => [
-         q(2862),
+         q(2863),
          q(0),
          ],
       q(hun) => [
@@ -68414,7 +68428,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(huo) => [
-         q(2863),
+         q(2864),
          q(0),
          ],
       q(hup) => [
@@ -68422,79 +68436,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(huq) => [
-         q(2864),
+         q(2865),
          q(0),
          ],
       q(hur) => [
-         q(2865),
+         q(2866),
          q(0),
          ],
       q(hus) => [
-         q(2866),
+         q(2867),
          q(0),
          ],
       q(hut) => [
-         q(2867),
+         q(2868),
          q(0),
          ],
       q(huu) => [
-         q(2868),
+         q(2869),
          q(0),
          ],
       q(huv) => [
-         q(2869),
+         q(2870),
          q(0),
          ],
       q(huw) => [
-         q(2870),
+         q(2871),
          q(0),
          ],
       q(hux) => [
-         q(2871),
+         q(2872),
          q(0),
          ],
       q(huy) => [
-         q(2872),
+         q(2873),
          q(0),
          ],
       q(huz) => [
-         q(2873),
+         q(2874),
          q(0),
          ],
       q(hvc) => [
-         q(2874),
+         q(2875),
          q(0),
          ],
       q(hve) => [
-         q(2875),
+         q(2876),
          q(0),
          ],
       q(hvk) => [
-         q(2876),
+         q(2877),
          q(0),
          ],
       q(hvn) => [
-         q(2877),
+         q(2878),
          q(0),
          ],
       q(hvv) => [
-         q(2878),
+         q(2879),
          q(0),
          ],
       q(hwa) => [
-         q(2879),
+         q(2880),
          q(0),
          ],
       q(hwc) => [
-         q(2880),
+         q(2881),
          q(0),
          ],
       q(hwo) => [
-         q(2881),
+         q(2882),
          q(0),
          ],
       q(hya) => [
-         q(2882),
+         q(2883),
          q(0),
          ],
       q(hyx) => [
@@ -68502,19 +68516,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(iai) => [
-         q(2883),
+         q(2884),
          q(0),
          ],
       q(ian) => [
-         q(2884),
+         q(2885),
          q(0),
          ],
       q(iap) => [
-         q(2885),
+         q(2886),
          q(0),
          ],
       q(iar) => [
-         q(2886),
+         q(2887),
          q(0),
          ],
       q(iba) => [
@@ -68522,31 +68536,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ibb) => [
-         q(2887),
+         q(2888),
          q(0),
          ],
       q(ibd) => [
-         q(2888),
+         q(2889),
          q(0),
          ],
       q(ibe) => [
-         q(2889),
+         q(2890),
          q(0),
          ],
       q(ibg) => [
-         q(2890),
+         q(2891),
          q(0),
          ],
       q(ibl) => [
-         q(2891),
+         q(2892),
          q(0),
          ],
       q(ibm) => [
-         q(2892),
+         q(2893),
          q(0),
          ],
       q(ibn) => [
-         q(2893),
+         q(2894),
          q(0),
          ],
       q(ibo) => [
@@ -68554,19 +68568,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ibr) => [
-         q(2894),
+         q(2895),
          q(0),
          ],
       q(ibu) => [
-         q(2895),
+         q(2896),
          q(0),
          ],
       q(iby) => [
-         q(2896),
+         q(2897),
          q(0),
          ],
       q(ica) => [
-         q(2897),
+         q(2898),
          q(0),
          ],
       q(ice) => [
@@ -68574,39 +68588,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ich) => [
-         q(2898),
+         q(2899),
          q(0),
          ],
       q(icl) => [
-         q(2899),
+         q(2900),
          q(0),
          ],
       q(icr) => [
-         q(2900),
+         q(2901),
          q(0),
          ],
       q(ida) => [
-         q(2901),
+         q(2902),
          q(0),
          ],
       q(idb) => [
-         q(2902),
+         q(2903),
          q(0),
          ],
       q(idc) => [
-         q(2903),
+         q(2904),
          q(0),
          ],
       q(idd) => [
-         q(2904),
+         q(2905),
          q(0),
          ],
       q(ide) => [
-         q(2905),
+         q(2906),
          q(0),
          ],
       q(idi) => [
-         q(2906),
+         q(2907),
          q(0),
          ],
       q(ido) => [
@@ -68614,103 +68628,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(idr) => [
-         q(2907),
+         q(2908),
          q(0),
          ],
       q(ids) => [
-         q(2908),
+         q(2909),
          q(0),
          ],
       q(idt) => [
-         q(2909),
+         q(2910),
          q(0),
          ],
       q(idu) => [
-         q(2910),
+         q(2911),
          q(0),
          ],
       q(ifa) => [
-         q(2911),
+         q(2912),
          q(0),
          ],
       q(ifb) => [
-         q(2912),
+         q(2913),
          q(0),
          ],
       q(ife) => [
-         q(2913),
+         q(2914),
          q(0),
          ],
       q(iff) => [
-         q(2914),
+         q(2915),
          q(0),
          ],
       q(ifk) => [
-         q(2915),
+         q(2916),
          q(0),
          ],
       q(ifm) => [
-         q(2916),
+         q(2917),
          q(0),
          ],
       q(ifu) => [
-         q(2917),
+         q(2918),
          q(0),
          ],
       q(ify) => [
-         q(2918),
+         q(2919),
          q(0),
          ],
       q(igb) => [
-         q(2919),
+         q(2920),
          q(0),
          ],
       q(ige) => [
-         q(2920),
+         q(2921),
          q(0),
          ],
       q(igg) => [
-         q(2921),
+         q(2922),
          q(0),
          ],
       q(igl) => [
-         q(2922),
+         q(2923),
          q(0),
          ],
       q(igm) => [
-         q(2923),
+         q(2924),
          q(0),
          ],
       q(ign) => [
-         q(2924),
+         q(2925),
          q(0),
          ],
       q(igo) => [
-         q(2925),
+         q(2926),
          q(0),
          ],
       q(igs) => [
-         q(2926),
+         q(2927),
          q(0),
          ],
       q(igw) => [
-         q(2927),
+         q(2928),
          q(0),
          ],
       q(ihb) => [
-         q(2928),
+         q(2929),
          q(0),
          ],
       q(ihi) => [
-         q(2929),
+         q(2930),
          q(0),
          ],
       q(ihp) => [
-         q(2930),
+         q(2931),
          q(0),
          ],
       q(ihw) => [
-         q(2931),
+         q(2932),
          q(0),
          ],
       q(iii) => [
@@ -68718,7 +68732,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(iin) => [
-         q(2932),
+         q(2933),
          q(0),
          ],
       q(iir) => [
@@ -68726,19 +68740,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ijc) => [
-         q(2933),
+         q(2934),
          q(0),
          ],
       q(ije) => [
-         q(2934),
+         q(2935),
          q(0),
          ],
       q(ijj) => [
-         q(2935),
+         q(2936),
          q(0),
          ],
       q(ijn) => [
-         q(2936),
+         q(2937),
          q(0),
          ],
       q(ijo) => [
@@ -68746,43 +68760,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ijs) => [
-         q(2937),
+         q(2938),
          q(0),
          ],
       q(ike) => [
-         q(2938),
+         q(2939),
          q(0),
          ],
       q(iki) => [
-         q(2939),
+         q(2940),
          q(0),
          ],
       q(ikk) => [
-         q(2940),
+         q(2941),
          q(0),
          ],
       q(ikl) => [
-         q(2941),
+         q(2942),
          q(0),
          ],
       q(iko) => [
-         q(2942),
+         q(2943),
          q(0),
          ],
       q(ikp) => [
-         q(2943),
+         q(2944),
          q(0),
          ],
       q(ikr) => [
-         q(2944),
+         q(2945),
          q(0),
          ],
       q(iks) => [
-         q(2945),
+         q(2946),
          q(0),
          ],
       q(ikt) => [
-         q(2946),
+         q(2947),
          q(0),
          ],
       q(iku) => [
@@ -68790,27 +68804,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ikv) => [
-         q(2947),
+         q(2948),
          q(0),
          ],
       q(ikw) => [
-         q(2948),
+         q(2949),
          q(0),
          ],
       q(ikx) => [
-         q(2949),
+         q(2950),
          q(0),
          ],
       q(ikz) => [
-         q(2950),
+         q(2951),
          q(0),
          ],
       q(ila) => [
-         q(2951),
+         q(2952),
          q(0),
          ],
       q(ilb) => [
-         q(2952),
+         q(2953),
          q(0),
          ],
       q(ile) => [
@@ -68818,19 +68832,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ilg) => [
-         q(2953),
+         q(2954),
          q(0),
          ],
       q(ili) => [
-         q(2954),
+         q(2955),
          q(0),
          ],
       q(ilk) => [
-         q(2955),
+         q(2956),
          q(0),
          ],
       q(ill) => [
-         q(2956),
+         q(2957),
          q(0),
          ],
       q(ilo) => [
@@ -68838,47 +68852,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ils) => [
-         q(2957),
+         q(2958),
          q(0),
          ],
       q(ilu) => [
-         q(2958),
+         q(2959),
          q(0),
          ],
       q(ilv) => [
-         q(2959),
+         q(2960),
          q(0),
          ],
       q(ima) => [
-         q(2960),
+         q(2961),
          q(0),
          ],
       q(imi) => [
-         q(2961),
+         q(2962),
          q(0),
          ],
       q(iml) => [
-         q(2962),
+         q(2963),
          q(0),
          ],
       q(imn) => [
-         q(2963),
+         q(2964),
          q(0),
          ],
       q(imo) => [
-         q(2964),
+         q(2965),
          q(0),
          ],
       q(imr) => [
-         q(2965),
+         q(2966),
          q(0),
          ],
       q(ims) => [
-         q(2966),
+         q(2967),
          q(0),
          ],
       q(imy) => [
-         q(2967),
+         q(2968),
          q(0),
          ],
       q(ina) => [
@@ -68886,7 +68900,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(inb) => [
-         q(2968),
+         q(2969),
          q(0),
          ],
       q(inc) => [
@@ -68902,7 +68916,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ing) => [
-         q(2969),
+         q(2970),
          q(0),
          ],
       q(inh) => [
@@ -68910,55 +68924,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(inj) => [
-         q(2970),
+         q(2971),
          q(0),
          ],
       q(inl) => [
-         q(2971),
+         q(2972),
          q(0),
          ],
       q(inm) => [
-         q(2972),
+         q(2973),
          q(0),
          ],
       q(inn) => [
-         q(2973),
+         q(2974),
          q(0),
          ],
       q(ino) => [
-         q(2974),
+         q(2975),
          q(0),
          ],
       q(inp) => [
-         q(2975),
+         q(2976),
          q(0),
          ],
       q(ins) => [
-         q(2976),
+         q(2977),
          q(0),
          ],
       q(int) => [
-         q(2977),
+         q(2978),
          q(0),
          ],
       q(inz) => [
-         q(2978),
+         q(2979),
          q(0),
          ],
       q(ior) => [
-         q(2979),
+         q(2980),
          q(0),
          ],
       q(iou) => [
-         q(2980),
+         q(2981),
          q(0),
          ],
       q(iow) => [
-         q(2981),
+         q(2982),
          q(0),
          ],
       q(ipi) => [
-         q(2982),
+         q(2983),
          q(0),
          ],
       q(ipk) => [
@@ -68966,15 +68980,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ipo) => [
-         q(2983),
+         q(2984),
          q(0),
          ],
       q(iqu) => [
-         q(2984),
+         q(2985),
          q(0),
          ],
       q(iqw) => [
-         q(2985),
+         q(2986),
          q(0),
          ],
       q(ira) => [
@@ -68982,23 +68996,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ire) => [
-         q(2986),
+         q(2987),
          q(0),
          ],
       q(irh) => [
-         q(2987),
+         q(2988),
          q(0),
          ],
       q(iri) => [
-         q(2988),
+         q(2989),
          q(0),
          ],
       q(irk) => [
-         q(2989),
+         q(2990),
          q(0),
          ],
       q(irn) => [
-         q(2990),
+         q(2991),
          q(0),
          ],
       q(iro) => [
@@ -69006,75 +69020,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(irr) => [
-         q(2991),
+         q(2992),
          q(0),
          ],
       q(iru) => [
-         q(2992),
+         q(2993),
          q(0),
          ],
       q(irx) => [
-         q(2993),
+         q(2994),
          q(0),
          ],
       q(iry) => [
-         q(2994),
+         q(2995),
          q(0),
          ],
       q(isa) => [
-         q(2995),
+         q(2996),
          q(0),
          ],
       q(isc) => [
-         q(2996),
+         q(2997),
          q(0),
          ],
       q(isd) => [
-         q(2997),
+         q(2998),
          q(0),
          ],
       q(ise) => [
-         q(2998),
+         q(2999),
          q(0),
          ],
       q(isg) => [
-         q(2999),
+         q(3000),
          q(0),
          ],
       q(ish) => [
-         q(3000),
+         q(3001),
          q(0),
          ],
       q(isi) => [
-         q(3001),
+         q(3002),
          q(0),
          ],
       q(isk) => [
-         q(3002),
+         q(3003),
          q(0),
          ],
       q(ism) => [
-         q(3003),
+         q(3004),
          q(0),
          ],
       q(isn) => [
-         q(3004),
+         q(3005),
          q(0),
          ],
       q(iso) => [
-         q(3005),
+         q(3006),
          q(0),
          ],
       q(isr) => [
-         q(3006),
+         q(3007),
          q(0),
          ],
       q(ist) => [
-         q(3007),
+         q(3008),
          q(0),
          ],
       q(isu) => [
-         q(3008),
+         q(3009),
          q(0),
          ],
       q(ita) => [
@@ -69082,7 +69096,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(itb) => [
-         q(3009),
+         q(3010),
          q(0),
          ],
       q(itc) => [
@@ -69090,187 +69104,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ite) => [
-         q(3010),
+         q(3011),
          q(0),
          ],
       q(iti) => [
-         q(3011),
+         q(3012),
          q(0),
          ],
       q(itk) => [
-         q(3012),
+         q(3013),
          q(0),
          ],
       q(itl) => [
-         q(3013),
+         q(3014),
          q(0),
          ],
       q(itm) => [
-         q(3014),
+         q(3015),
          q(0),
          ],
       q(ito) => [
-         q(3015),
+         q(3016),
          q(0),
          ],
       q(itr) => [
-         q(3016),
+         q(3017),
          q(0),
          ],
       q(its) => [
-         q(3017),
+         q(3018),
          q(0),
          ],
       q(itt) => [
-         q(3018),
+         q(3019),
          q(0),
          ],
       q(itv) => [
-         q(3019),
+         q(3020),
          q(0),
          ],
       q(itw) => [
-         q(3020),
+         q(3021),
          q(0),
          ],
       q(itx) => [
-         q(3021),
+         q(3022),
          q(0),
          ],
       q(ity) => [
-         q(3022),
+         q(3023),
          q(0),
          ],
       q(itz) => [
-         q(3023),
+         q(3024),
          q(0),
          ],
       q(ium) => [
-         q(3024),
+         q(3025),
          q(0),
          ],
       q(ivb) => [
-         q(3025),
+         q(3026),
          q(0),
          ],
       q(ivv) => [
-         q(3026),
+         q(3027),
          q(0),
          ],
       q(iwk) => [
-         q(3027),
+         q(3028),
          q(0),
          ],
       q(iwm) => [
-         q(3028),
+         q(3029),
          q(0),
          ],
       q(iwo) => [
-         q(3029),
+         q(3030),
          q(0),
          ],
       q(iws) => [
-         q(3030),
+         q(3031),
          q(0),
          ],
       q(ixc) => [
-         q(3031),
+         q(3032),
          q(0),
          ],
       q(ixl) => [
-         q(3032),
+         q(3033),
          q(0),
          ],
       q(iya) => [
-         q(3033),
+         q(3034),
          q(0),
          ],
       q(iyo) => [
-         q(3034),
+         q(3035),
          q(0),
          ],
       q(iyx) => [
-         q(3035),
+         q(3036),
          q(0),
          ],
       q(izh) => [
-         q(3036),
+         q(3037),
          q(0),
          ],
       q(izr) => [
-         q(3037),
+         q(3038),
          q(0),
          ],
       q(izz) => [
-         q(3038),
+         q(3039),
          q(0),
          ],
       q(jaa) => [
-         q(3039),
+         q(3040),
          q(0),
          ],
       q(jab) => [
-         q(3040),
+         q(3041),
          q(0),
          ],
       q(jac) => [
-         q(3041),
+         q(3042),
          q(0),
          ],
       q(jad) => [
-         q(3042),
+         q(3043),
          q(0),
          ],
       q(jae) => [
-         q(3043),
+         q(3044),
          q(0),
          ],
       q(jaf) => [
-         q(3044),
+         q(3045),
          q(0),
          ],
       q(jah) => [
-         q(3045),
+         q(3046),
          q(0),
          ],
       q(jaj) => [
-         q(3046),
+         q(3047),
          q(0),
          ],
       q(jak) => [
-         q(3047),
+         q(3048),
          q(0),
          ],
       q(jal) => [
-         q(3048),
+         q(3049),
          q(0),
          ],
       q(jam) => [
-         q(3049),
+         q(3050),
          q(0),
          ],
       q(jan) => [
-         q(3050),
+         q(3051),
          q(0),
          ],
       q(jao) => [
-         q(3051),
+         q(3052),
          q(0),
          ],
       q(jaq) => [
-         q(3052),
+         q(3053),
          q(0),
          ],
       q(jas) => [
-         q(3053),
+         q(3054),
          q(0),
          ],
       q(jat) => [
-         q(3054),
+         q(3055),
          q(0),
          ],
       q(jau) => [
-         q(3055),
+         q(3056),
          q(0),
          ],
       q(jav) => [
@@ -69278,35 +69292,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jax) => [
-         q(3056),
+         q(3057),
          q(0),
          ],
       q(jay) => [
-         q(3057),
+         q(3058),
          q(0),
          ],
       q(jaz) => [
-         q(3058),
+         q(3059),
          q(0),
          ],
       q(jbe) => [
-         q(3059),
+         q(3060),
          q(0),
          ],
       q(jbi) => [
-         q(3060),
+         q(3061),
          q(0),
          ],
       q(jbj) => [
-         q(3061),
+         q(3062),
          q(0),
          ],
       q(jbk) => [
-         q(3062),
+         q(3063),
          q(0),
          ],
       q(jbn) => [
-         q(3063),
+         q(3064),
          q(0),
          ],
       q(jbo) => [
@@ -69314,303 +69328,307 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jbr) => [
-         q(3064),
+         q(3065),
          q(0),
          ],
       q(jbt) => [
-         q(3065),
+         q(3066),
          q(0),
          ],
       q(jbu) => [
-         q(3066),
+         q(3067),
          q(0),
          ],
       q(jbw) => [
-         q(3067),
+         q(3068),
          q(0),
          ],
       q(jcs) => [
-         q(3068),
+         q(3069),
          q(0),
          ],
       q(jct) => [
-         q(3069),
+         q(3070),
          q(0),
          ],
       q(jda) => [
-         q(3070),
+         q(3071),
          q(0),
          ],
       q(jdg) => [
-         q(3071),
+         q(3072),
          q(0),
          ],
       q(jdt) => [
-         q(3072),
+         q(3073),
          q(0),
          ],
       q(jeb) => [
-         q(3073),
+         q(3074),
          q(0),
          ],
       q(jee) => [
-         q(3074),
+         q(3075),
          q(0),
          ],
       q(jeg) => [
-         q(3075),
+         q(3076),
          q(0),
          ],
       q(jeh) => [
-         q(3076),
+         q(3077),
          q(0),
          ],
       q(jei) => [
-         q(3077),
+         q(3078),
          q(0),
          ],
       q(jek) => [
-         q(3078),
+         q(3079),
          q(0),
          ],
       q(jel) => [
-         q(3079),
+         q(3080),
          q(0),
          ],
       q(jen) => [
-         q(3080),
+         q(3081),
          q(0),
          ],
       q(jer) => [
-         q(3081),
+         q(3082),
          q(0),
          ],
       q(jet) => [
-         q(3082),
+         q(3083),
          q(0),
          ],
       q(jeu) => [
-         q(3083),
+         q(3084),
          q(0),
          ],
       q(jgb) => [
-         q(3084),
+         q(3085),
          q(0),
          ],
       q(jge) => [
-         q(3085),
+         q(3086),
          q(0),
          ],
       q(jgk) => [
-         q(3086),
+         q(3087),
          q(0),
          ],
       q(jgo) => [
-         q(3087),
+         q(3088),
          q(0),
          ],
       q(jhi) => [
-         q(3088),
+         q(3089),
          q(0),
          ],
       q(jhs) => [
-         q(3089),
+         q(3090),
          q(0),
          ],
       q(jia) => [
-         q(3090),
+         q(3091),
          q(0),
          ],
       q(jib) => [
-         q(3091),
+         q(3092),
          q(0),
          ],
       q(jic) => [
-         q(3092),
+         q(3093),
          q(0),
          ],
       q(jid) => [
-         q(3093),
+         q(3094),
          q(0),
          ],
       q(jie) => [
-         q(3094),
+         q(3095),
          q(0),
          ],
       q(jig) => [
-         q(3095),
+         q(3096),
          q(0),
          ],
       q(jih) => [
-         q(3096),
+         q(3097),
          q(0),
          ],
       q(jii) => [
-         q(3097),
+         q(3098),
          q(0),
          ],
       q(jil) => [
-         q(3098),
+         q(3099),
          q(0),
          ],
       q(jim) => [
-         q(3099),
+         q(3100),
          q(0),
          ],
       q(jio) => [
-         q(3100),
+         q(3101),
          q(0),
          ],
       q(jiq) => [
-         q(3101),
+         q(3102),
          q(0),
          ],
       q(jit) => [
-         q(3102),
+         q(3103),
          q(0),
          ],
       q(jiu) => [
-         q(3103),
+         q(3104),
          q(0),
          ],
       q(jiv) => [
-         q(3104),
+         q(3105),
          q(0),
          ],
       q(jiy) => [
-         q(3105),
+         q(3106),
          q(0),
          ],
       q(jje) => [
-         q(3106),
+         q(3107),
          q(0),
          ],
       q(jjr) => [
-         q(3107),
+         q(3108),
          q(0),
          ],
       q(jkm) => [
-         q(3108),
+         q(3109),
          q(0),
          ],
       q(jko) => [
-         q(3109),
+         q(3110),
          q(0),
          ],
       q(jkp) => [
-         q(3110),
+         q(3111),
          q(0),
          ],
       q(jkr) => [
-         q(3111),
+         q(3112),
          q(0),
          ],
       q(jku) => [
-         q(3112),
+         q(3113),
          q(0),
          ],
       q(jle) => [
-         q(3113),
+         q(3114),
          q(0),
          ],
       q(jls) => [
-         q(3114),
+         q(3115),
          q(0),
          ],
       q(jma) => [
-         q(3115),
+         q(3116),
          q(0),
          ],
       q(jmb) => [
-         q(3116),
+         q(3117),
          q(0),
          ],
       q(jmc) => [
-         q(3117),
+         q(3118),
          q(0),
          ],
       q(jmd) => [
-         q(3118),
+         q(3119),
          q(0),
          ],
       q(jmi) => [
-         q(3119),
+         q(3120),
          q(0),
          ],
       q(jml) => [
-         q(3120),
+         q(3121),
          q(0),
          ],
       q(jmn) => [
-         q(3121),
+         q(3122),
          q(0),
          ],
       q(jmr) => [
-         q(3122),
+         q(3123),
          q(0),
          ],
       q(jms) => [
-         q(3123),
+         q(3124),
          q(0),
          ],
       q(jmw) => [
-         q(3124),
+         q(3125),
          q(0),
          ],
       q(jmx) => [
-         q(3125),
+         q(3126),
          q(0),
          ],
       q(jna) => [
-         q(3126),
+         q(3127),
          q(0),
          ],
       q(jnd) => [
-         q(3127),
+         q(3128),
          q(0),
          ],
       q(jng) => [
-         q(3128),
+         q(3129),
          q(0),
          ],
       q(jni) => [
-         q(3129),
+         q(3130),
          q(0),
          ],
       q(jnj) => [
-         q(3130),
+         q(3131),
          q(0),
          ],
       q(jnl) => [
-         q(3131),
+         q(3132),
          q(0),
          ],
       q(jns) => [
-         q(3132),
+         q(3133),
          q(0),
          ],
       q(job) => [
-         q(3133),
+         q(3134),
          q(0),
          ],
       q(jod) => [
-         q(3134),
+         q(3135),
+         q(0),
+         ],
+      q(jog) => [
+         q(3136),
          q(0),
          ],
       q(jor) => [
-         q(3135),
+         q(3137),
          q(0),
          ],
       q(jos) => [
-         q(3136),
+         q(3138),
          q(0),
          ],
       q(jow) => [
-         q(3137),
+         q(3139),
          q(0),
          ],
       q(jpa) => [
-         q(3138),
+         q(3140),
          q(0),
          ],
       q(jpn) => [
@@ -69626,11 +69644,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jqr) => [
-         q(3139),
+         q(3141),
          q(0),
          ],
       q(jra) => [
-         q(3140),
+         q(3142),
          q(0),
          ],
       q(jrb) => [
@@ -69638,115 +69656,115 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(jrr) => [
-         q(3141),
+         q(3143),
          q(0),
          ],
       q(jrt) => [
-         q(3142),
+         q(3144),
          q(0),
          ],
       q(jru) => [
-         q(3143),
+         q(3145),
          q(0),
          ],
       q(jsl) => [
-         q(3144),
+         q(3146),
          q(0),
          ],
       q(jua) => [
-         q(3145),
+         q(3147),
          q(0),
          ],
       q(jub) => [
-         q(3146),
+         q(3148),
          q(0),
          ],
       q(juc) => [
-         q(3147),
+         q(3149),
          q(0),
          ],
       q(jud) => [
-         q(3148),
+         q(3150),
          q(0),
          ],
       q(juh) => [
-         q(3149),
+         q(3151),
          q(0),
          ],
       q(jui) => [
-         q(3150),
+         q(3152),
          q(0),
          ],
       q(juk) => [
-         q(3151),
+         q(3153),
          q(0),
          ],
       q(jul) => [
-         q(3152),
+         q(3154),
          q(0),
          ],
       q(jum) => [
-         q(3153),
+         q(3155),
          q(0),
          ],
       q(jun) => [
-         q(3154),
+         q(3156),
          q(0),
          ],
       q(juo) => [
-         q(3155),
+         q(3157),
          q(0),
          ],
       q(jup) => [
-         q(3156),
+         q(3158),
          q(0),
          ],
       q(jur) => [
-         q(3157),
+         q(3159),
          q(0),
          ],
       q(jus) => [
-         q(3158),
+         q(3160),
          q(0),
          ],
       q(jut) => [
-         q(3159),
+         q(3161),
          q(0),
          ],
       q(juu) => [
-         q(3160),
+         q(3162),
          q(0),
          ],
       q(juw) => [
-         q(3161),
+         q(3163),
          q(0),
          ],
       q(juy) => [
-         q(3162),
+         q(3164),
          q(0),
          ],
       q(jvd) => [
-         q(3163),
+         q(3165),
          q(0),
          ],
       q(jvn) => [
-         q(3164),
+         q(3166),
          q(0),
          ],
       q(jwi) => [
-         q(3165),
+         q(3167),
          q(0),
          ],
       q(jya) => [
-         q(3166),
+         q(3168),
          q(0),
          ],
       q(jye) => [
-         q(3167),
+         q(3169),
          q(0),
          ],
       q(jyy) => [
-         q(3168),
+         q(3170),
          q(0),
          ],
       q(kaa) => [
@@ -69762,35 +69780,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kad) => [
-         q(3169),
+         q(3171),
          q(0),
          ],
       q(kae) => [
-         q(3170),
+         q(3172),
          q(0),
          ],
       q(kaf) => [
-         q(3171),
+         q(3173),
          q(0),
          ],
       q(kag) => [
-         q(3172),
+         q(3174),
          q(0),
          ],
       q(kah) => [
-         q(3173),
+         q(3175),
          q(0),
          ],
       q(kai) => [
-         q(3174),
+         q(3176),
          q(0),
          ],
       q(kaj) => [
-         q(3175),
+         q(3177),
          q(0),
          ],
       q(kak) => [
-         q(3176),
+         q(3178),
          q(0),
          ],
       q(kal) => [
@@ -69806,15 +69824,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kao) => [
-         q(3177),
+         q(3179),
          q(0),
          ],
       q(kap) => [
-         q(3178),
+         q(3180),
          q(0),
          ],
       q(kaq) => [
-         q(3179),
+         q(3181),
          q(0),
          ],
       q(kar) => [
@@ -69830,7 +69848,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kav) => [
-         q(3180),
+         q(3182),
          q(0),
          ],
       q(kaw) => [
@@ -69838,11 +69856,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kax) => [
-         q(3181),
+         q(3183),
          q(0),
          ],
       q(kay) => [
-         q(3182),
+         q(3184),
          q(0),
          ],
       q(kaz) => [
@@ -69850,15 +69868,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kba) => [
-         q(3183),
+         q(3185),
          q(0),
          ],
       q(kbb) => [
-         q(3184),
+         q(3186),
          q(0),
          ],
       q(kbc) => [
-         q(3185),
+         q(3187),
          q(0),
          ],
       q(kbd) => [
@@ -69866,243 +69884,243 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kbe) => [
-         q(3186),
+         q(3188),
          q(0),
          ],
       q(kbg) => [
-         q(3187),
+         q(3189),
          q(0),
          ],
       q(kbh) => [
-         q(3188),
+         q(3190),
          q(0),
          ],
       q(kbi) => [
-         q(3189),
+         q(3191),
          q(0),
          ],
       q(kbj) => [
-         q(3190),
+         q(3192),
          q(0),
          ],
       q(kbk) => [
-         q(3191),
+         q(3193),
          q(0),
          ],
       q(kbl) => [
-         q(3192),
+         q(3194),
          q(0),
          ],
       q(kbm) => [
-         q(3193),
+         q(3195),
          q(0),
          ],
       q(kbn) => [
-         q(3194),
+         q(3196),
          q(0),
          ],
       q(kbo) => [
-         q(3195),
+         q(3197),
          q(0),
          ],
       q(kbp) => [
-         q(3196),
+         q(3198),
          q(0),
          ],
       q(kbq) => [
-         q(3197),
+         q(3199),
          q(0),
          ],
       q(kbr) => [
-         q(3198),
+         q(3200),
          q(0),
          ],
       q(kbs) => [
-         q(3199),
+         q(3201),
          q(0),
          ],
       q(kbt) => [
-         q(3200),
+         q(3202),
          q(0),
          ],
       q(kbu) => [
-         q(3201),
+         q(3203),
          q(0),
          ],
       q(kbv) => [
-         q(3202),
+         q(3204),
          q(0),
          ],
       q(kbw) => [
-         q(3203),
+         q(3205),
          q(0),
          ],
       q(kbx) => [
-         q(3204),
+         q(3206),
          q(0),
          ],
       q(kby) => [
-         q(3205),
+         q(3207),
          q(0),
          ],
       q(kbz) => [
-         q(3206),
+         q(3208),
          q(0),
          ],
       q(kca) => [
-         q(3207),
+         q(3209),
          q(0),
          ],
       q(kcb) => [
-         q(3208),
+         q(3210),
          q(0),
          ],
       q(kcc) => [
-         q(3209),
+         q(3211),
          q(0),
          ],
       q(kcd) => [
-         q(3210),
+         q(3212),
          q(0),
          ],
       q(kce) => [
-         q(3211),
+         q(3213),
          q(0),
          ],
       q(kcf) => [
-         q(3212),
+         q(3214),
          q(0),
          ],
       q(kcg) => [
-         q(3213),
+         q(3215),
          q(0),
          ],
       q(kch) => [
-         q(3214),
+         q(3216),
          q(0),
          ],
       q(kci) => [
-         q(3215),
+         q(3217),
          q(0),
          ],
       q(kcj) => [
-         q(3216),
+         q(3218),
          q(0),
          ],
       q(kck) => [
-         q(3217),
+         q(3219),
          q(0),
          ],
       q(kcl) => [
-         q(3218),
+         q(3220),
          q(0),
          ],
       q(kcm) => [
-         q(3219),
+         q(3221),
          q(0),
          ],
       q(kcn) => [
-         q(3220),
+         q(3222),
          q(0),
          ],
       q(kco) => [
-         q(3221),
+         q(3223),
          q(0),
          ],
       q(kcp) => [
-         q(3222),
+         q(3224),
          q(0),
          ],
       q(kcq) => [
-         q(3223),
+         q(3225),
          q(0),
          ],
       q(kcr) => [
-         q(3224),
+         q(3226),
          q(0),
          ],
       q(kcs) => [
-         q(3225),
+         q(3227),
          q(0),
          ],
       q(kct) => [
-         q(3226),
+         q(3228),
          q(0),
          ],
       q(kcu) => [
-         q(3227),
+         q(3229),
          q(0),
          ],
       q(kcv) => [
-         q(3228),
+         q(3230),
          q(0),
          ],
       q(kcw) => [
-         q(3229),
+         q(3231),
          q(0),
          ],
       q(kcx) => [
-         q(3230),
+         q(3232),
          q(0),
          ],
       q(kcy) => [
-         q(3231),
+         q(3233),
          q(0),
          ],
       q(kcz) => [
-         q(3232),
+         q(3234),
          q(0),
          ],
       q(kda) => [
-         q(3233),
+         q(3235),
          q(0),
          ],
       q(kdc) => [
-         q(3234),
+         q(3236),
          q(0),
          ],
       q(kdd) => [
-         q(3235),
+         q(3237),
          q(0),
          ],
       q(kde) => [
-         q(3236),
+         q(3238),
          q(0),
          ],
       q(kdf) => [
-         q(3237),
+         q(3239),
          q(0),
          ],
       q(kdg) => [
-         q(3238),
+         q(3240),
          q(0),
          ],
       q(kdh) => [
-         q(3239),
+         q(3241),
          q(0),
          ],
       q(kdi) => [
-         q(3240),
+         q(3242),
          q(0),
          ],
       q(kdj) => [
-         q(3241),
+         q(3243),
          q(0),
          ],
       q(kdk) => [
-         q(3242),
+         q(3244),
          q(0),
          ],
       q(kdl) => [
-         q(3243),
+         q(3245),
          q(0),
          ],
       q(kdm) => [
-         q(3244),
+         q(3246),
          q(0),
          ],
       q(kdn) => [
-         q(3245),
+         q(3247),
          q(0),
          ],
       q(kdo) => [
@@ -70110,343 +70128,343 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kdp) => [
-         q(3246),
+         q(3248),
          q(0),
          ],
       q(kdq) => [
-         q(3247),
+         q(3249),
          q(0),
          ],
       q(kdr) => [
-         q(3248),
+         q(3250),
          q(0),
          ],
       q(kdt) => [
-         q(3249),
+         q(3251),
          q(0),
          ],
       q(kdu) => [
-         q(3250),
+         q(3252),
          q(0),
          ],
       q(kdw) => [
-         q(3251),
+         q(3253),
          q(0),
          ],
       q(kdx) => [
-         q(3252),
+         q(3254),
          q(0),
          ],
       q(kdy) => [
-         q(3253),
+         q(3255),
          q(0),
          ],
       q(kdz) => [
-         q(3254),
+         q(3256),
          q(0),
          ],
       q(kea) => [
-         q(3255),
+         q(3257),
          q(0),
          ],
       q(keb) => [
-         q(3256),
+         q(3258),
          q(0),
          ],
       q(kec) => [
-         q(3257),
+         q(3259),
          q(0),
          ],
       q(ked) => [
-         q(3258),
+         q(3260),
          q(0),
          ],
       q(kee) => [
-         q(3259),
+         q(3261),
          q(0),
          ],
       q(kef) => [
-         q(3260),
+         q(3262),
          q(0),
          ],
       q(keg) => [
-         q(3261),
+         q(3263),
          q(0),
          ],
       q(keh) => [
-         q(3262),
+         q(3264),
          q(0),
          ],
       q(kei) => [
-         q(3263),
+         q(3265),
          q(0),
          ],
       q(kej) => [
-         q(3264),
+         q(3266),
          q(0),
          ],
       q(kek) => [
-         q(3265),
+         q(3267),
          q(0),
          ],
       q(kel) => [
-         q(3266),
+         q(3268),
          q(0),
          ],
       q(kem) => [
-         q(3267),
+         q(3269),
          q(0),
          ],
       q(ken) => [
-         q(3268),
+         q(3270),
          q(0),
          ],
       q(keo) => [
-         q(3269),
+         q(3271),
          q(0),
          ],
       q(kep) => [
-         q(3270),
+         q(3272),
          q(0),
          ],
       q(keq) => [
-         q(3271),
+         q(3273),
          q(0),
          ],
       q(ker) => [
-         q(3272),
+         q(3274),
          q(0),
          ],
       q(kes) => [
-         q(3273),
+         q(3275),
          q(0),
          ],
       q(ket) => [
-         q(3274),
+         q(3276),
          q(0),
          ],
       q(keu) => [
-         q(3275),
+         q(3277),
          q(0),
          ],
       q(kev) => [
-         q(3276),
+         q(3278),
          q(0),
          ],
       q(kew) => [
-         q(3277),
+         q(3279),
          q(0),
          ],
       q(kex) => [
-         q(3278),
+         q(3280),
          q(0),
          ],
       q(key) => [
-         q(3279),
+         q(3281),
          q(0),
          ],
       q(kez) => [
-         q(3280),
+         q(3282),
          q(0),
          ],
       q(kfa) => [
-         q(3281),
+         q(3283),
          q(0),
          ],
       q(kfb) => [
-         q(3282),
+         q(3284),
          q(0),
          ],
       q(kfc) => [
-         q(3283),
+         q(3285),
          q(0),
          ],
       q(kfd) => [
-         q(3284),
+         q(3286),
          q(0),
          ],
       q(kfe) => [
-         q(3285),
+         q(3287),
          q(0),
          ],
       q(kff) => [
-         q(3286),
+         q(3288),
          q(0),
          ],
       q(kfg) => [
-         q(3287),
+         q(3289),
          q(0),
          ],
       q(kfh) => [
-         q(3288),
+         q(3290),
          q(0),
          ],
       q(kfi) => [
-         q(3289),
+         q(3291),
          q(0),
          ],
       q(kfj) => [
-         q(3290),
+         q(3292),
          q(0),
          ],
       q(kfk) => [
-         q(3291),
+         q(3293),
          q(0),
          ],
       q(kfl) => [
-         q(3292),
+         q(3294),
          q(0),
          ],
       q(kfm) => [
-         q(3293),
+         q(3295),
          q(0),
          ],
       q(kfn) => [
-         q(3294),
+         q(3296),
          q(0),
          ],
       q(kfo) => [
-         q(3295),
+         q(3297),
          q(0),
          ],
       q(kfp) => [
-         q(3296),
+         q(3298),
          q(0),
          ],
       q(kfq) => [
-         q(3297),
+         q(3299),
          q(0),
          ],
       q(kfr) => [
-         q(3298),
+         q(3300),
          q(0),
          ],
       q(kfs) => [
-         q(3299),
+         q(3301),
          q(0),
          ],
       q(kft) => [
-         q(3300),
+         q(3302),
          q(0),
          ],
       q(kfu) => [
-         q(3301),
+         q(3303),
          q(0),
          ],
       q(kfv) => [
-         q(3302),
+         q(3304),
          q(0),
          ],
       q(kfw) => [
-         q(3303),
+         q(3305),
          q(0),
          ],
       q(kfx) => [
-         q(3304),
+         q(3306),
          q(0),
          ],
       q(kfy) => [
-         q(3305),
+         q(3307),
          q(0),
          ],
       q(kfz) => [
-         q(3306),
+         q(3308),
          q(0),
          ],
       q(kga) => [
-         q(3307),
+         q(3309),
          q(0),
          ],
       q(kgb) => [
-         q(3308),
+         q(3310),
          q(0),
          ],
       q(kgc) => [
-         q(3309),
+         q(3311),
          q(0),
          ],
       q(kgd) => [
-         q(3310),
+         q(3312),
          q(0),
          ],
       q(kge) => [
-         q(3311),
+         q(3313),
          q(0),
          ],
       q(kgf) => [
-         q(3312),
+         q(3314),
          q(0),
          ],
       q(kgg) => [
-         q(3313),
+         q(3315),
          q(0),
          ],
       q(kgi) => [
-         q(3314),
+         q(3316),
          q(0),
          ],
       q(kgj) => [
-         q(3315),
+         q(3317),
          q(0),
          ],
       q(kgk) => [
-         q(3316),
+         q(3318),
          q(0),
          ],
       q(kgl) => [
-         q(3317),
+         q(3319),
          q(0),
          ],
       q(kgm) => [
-         q(3318),
+         q(3320),
          q(0),
          ],
       q(kgn) => [
-         q(3319),
+         q(3321),
          q(0),
          ],
       q(kgo) => [
-         q(3320),
+         q(3322),
          q(0),
          ],
       q(kgp) => [
-         q(3321),
+         q(3323),
          q(0),
          ],
       q(kgq) => [
-         q(3322),
+         q(3324),
          q(0),
          ],
       q(kgr) => [
-         q(3323),
+         q(3325),
          q(0),
          ],
       q(kgs) => [
-         q(3324),
+         q(3326),
          q(0),
          ],
       q(kgt) => [
-         q(3325),
+         q(3327),
          q(0),
          ],
       q(kgu) => [
-         q(3326),
+         q(3328),
          q(0),
          ],
       q(kgv) => [
-         q(3327),
+         q(3329),
          q(0),
          ],
       q(kgw) => [
-         q(3328),
+         q(3330),
          q(0),
          ],
       q(kgx) => [
-         q(3329),
+         q(3331),
          q(0),
          ],
       q(kgy) => [
-         q(3330),
+         q(3332),
          q(0),
          ],
       q(kha) => [
@@ -70454,31 +70472,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khb) => [
-         q(3331),
+         q(3333),
          q(0),
          ],
       q(khc) => [
-         q(3332),
+         q(3334),
          q(0),
          ],
       q(khd) => [
-         q(3333),
+         q(3335),
          q(0),
          ],
       q(khe) => [
-         q(3334),
+         q(3336),
          q(0),
          ],
       q(khf) => [
-         q(3335),
+         q(3337),
          q(0),
          ],
       q(khg) => [
-         q(3336),
+         q(3338),
          q(0),
          ],
       q(khh) => [
-         q(3337),
+         q(3339),
          q(0),
          ],
       q(khi) => [
@@ -70486,15 +70504,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khj) => [
-         q(3338),
+         q(3340),
          q(0),
          ],
       q(khk) => [
-         q(3339),
+         q(3341),
          q(0),
          ],
       q(khl) => [
-         q(3340),
+         q(3342),
          q(0),
          ],
       q(khm) => [
@@ -70502,7 +70520,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khn) => [
-         q(3341),
+         q(3343),
          q(0),
          ],
       q(kho) => [
@@ -70510,87 +70528,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(khp) => [
-         q(3342),
+         q(3344),
          q(0),
          ],
       q(khq) => [
-         q(3343),
+         q(3345),
          q(0),
          ],
       q(khr) => [
-         q(3344),
+         q(3346),
          q(0),
          ],
       q(khs) => [
-         q(3345),
+         q(3347),
          q(0),
          ],
       q(kht) => [
-         q(3346),
+         q(3348),
          q(0),
          ],
       q(khu) => [
-         q(3347),
+         q(3349),
          q(0),
          ],
       q(khv) => [
-         q(3348),
+         q(3350),
          q(0),
          ],
       q(khw) => [
-         q(3349),
+         q(3351),
          q(0),
          ],
       q(khx) => [
-         q(3350),
+         q(3352),
          q(0),
          ],
       q(khy) => [
-         q(3351),
+         q(3353),
          q(0),
          ],
       q(khz) => [
-         q(3352),
+         q(3354),
          q(0),
          ],
       q(kia) => [
-         q(3353),
+         q(3355),
          q(0),
          ],
       q(kib) => [
-         q(3354),
+         q(3356),
          q(0),
          ],
       q(kic) => [
-         q(3355),
+         q(3357),
          q(0),
          ],
       q(kid) => [
-         q(3356),
+         q(3358),
          q(0),
          ],
       q(kie) => [
-         q(3357),
+         q(3359),
          q(0),
          ],
       q(kif) => [
-         q(3358),
+         q(3360),
          q(0),
          ],
       q(kig) => [
-         q(3359),
+         q(3361),
          q(0),
          ],
       q(kih) => [
-         q(3360),
+         q(3362),
          q(0),
          ],
       q(kii) => [
-         q(3361),
+         q(3363),
          q(0),
          ],
       q(kij) => [
-         q(3362),
+         q(3364),
          q(0),
          ],
       q(kik) => [
@@ -70598,11 +70616,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kil) => [
-         q(3363),
+         q(3365),
          q(0),
          ],
       q(kim) => [
-         q(3364),
+         q(3366),
          q(0),
          ],
       q(kin) => [
@@ -70610,15 +70628,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kio) => [
-         q(3365),
+         q(3367),
          q(0),
          ],
       q(kip) => [
-         q(3366),
+         q(3368),
          q(0),
          ],
       q(kiq) => [
-         q(3367),
+         q(3369),
          q(0),
          ],
       q(kir) => [
@@ -70626,347 +70644,347 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kis) => [
-         q(3368),
+         q(3370),
          q(0),
          ],
       q(kit) => [
-         q(3369),
+         q(3371),
          q(0),
          ],
       q(kiu) => [
-         q(3370),
+         q(3372),
          q(0),
          ],
       q(kiv) => [
-         q(3371),
+         q(3373),
          q(0),
          ],
       q(kiw) => [
-         q(3372),
+         q(3374),
          q(0),
          ],
       q(kix) => [
-         q(3373),
+         q(3375),
          q(0),
          ],
       q(kiy) => [
-         q(3374),
+         q(3376),
          q(0),
          ],
       q(kiz) => [
-         q(3375),
+         q(3377),
          q(0),
          ],
       q(kja) => [
-         q(3376),
+         q(3378),
          q(0),
          ],
       q(kjb) => [
-         q(3377),
+         q(3379),
          q(0),
          ],
       q(kjc) => [
-         q(3378),
+         q(3380),
          q(0),
          ],
       q(kjd) => [
-         q(3379),
+         q(3381),
          q(0),
          ],
       q(kje) => [
-         q(3380),
+         q(3382),
          q(0),
          ],
       q(kjf) => [
-         q(3381),
+         q(3383),
          q(0),
          ],
       q(kjg) => [
-         q(3382),
+         q(3384),
          q(0),
          ],
       q(kjh) => [
-         q(3383),
+         q(3385),
          q(0),
          ],
       q(kji) => [
-         q(3384),
+         q(3386),
          q(0),
          ],
       q(kjj) => [
-         q(3385),
+         q(3387),
          q(0),
          ],
       q(kjk) => [
-         q(3386),
+         q(3388),
          q(0),
          ],
       q(kjl) => [
-         q(3387),
+         q(3389),
          q(0),
          ],
       q(kjm) => [
-         q(3388),
+         q(3390),
          q(0),
          ],
       q(kjn) => [
-         q(3389),
+         q(3391),
          q(0),
          ],
       q(kjo) => [
-         q(3390),
+         q(3392),
          q(0),
          ],
       q(kjp) => [
-         q(3391),
+         q(3393),
          q(0),
          ],
       q(kjq) => [
-         q(3392),
+         q(3394),
          q(0),
          ],
       q(kjr) => [
-         q(3393),
+         q(3395),
          q(0),
          ],
       q(kjs) => [
-         q(3394),
+         q(3396),
          q(0),
          ],
       q(kjt) => [
-         q(3395),
+         q(3397),
          q(0),
          ],
       q(kju) => [
-         q(3396),
+         q(3398),
          q(0),
          ],
       q(kjv) => [
-         q(3397),
+         q(3399),
          q(0),
          ],
       q(kjx) => [
-         q(3398),
+         q(3400),
          q(0),
          ],
       q(kjy) => [
-         q(3399),
+         q(3401),
          q(0),
          ],
       q(kjz) => [
-         q(3400),
+         q(3402),
          q(0),
          ],
       q(kka) => [
-         q(3401),
+         q(3403),
          q(0),
          ],
       q(kkb) => [
-         q(3402),
+         q(3404),
          q(0),
          ],
       q(kkc) => [
-         q(3403),
+         q(3405),
          q(0),
          ],
       q(kkd) => [
-         q(3404),
+         q(3406),
          q(0),
          ],
       q(kke) => [
-         q(3405),
+         q(3407),
          q(0),
          ],
       q(kkf) => [
-         q(3406),
+         q(3408),
          q(0),
          ],
       q(kkg) => [
-         q(3407),
+         q(3409),
          q(0),
          ],
       q(kkh) => [
-         q(3408),
+         q(3410),
          q(0),
          ],
       q(kki) => [
-         q(3409),
+         q(3411),
          q(0),
          ],
       q(kkj) => [
-         q(3410),
+         q(3412),
          q(0),
          ],
       q(kkk) => [
-         q(3411),
+         q(3413),
          q(0),
          ],
       q(kkl) => [
-         q(3412),
+         q(3414),
          q(0),
          ],
       q(kkm) => [
-         q(3413),
+         q(3415),
          q(0),
          ],
       q(kkn) => [
-         q(3414),
+         q(3416),
          q(0),
          ],
       q(kko) => [
-         q(3415),
+         q(3417),
          q(0),
          ],
       q(kkp) => [
-         q(3416),
+         q(3418),
          q(0),
          ],
       q(kkq) => [
-         q(3417),
+         q(3419),
          q(0),
          ],
       q(kkr) => [
-         q(3418),
+         q(3420),
          q(0),
          ],
       q(kks) => [
-         q(3419),
+         q(3421),
          q(0),
          ],
       q(kkt) => [
-         q(3420),
+         q(3422),
          q(0),
          ],
       q(kku) => [
-         q(3421),
+         q(3423),
          q(0),
          ],
       q(kkv) => [
-         q(3422),
+         q(3424),
          q(0),
          ],
       q(kkw) => [
-         q(3423),
+         q(3425),
          q(0),
          ],
       q(kkx) => [
-         q(3424),
+         q(3426),
          q(0),
          ],
       q(kky) => [
-         q(3425),
+         q(3427),
          q(0),
          ],
       q(kkz) => [
-         q(3426),
+         q(3428),
          q(0),
          ],
       q(kla) => [
-         q(3427),
+         q(3429),
          q(0),
          ],
       q(klb) => [
-         q(3428),
+         q(3430),
          q(0),
          ],
       q(klc) => [
-         q(3429),
+         q(3431),
          q(0),
          ],
       q(kld) => [
-         q(3430),
+         q(3432),
          q(0),
          ],
       q(kle) => [
-         q(3431),
+         q(3433),
          q(0),
          ],
       q(klf) => [
-         q(3432),
+         q(3434),
          q(0),
          ],
       q(klg) => [
-         q(3433),
+         q(3435),
          q(0),
          ],
       q(klh) => [
-         q(3434),
+         q(3436),
          q(0),
          ],
       q(kli) => [
-         q(3435),
+         q(3437),
          q(0),
          ],
       q(klj) => [
-         q(3436),
+         q(3438),
          q(0),
          ],
       q(klk) => [
-         q(3437),
+         q(3439),
          q(0),
          ],
       q(kll) => [
-         q(3438),
+         q(3440),
          q(0),
          ],
       q(klm) => [
-         q(3439),
+         q(3441),
          q(0),
          ],
       q(kln) => [
-         q(3440),
+         q(3442),
          q(0),
          ],
       q(klo) => [
-         q(3441),
+         q(3443),
          q(0),
          ],
       q(klp) => [
-         q(3442),
+         q(3444),
          q(0),
          ],
       q(klq) => [
-         q(3443),
+         q(3445),
          q(0),
          ],
       q(klr) => [
-         q(3444),
+         q(3446),
          q(0),
          ],
       q(kls) => [
-         q(3445),
+         q(3447),
          q(0),
          ],
       q(klt) => [
-         q(3446),
+         q(3448),
          q(0),
          ],
       q(klu) => [
-         q(3447),
+         q(3449),
          q(0),
          ],
       q(klv) => [
-         q(3448),
+         q(3450),
          q(0),
          ],
       q(klw) => [
-         q(3449),
+         q(3451),
          q(0),
          ],
       q(klx) => [
-         q(3450),
+         q(3452),
          q(0),
          ],
       q(kly) => [
-         q(3451),
+         q(3453),
          q(0),
          ],
       q(klz) => [
-         q(3452),
+         q(3454),
          q(0),
          ],
       q(kma) => [
-         q(3453),
+         q(3455),
          q(0),
          ],
       q(kmb) => [
@@ -70974,231 +70992,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kmc) => [
-         q(3454),
+         q(3456),
          q(0),
          ],
       q(kmd) => [
-         q(3455),
+         q(3457),
          q(0),
          ],
       q(kme) => [
-         q(3456),
+         q(3458),
          q(0),
          ],
       q(kmf) => [
-         q(3457),
+         q(3459),
          q(0),
          ],
       q(kmg) => [
-         q(3458),
+         q(3460),
          q(0),
          ],
       q(kmh) => [
-         q(3459),
+         q(3461),
          q(0),
          ],
       q(kmi) => [
-         q(3460),
+         q(3462),
          q(0),
          ],
       q(kmj) => [
-         q(3461),
+         q(3463),
          q(0),
          ],
       q(kmk) => [
-         q(3462),
+         q(3464),
          q(0),
          ],
       q(kml) => [
-         q(3463),
+         q(3465),
          q(0),
          ],
       q(kmm) => [
-         q(3464),
+         q(3466),
          q(0),
          ],
       q(kmn) => [
-         q(3465),
+         q(3467),
          q(0),
          ],
       q(kmo) => [
-         q(3466),
+         q(3468),
          q(0),
          ],
       q(kmp) => [
-         q(3467),
+         q(3469),
          q(0),
          ],
       q(kmq) => [
-         q(3468),
+         q(3470),
          q(0),
          ],
       q(kmr) => [
-         q(3469),
+         q(3471),
          q(0),
          ],
       q(kms) => [
-         q(3470),
+         q(3472),
          q(0),
          ],
       q(kmt) => [
-         q(3471),
+         q(3473),
          q(0),
          ],
       q(kmu) => [
-         q(3472),
+         q(3474),
          q(0),
          ],
       q(kmv) => [
-         q(3473),
+         q(3475),
          q(0),
          ],
       q(kmw) => [
-         q(3474),
+         q(3476),
          q(0),
          ],
       q(kmx) => [
-         q(3475),
+         q(3477),
          q(0),
          ],
       q(kmy) => [
-         q(3476),
+         q(3478),
          q(0),
          ],
       q(kmz) => [
-         q(3477),
+         q(3479),
          q(0),
          ],
       q(kna) => [
-         q(3478),
+         q(3480),
          q(0),
          ],
       q(knb) => [
-         q(3479),
+         q(3481),
          q(0),
          ],
       q(knc) => [
-         q(3480),
+         q(3482),
          q(0),
          ],
       q(knd) => [
-         q(3481),
+         q(3483),
          q(0),
          ],
       q(kne) => [
-         q(3482),
+         q(3484),
          q(0),
          ],
       q(knf) => [
-         q(3483),
+         q(3485),
          q(0),
          ],
       q(kng) => [
-         q(3484),
+         q(3486),
          q(0),
          ],
       q(kni) => [
-         q(3485),
+         q(3487),
          q(0),
          ],
       q(knj) => [
-         q(3486),
+         q(3488),
          q(0),
          ],
       q(knk) => [
-         q(3487),
+         q(3489),
          q(0),
          ],
       q(knl) => [
-         q(3488),
+         q(3490),
          q(0),
          ],
       q(knm) => [
-         q(3489),
+         q(3491),
          q(0),
          ],
       q(knn) => [
-         q(3490),
+         q(3492),
          q(0),
          ],
       q(kno) => [
-         q(3491),
+         q(3493),
          q(0),
          ],
       q(knp) => [
-         q(3492),
+         q(3494),
          q(0),
          ],
       q(knq) => [
-         q(3493),
+         q(3495),
          q(0),
          ],
       q(knr) => [
-         q(3494),
+         q(3496),
          q(0),
          ],
       q(kns) => [
-         q(3495),
+         q(3497),
          q(0),
          ],
       q(knt) => [
-         q(3496),
+         q(3498),
          q(0),
          ],
       q(knu) => [
-         q(3497),
+         q(3499),
          q(0),
          ],
       q(knv) => [
-         q(3498),
+         q(3500),
          q(0),
          ],
       q(knw) => [
-         q(3499),
+         q(3501),
          q(0),
          ],
       q(knx) => [
-         q(3500),
+         q(3502),
          q(0),
          ],
       q(kny) => [
-         q(3501),
+         q(3503),
          q(0),
          ],
       q(knz) => [
-         q(3502),
+         q(3504),
          q(0),
          ],
       q(koa) => [
-         q(3503),
+         q(3505),
          q(0),
          ],
       q(koc) => [
-         q(3504),
+         q(3506),
          q(0),
          ],
       q(kod) => [
-         q(3505),
+         q(3507),
          q(0),
          ],
       q(koe) => [
-         q(3506),
+         q(3508),
          q(0),
          ],
       q(kof) => [
-         q(3507),
+         q(3509),
          q(0),
          ],
       q(kog) => [
-         q(3508),
+         q(3510),
          q(0),
          ],
       q(koh) => [
-         q(3509),
+         q(3511),
          q(0),
          ],
       q(koi) => [
-         q(3510),
+         q(3512),
          q(0),
          ],
       q(kok) => [
@@ -71206,7 +71224,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(kol) => [
-         q(3511),
+         q(3513),
          q(0),
          ],
       q(kom) => [
@@ -71218,15 +71236,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(koo) => [
-         q(3512),
+         q(3514),
          q(0),
          ],
       q(kop) => [
-         q(3513),
+         q(3515),
          q(0),
          ],
       q(koq) => [
-         q(3514),
+         q(3516),
          q(0),
          ],
       q(kor) => [
@@ -71238,47 +71256,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kot) => [
-         q(3515),
+         q(3517),
          q(0),
          ],
       q(kou) => [
-         q(3516),
+         q(3518),
          q(0),
          ],
       q(kov) => [
-         q(3517),
+         q(3519),
          q(0),
          ],
       q(kow) => [
-         q(3518),
+         q(3520),
          q(0),
          ],
       q(kox) => [
-         q(3519),
+         q(3521),
          q(0),
          ],
       q(koy) => [
-         q(3520),
+         q(3522),
          q(0),
          ],
       q(koz) => [
-         q(3521),
+         q(3523),
          q(0),
          ],
       q(kpa) => [
-         q(3522),
+         q(3524),
          q(0),
          ],
       q(kpb) => [
-         q(3523),
+         q(3525),
          q(0),
          ],
       q(kpc) => [
-         q(3524),
+         q(3526),
          q(0),
          ],
       q(kpd) => [
-         q(3525),
+         q(3527),
          q(0),
          ],
       q(kpe) => [
@@ -71286,195 +71304,195 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kpf) => [
-         q(3526),
+         q(3528),
          q(0),
          ],
       q(kpg) => [
-         q(3527),
+         q(3529),
          q(0),
          ],
       q(kph) => [
-         q(3528),
+         q(3530),
          q(0),
          ],
       q(kpi) => [
-         q(3529),
+         q(3531),
          q(0),
          ],
       q(kpj) => [
-         q(3530),
+         q(3532),
          q(0),
          ],
       q(kpk) => [
-         q(3531),
+         q(3533),
          q(0),
          ],
       q(kpl) => [
-         q(3532),
+         q(3534),
          q(0),
          ],
       q(kpm) => [
-         q(3533),
+         q(3535),
          q(0),
          ],
       q(kpn) => [
-         q(3534),
+         q(3536),
          q(0),
          ],
       q(kpo) => [
-         q(3535),
+         q(3537),
          q(0),
          ],
       q(kpq) => [
-         q(3536),
+         q(3538),
          q(0),
          ],
       q(kpr) => [
-         q(3537),
+         q(3539),
          q(0),
          ],
       q(kps) => [
-         q(3538),
+         q(3540),
          q(0),
          ],
       q(kpt) => [
-         q(3539),
+         q(3541),
          q(0),
          ],
       q(kpu) => [
-         q(3540),
+         q(3542),
          q(0),
          ],
       q(kpv) => [
-         q(3541),
+         q(3543),
          q(0),
          ],
       q(kpw) => [
-         q(3542),
+         q(3544),
          q(0),
          ],
       q(kpx) => [
-         q(3543),
+         q(3545),
          q(0),
          ],
       q(kpy) => [
-         q(3544),
+         q(3546),
          q(0),
          ],
       q(kpz) => [
-         q(3545),
+         q(3547),
          q(0),
          ],
       q(kqa) => [
-         q(3546),
+         q(3548),
          q(0),
          ],
       q(kqb) => [
-         q(3547),
+         q(3549),
          q(0),
          ],
       q(kqc) => [
-         q(3548),
+         q(3550),
          q(0),
          ],
       q(kqd) => [
-         q(3549),
+         q(3551),
          q(0),
          ],
       q(kqe) => [
-         q(3550),
+         q(3552),
          q(0),
          ],
       q(kqf) => [
-         q(3551),
+         q(3553),
          q(0),
          ],
       q(kqg) => [
-         q(3552),
+         q(3554),
          q(0),
          ],
       q(kqh) => [
-         q(3553),
+         q(3555),
          q(0),
          ],
       q(kqi) => [
-         q(3554),
+         q(3556),
          q(0),
          ],
       q(kqj) => [
-         q(3555),
+         q(3557),
          q(0),
          ],
       q(kqk) => [
-         q(3556),
+         q(3558),
          q(0),
          ],
       q(kql) => [
-         q(3557),
+         q(3559),
          q(0),
          ],
       q(kqm) => [
-         q(3558),
+         q(3560),
          q(0),
          ],
       q(kqn) => [
-         q(3559),
+         q(3561),
          q(0),
          ],
       q(kqo) => [
-         q(3560),
+         q(3562),
          q(0),
          ],
       q(kqp) => [
-         q(3561),
+         q(3563),
          q(0),
          ],
       q(kqq) => [
-         q(3562),
+         q(3564),
          q(0),
          ],
       q(kqr) => [
-         q(3563),
+         q(3565),
          q(0),
          ],
       q(kqs) => [
-         q(3564),
+         q(3566),
          q(0),
          ],
       q(kqt) => [
-         q(3565),
+         q(3567),
          q(0),
          ],
       q(kqu) => [
-         q(3566),
+         q(3568),
          q(0),
          ],
       q(kqv) => [
-         q(3567),
+         q(3569),
          q(0),
          ],
       q(kqw) => [
-         q(3568),
+         q(3570),
          q(0),
          ],
       q(kqx) => [
-         q(3569),
+         q(3571),
          q(0),
          ],
       q(kqy) => [
-         q(3570),
+         q(3572),
          q(0),
          ],
       q(kqz) => [
-         q(3571),
+         q(3573),
          q(0),
          ],
       q(kra) => [
-         q(3572),
+         q(3574),
          q(0),
          ],
       q(krb) => [
-         q(3573),
+         q(3575),
          q(0),
          ],
       q(krc) => [
@@ -71482,31 +71500,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krd) => [
-         q(3574),
+         q(3576),
          q(0),
          ],
       q(kre) => [
-         q(3575),
+         q(3577),
          q(0),
          ],
       q(krf) => [
-         q(3576),
+         q(3578),
          q(0),
          ],
       q(krh) => [
-         q(3577),
+         q(3579),
          q(0),
          ],
       q(kri) => [
-         q(3578),
+         q(3580),
          q(0),
          ],
       q(krj) => [
-         q(3579),
+         q(3581),
          q(0),
          ],
       q(krk) => [
-         q(3580),
+         q(3582),
          q(0),
          ],
       q(krl) => [
@@ -71514,11 +71532,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krm) => [
-         q(3581),
+         q(3583),
          q(0),
          ],
       q(krn) => [
-         q(3582),
+         q(3584),
          q(0),
          ],
       q(kro) => [
@@ -71526,19 +71544,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krp) => [
-         q(3583),
+         q(3585),
          q(0),
          ],
       q(krr) => [
-         q(3584),
+         q(3586),
          q(0),
          ],
       q(krs) => [
-         q(3585),
+         q(3587),
          q(0),
          ],
       q(krt) => [
-         q(3586),
+         q(3588),
          q(0),
          ],
       q(kru) => [
@@ -71546,231 +71564,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(krv) => [
-         q(3587),
+         q(3589),
          q(0),
          ],
       q(krw) => [
-         q(3588),
+         q(3590),
          q(0),
          ],
       q(krx) => [
-         q(3589),
+         q(3591),
          q(0),
          ],
       q(kry) => [
-         q(3590),
+         q(3592),
          q(0),
          ],
       q(krz) => [
-         q(3591),
+         q(3593),
          q(0),
          ],
       q(ksa) => [
-         q(3592),
+         q(3594),
          q(0),
          ],
       q(ksb) => [
-         q(3593),
+         q(3595),
          q(0),
          ],
       q(ksc) => [
-         q(3594),
+         q(3596),
          q(0),
          ],
       q(ksd) => [
-         q(3595),
+         q(3597),
          q(0),
          ],
       q(kse) => [
-         q(3596),
+         q(3598),
          q(0),
          ],
       q(ksf) => [
-         q(3597),
+         q(3599),
          q(0),
          ],
       q(ksg) => [
-         q(3598),
+         q(3600),
          q(0),
          ],
       q(ksh) => [
-         q(3599),
+         q(3601),
          q(0),
          ],
       q(ksi) => [
-         q(3600),
+         q(3602),
          q(0),
          ],
       q(ksj) => [
-         q(3601),
+         q(3603),
          q(0),
          ],
       q(ksk) => [
-         q(3602),
+         q(3604),
          q(0),
          ],
       q(ksl) => [
-         q(3603),
+         q(3605),
          q(0),
          ],
       q(ksm) => [
-         q(3604),
+         q(3606),
          q(0),
          ],
       q(ksn) => [
-         q(3605),
+         q(3607),
          q(0),
          ],
       q(kso) => [
-         q(3606),
+         q(3608),
          q(0),
          ],
       q(ksp) => [
-         q(3607),
+         q(3609),
          q(0),
          ],
       q(ksq) => [
-         q(3608),
+         q(3610),
          q(0),
          ],
       q(ksr) => [
-         q(3609),
+         q(3611),
          q(0),
          ],
       q(kss) => [
-         q(3610),
+         q(3612),
          q(0),
          ],
       q(kst) => [
-         q(3611),
+         q(3613),
          q(0),
          ],
       q(ksu) => [
-         q(3612),
+         q(3614),
          q(0),
          ],
       q(ksv) => [
-         q(3613),
+         q(3615),
          q(0),
          ],
       q(ksw) => [
-         q(3614),
+         q(3616),
          q(0),
          ],
       q(ksx) => [
-         q(3615),
+         q(3617),
          q(0),
          ],
       q(ksy) => [
-         q(3616),
+         q(3618),
          q(0),
          ],
       q(ksz) => [
-         q(3617),
+         q(3619),
          q(0),
          ],
       q(kta) => [
-         q(3618),
+         q(3620),
          q(0),
          ],
       q(ktb) => [
-         q(3619),
+         q(3621),
          q(0),
          ],
       q(ktc) => [
-         q(3620),
+         q(3622),
          q(0),
          ],
       q(ktd) => [
-         q(3621),
+         q(3623),
          q(0),
          ],
       q(kte) => [
-         q(3622),
+         q(3624),
          q(0),
          ],
       q(ktf) => [
-         q(3623),
+         q(3625),
          q(0),
          ],
       q(ktg) => [
-         q(3624),
+         q(3626),
          q(0),
          ],
       q(kth) => [
-         q(3625),
+         q(3627),
          q(0),
          ],
       q(kti) => [
-         q(3626),
+         q(3628),
          q(0),
          ],
       q(ktj) => [
-         q(3627),
+         q(3629),
          q(0),
          ],
       q(ktk) => [
-         q(3628),
+         q(3630),
          q(0),
          ],
       q(ktl) => [
-         q(3629),
+         q(3631),
          q(0),
          ],
       q(ktm) => [
-         q(3630),
+         q(3632),
          q(0),
          ],
       q(ktn) => [
-         q(3631),
+         q(3633),
          q(0),
          ],
       q(kto) => [
-         q(3632),
+         q(3634),
          q(0),
          ],
       q(ktp) => [
-         q(3633),
+         q(3635),
          q(0),
          ],
       q(ktq) => [
-         q(3634),
+         q(3636),
          q(0),
          ],
       q(ktr) => [
-         q(3635),
+         q(3637),
          q(0),
          ],
       q(kts) => [
-         q(3636),
+         q(3638),
          q(0),
          ],
       q(ktt) => [
-         q(3637),
+         q(3639),
          q(0),
          ],
       q(ktu) => [
-         q(3638),
+         q(3640),
          q(0),
          ],
       q(ktv) => [
-         q(3639),
+         q(3641),
          q(0),
          ],
       q(ktw) => [
-         q(3640),
+         q(3642),
          q(0),
          ],
       q(ktx) => [
-         q(3641),
+         q(3643),
          q(0),
          ],
       q(kty) => [
-         q(3642),
+         q(3644),
          q(0),
          ],
       q(ktz) => [
-         q(3643),
+         q(3645),
          q(0),
          ],
       q(kua) => [
@@ -71778,47 +71796,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kub) => [
-         q(3644),
+         q(3646),
          q(0),
          ],
       q(kuc) => [
-         q(3645),
+         q(3647),
          q(0),
          ],
       q(kud) => [
-         q(3646),
+         q(3648),
          q(0),
          ],
       q(kue) => [
-         q(3647),
+         q(3649),
          q(0),
          ],
       q(kuf) => [
-         q(3648),
+         q(3650),
          q(0),
          ],
       q(kug) => [
-         q(3649),
+         q(3651),
          q(0),
          ],
       q(kuh) => [
-         q(3650),
+         q(3652),
          q(0),
          ],
       q(kui) => [
-         q(3651),
+         q(3653),
          q(0),
          ],
       q(kuj) => [
-         q(3652),
+         q(3654),
          q(0),
          ],
       q(kuk) => [
-         q(3653),
+         q(3655),
          q(0),
          ],
       q(kul) => [
-         q(3654),
+         q(3656),
          q(0),
          ],
       q(kum) => [
@@ -71826,19 +71844,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kun) => [
-         q(3655),
+         q(3657),
          q(0),
          ],
       q(kuo) => [
-         q(3656),
+         q(3658),
          q(0),
          ],
       q(kup) => [
-         q(3657),
+         q(3659),
          q(0),
          ],
       q(kuq) => [
-         q(3318),
+         q(3320),
          q(0),
          ],
       q(kur) => [
@@ -71846,7 +71864,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kus) => [
-         q(3658),
+         q(3660),
          q(0),
          ],
       q(kut) => [
@@ -71854,543 +71872,543 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(kuu) => [
-         q(3659),
+         q(3661),
          q(0),
          ],
       q(kuv) => [
-         q(3660),
+         q(3662),
          q(0),
          ],
       q(kuw) => [
-         q(3661),
+         q(3663),
          q(0),
          ],
       q(kux) => [
-         q(3662),
+         q(3664),
          q(0),
          ],
       q(kuy) => [
-         q(3663),
+         q(3665),
          q(0),
          ],
       q(kuz) => [
-         q(3664),
+         q(3666),
          q(0),
          ],
       q(kva) => [
-         q(3665),
+         q(3667),
          q(0),
          ],
       q(kvb) => [
-         q(3666),
+         q(3668),
          q(0),
          ],
       q(kvc) => [
-         q(3667),
+         q(3669),
          q(0),
          ],
       q(kvd) => [
-         q(3668),
+         q(3670),
          q(0),
          ],
       q(kve) => [
-         q(3669),
+         q(3671),
          q(0),
          ],
       q(kvf) => [
-         q(3670),
+         q(3672),
          q(0),
          ],
       q(kvg) => [
-         q(3671),
+         q(3673),
          q(0),
          ],
       q(kvh) => [
-         q(3672),
+         q(3674),
          q(0),
          ],
       q(kvi) => [
-         q(3673),
+         q(3675),
          q(0),
          ],
       q(kvj) => [
-         q(3674),
+         q(3676),
          q(0),
          ],
       q(kvk) => [
-         q(3675),
+         q(3677),
          q(0),
          ],
       q(kvl) => [
-         q(3676),
+         q(3678),
          q(0),
          ],
       q(kvm) => [
-         q(3677),
+         q(3679),
          q(0),
          ],
       q(kvn) => [
-         q(3678),
+         q(3680),
          q(0),
          ],
       q(kvo) => [
-         q(3679),
+         q(3681),
          q(0),
          ],
       q(kvp) => [
-         q(3680),
+         q(3682),
          q(0),
          ],
       q(kvq) => [
-         q(3681),
+         q(3683),
          q(0),
          ],
       q(kvr) => [
-         q(3682),
+         q(3684),
          q(0),
          ],
       q(kvs) => [
-         q(3683),
+         q(3685),
          q(0),
          ],
       q(kvt) => [
-         q(3684),
+         q(3686),
          q(0),
          ],
       q(kvu) => [
-         q(3685),
+         q(3687),
          q(0),
          ],
       q(kvv) => [
-         q(3686),
+         q(3688),
          q(0),
          ],
       q(kvw) => [
-         q(3687),
+         q(3689),
          q(0),
          ],
       q(kvx) => [
-         q(3688),
+         q(3690),
          q(0),
          ],
       q(kvy) => [
-         q(3689),
+         q(3691),
          q(0),
          ],
       q(kvz) => [
-         q(3690),
+         q(3692),
          q(0),
          ],
       q(kwa) => [
-         q(3691),
+         q(3693),
          q(0),
          ],
       q(kwb) => [
-         q(3692),
+         q(3694),
          q(0),
          ],
       q(kwc) => [
-         q(3693),
+         q(3695),
          q(0),
          ],
       q(kwd) => [
-         q(3694),
+         q(3696),
          q(0),
          ],
       q(kwe) => [
-         q(3695),
+         q(3697),
          q(0),
          ],
       q(kwf) => [
-         q(3696),
+         q(3698),
          q(0),
          ],
       q(kwg) => [
-         q(3697),
+         q(3699),
          q(0),
          ],
       q(kwh) => [
-         q(3698),
+         q(3700),
          q(0),
          ],
       q(kwi) => [
-         q(3699),
+         q(3701),
          q(0),
          ],
       q(kwj) => [
-         q(3700),
+         q(3702),
          q(0),
          ],
       q(kwk) => [
-         q(3701),
+         q(3703),
          q(0),
          ],
       q(kwl) => [
-         q(3702),
+         q(3704),
          q(0),
          ],
       q(kwm) => [
-         q(3703),
+         q(3705),
          q(0),
          ],
       q(kwn) => [
-         q(3704),
+         q(3706),
          q(0),
          ],
       q(kwo) => [
-         q(3705),
+         q(3707),
          q(0),
          ],
       q(kwp) => [
-         q(3706),
+         q(3708),
          q(0),
          ],
       q(kwr) => [
-         q(3707),
+         q(3709),
          q(0),
          ],
       q(kws) => [
-         q(3708),
+         q(3710),
          q(0),
          ],
       q(kwt) => [
-         q(3709),
+         q(3711),
          q(0),
          ],
       q(kwu) => [
-         q(3710),
+         q(3712),
          q(0),
          ],
       q(kwv) => [
-         q(3711),
+         q(3713),
          q(0),
          ],
       q(kww) => [
-         q(3712),
+         q(3714),
          q(0),
          ],
       q(kwx) => [
-         q(3713),
+         q(3715),
          q(0),
          ],
       q(kwy) => [
-         q(3714),
+         q(3716),
          q(0),
          ],
       q(kwz) => [
-         q(3715),
+         q(3717),
          q(0),
          ],
       q(kxa) => [
-         q(3716),
+         q(3718),
          q(0),
          ],
       q(kxb) => [
-         q(3717),
+         q(3719),
          q(0),
          ],
       q(kxc) => [
-         q(3718),
+         q(3720),
          q(0),
          ],
       q(kxd) => [
-         q(3719),
+         q(3721),
          q(0),
          ],
       q(kxf) => [
-         q(3720),
+         q(3722),
          q(0),
          ],
       q(kxh) => [
-         q(3721),
+         q(3723),
          q(0),
          ],
       q(kxi) => [
-         q(3722),
+         q(3724),
          q(0),
          ],
       q(kxj) => [
-         q(3723),
+         q(3725),
          q(0),
          ],
       q(kxk) => [
-         q(3724),
+         q(3726),
          q(0),
          ],
       q(kxl) => [
-         q(3725),
+         q(3727),
          q(0),
          ],
       q(kxm) => [
-         q(3726),
+         q(3728),
          q(0),
          ],
       q(kxn) => [
-         q(3727),
+         q(3729),
          q(0),
          ],
       q(kxo) => [
-         q(3728),
+         q(3730),
          q(0),
          ],
       q(kxp) => [
-         q(3729),
+         q(3731),
          q(0),
          ],
       q(kxq) => [
-         q(3730),
+         q(3732),
          q(0),
          ],
       q(kxr) => [
-         q(3731),
+         q(3733),
          q(0),
          ],
       q(kxs) => [
-         q(3732),
+         q(3734),
          q(0),
          ],
       q(kxt) => [
-         q(3733),
+         q(3735),
          q(0),
          ],
       q(kxu) => [
-         q(3734),
+         q(3736),
          q(0),
          ],
       q(kxv) => [
-         q(3735),
+         q(3737),
          q(0),
          ],
       q(kxw) => [
-         q(3736),
+         q(3738),
          q(0),
          ],
       q(kxx) => [
-         q(3737),
+         q(3739),
          q(0),
          ],
       q(kxy) => [
-         q(3738),
+         q(3740),
          q(0),
          ],
       q(kxz) => [
-         q(3739),
+         q(3741),
          q(0),
          ],
       q(kya) => [
-         q(3740),
+         q(3742),
          q(0),
          ],
       q(kyb) => [
-         q(3741),
+         q(3743),
          q(0),
          ],
       q(kyc) => [
-         q(3742),
+         q(3744),
          q(0),
          ],
       q(kyd) => [
-         q(3743),
+         q(3745),
          q(0),
          ],
       q(kye) => [
-         q(3744),
+         q(3746),
          q(0),
          ],
       q(kyf) => [
-         q(3745),
+         q(3747),
          q(0),
          ],
       q(kyg) => [
-         q(3746),
+         q(3748),
          q(0),
          ],
       q(kyh) => [
-         q(3747),
+         q(3749),
          q(0),
          ],
       q(kyi) => [
-         q(3748),
+         q(3750),
          q(0),
          ],
       q(kyj) => [
-         q(3749),
+         q(3751),
          q(0),
          ],
       q(kyk) => [
-         q(3750),
+         q(3752),
          q(0),
          ],
       q(kyl) => [
-         q(3751),
+         q(3753),
          q(0),
          ],
       q(kym) => [
-         q(3752),
+         q(3754),
          q(0),
          ],
       q(kyn) => [
-         q(3753),
+         q(3755),
          q(0),
          ],
       q(kyo) => [
-         q(3754),
+         q(3756),
          q(0),
          ],
       q(kyp) => [
-         q(3755),
+         q(3757),
          q(0),
          ],
       q(kyq) => [
-         q(3756),
+         q(3758),
          q(0),
          ],
       q(kyr) => [
-         q(3757),
+         q(3759),
          q(0),
          ],
       q(kys) => [
-         q(3758),
+         q(3760),
          q(0),
          ],
       q(kyt) => [
-         q(3759),
+         q(3761),
          q(0),
          ],
       q(kyu) => [
-         q(3760),
+         q(3762),
          q(0),
          ],
       q(kyv) => [
-         q(3761),
+         q(3763),
          q(0),
          ],
       q(kyw) => [
-         q(3762),
+         q(3764),
          q(0),
          ],
       q(kyx) => [
-         q(3763),
+         q(3765),
          q(0),
          ],
       q(kyy) => [
-         q(3764),
+         q(3766),
          q(0),
          ],
       q(kyz) => [
-         q(3765),
+         q(3767),
          q(0),
          ],
       q(kza) => [
-         q(3766),
+         q(3768),
          q(0),
          ],
       q(kzb) => [
-         q(3767),
+         q(3769),
          q(0),
          ],
       q(kzc) => [
-         q(3768),
+         q(3770),
          q(0),
          ],
       q(kzd) => [
-         q(3769),
+         q(3771),
          q(0),
          ],
       q(kze) => [
-         q(3770),
+         q(3772),
          q(0),
          ],
       q(kzf) => [
-         q(3771),
+         q(3773),
          q(0),
          ],
       q(kzg) => [
-         q(3772),
+         q(3774),
          q(0),
          ],
       q(kzi) => [
-         q(3773),
+         q(3775),
          q(0),
          ],
       q(kzj) => [
-         q(3774),
+         q(3776),
          q(0),
          ],
       q(kzk) => [
-         q(3775),
+         q(3777),
          q(0),
          ],
       q(kzl) => [
-         q(3776),
+         q(3778),
          q(0),
          ],
       q(kzm) => [
-         q(3777),
+         q(3779),
          q(0),
          ],
       q(kzn) => [
-         q(3778),
+         q(3780),
          q(0),
          ],
       q(kzo) => [
-         q(3779),
+         q(3781),
          q(0),
          ],
       q(kzp) => [
-         q(3780),
+         q(3782),
          q(0),
          ],
       q(kzq) => [
-         q(3781),
+         q(3783),
          q(0),
          ],
       q(kzr) => [
-         q(3782),
+         q(3784),
          q(0),
          ],
       q(kzs) => [
-         q(3783),
+         q(3785),
          q(0),
          ],
       q(kzt) => [
-         q(3784),
+         q(3786),
          q(0),
          ],
       q(kzu) => [
-         q(3785),
+         q(3787),
          q(0),
          ],
       q(kzv) => [
-         q(3786),
+         q(3788),
          q(0),
          ],
       q(kzw) => [
-         q(3787),
+         q(3789),
          q(0),
          ],
       q(kzx) => [
-         q(3788),
+         q(3790),
          q(0),
          ],
       q(kzy) => [
-         q(3789),
+         q(3791),
          q(0),
          ],
       q(kzz) => [
-         q(3790),
+         q(3792),
          q(0),
          ],
       q(laa) => [
-         q(3791),
+         q(3793),
          q(0),
          ],
       q(lab) => [
-         q(3792),
+         q(3794),
          q(0),
          ],
       q(lac) => [
-         q(3793),
+         q(3795),
          q(0),
          ],
       q(lad) => [
@@ -72398,15 +72416,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lae) => [
-         q(3794),
+         q(3796),
          q(0),
          ],
       q(laf) => [
-         q(3795),
+         q(3797),
          q(0),
          ],
       q(lag) => [
-         q(3796),
+         q(3798),
          q(0),
          ],
       q(lah) => [
@@ -72414,19 +72432,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lai) => [
-         q(3797),
+         q(3799),
          q(0),
          ],
       q(laj) => [
-         q(3798),
+         q(3800),
          q(0),
          ],
       q(lak) => [
-         q(3799),
+         q(3801),
          q(0),
          ],
       q(lal) => [
-         q(3800),
+         q(3802),
          q(0),
          ],
       q(lam) => [
@@ -72434,7 +72452,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lan) => [
-         q(3801),
+         q(3803),
          q(0),
          ],
       q(lao) => [
@@ -72442,19 +72460,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lap) => [
-         q(3802),
+         q(3804),
          q(0),
          ],
       q(laq) => [
-         q(3803),
+         q(3805),
          q(0),
          ],
       q(lar) => [
-         q(3804),
+         q(3806),
          q(0),
          ],
       q(las) => [
-         q(3805),
+         q(3807),
          q(0),
          ],
       q(lat) => [
@@ -72462,7 +72480,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lau) => [
-         q(3806),
+         q(3808),
          q(0),
          ],
       q(lav) => [
@@ -72470,303 +72488,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(law) => [
-         q(3807),
+         q(3809),
          q(0),
          ],
       q(lax) => [
-         q(3808),
+         q(3810),
          q(0),
          ],
       q(lay) => [
-         q(3809),
+         q(3811),
          q(0),
          ],
       q(laz) => [
-         q(3810),
+         q(3812),
          q(0),
          ],
       q(lba) => [
-         q(3811),
+         q(3813),
          q(0),
          ],
       q(lbb) => [
-         q(3812),
+         q(3814),
          q(0),
          ],
       q(lbc) => [
-         q(3813),
+         q(3815),
          q(0),
          ],
       q(lbe) => [
-         q(3814),
+         q(3816),
          q(0),
          ],
       q(lbf) => [
-         q(3815),
+         q(3817),
          q(0),
          ],
       q(lbg) => [
-         q(3816),
+         q(3818),
          q(0),
          ],
       q(lbi) => [
-         q(3817),
+         q(3819),
          q(0),
          ],
       q(lbj) => [
-         q(3818),
+         q(3820),
          q(0),
          ],
       q(lbk) => [
-         q(3819),
+         q(3821),
          q(0),
          ],
       q(lbl) => [
-         q(3820),
+         q(3822),
          q(0),
          ],
       q(lbm) => [
-         q(3821),
+         q(3823),
          q(0),
          ],
       q(lbn) => [
-         q(3822),
+         q(3824),
          q(0),
          ],
       q(lbo) => [
-         q(3823),
+         q(3825),
          q(0),
          ],
       q(lbq) => [
-         q(3824),
+         q(3826),
          q(0),
          ],
       q(lbr) => [
-         q(3825),
+         q(3827),
          q(0),
          ],
       q(lbs) => [
-         q(3826),
+         q(3828),
          q(0),
          ],
       q(lbt) => [
-         q(3827),
+         q(3829),
          q(0),
          ],
       q(lbu) => [
-         q(3828),
+         q(3830),
          q(0),
          ],
       q(lbv) => [
-         q(3829),
+         q(3831),
          q(0),
          ],
       q(lbw) => [
-         q(3830),
+         q(3832),
          q(0),
          ],
       q(lbx) => [
-         q(3831),
+         q(3833),
          q(0),
          ],
       q(lby) => [
-         q(3832),
+         q(3834),
          q(0),
          ],
       q(lbz) => [
-         q(3833),
+         q(3835),
          q(0),
          ],
       q(lcc) => [
-         q(3834),
+         q(3836),
          q(0),
          ],
       q(lcd) => [
-         q(3835),
+         q(3837),
          q(0),
          ],
       q(lce) => [
-         q(3836),
+         q(3838),
          q(0),
          ],
       q(lcf) => [
-         q(3837),
+         q(3839),
          q(0),
          ],
       q(lch) => [
-         q(3838),
+         q(3840),
          q(0),
          ],
       q(lcl) => [
-         q(3839),
+         q(3841),
          q(0),
          ],
       q(lcm) => [
-         q(3840),
+         q(3842),
          q(0),
          ],
       q(lcp) => [
-         q(3841),
+         q(3843),
          q(0),
          ],
       q(lcq) => [
-         q(3842),
+         q(3844),
          q(0),
          ],
       q(lcs) => [
-         q(3843),
+         q(3845),
          q(0),
          ],
       q(lda) => [
-         q(3844),
+         q(3846),
          q(0),
          ],
       q(ldb) => [
-         q(3845),
+         q(3847),
          q(0),
          ],
       q(ldd) => [
-         q(3846),
+         q(3848),
          q(0),
          ],
       q(ldg) => [
-         q(3847),
+         q(3849),
          q(0),
          ],
       q(ldh) => [
-         q(3848),
+         q(3850),
          q(0),
          ],
       q(ldi) => [
-         q(3849),
+         q(3851),
          q(0),
          ],
       q(ldj) => [
-         q(3850),
+         q(3852),
          q(0),
          ],
       q(ldk) => [
-         q(3851),
+         q(3853),
          q(0),
          ],
       q(ldl) => [
-         q(3852),
+         q(3854),
          q(0),
          ],
       q(ldm) => [
-         q(3853),
+         q(3855),
          q(0),
          ],
       q(ldn) => [
-         q(3854),
+         q(3856),
          q(0),
          ],
       q(ldo) => [
-         q(3855),
+         q(3857),
          q(0),
          ],
       q(ldp) => [
-         q(3856),
+         q(3858),
          q(0),
          ],
       q(ldq) => [
-         q(3857),
+         q(3859),
          q(0),
          ],
       q(lea) => [
-         q(3858),
+         q(3860),
          q(0),
          ],
       q(leb) => [
-         q(3859),
+         q(3861),
          q(0),
          ],
       q(lec) => [
-         q(3860),
+         q(3862),
          q(0),
          ],
       q(led) => [
-         q(3861),
+         q(3863),
          q(0),
          ],
       q(lee) => [
-         q(3862),
+         q(3864),
          q(0),
          ],
       q(lef) => [
-         q(3863),
+         q(3865),
          q(0),
          ],
       q(leh) => [
-         q(3864),
+         q(3866),
          q(0),
          ],
       q(lei) => [
-         q(3865),
+         q(3867),
          q(0),
          ],
       q(lej) => [
-         q(3866),
+         q(3868),
          q(0),
          ],
       q(lek) => [
-         q(3867),
+         q(3869),
          q(0),
          ],
       q(lel) => [
-         q(3868),
+         q(3870),
          q(0),
          ],
       q(lem) => [
-         q(3869),
+         q(3871),
          q(0),
          ],
       q(len) => [
-         q(3870),
+         q(3872),
          q(0),
          ],
       q(leo) => [
-         q(3871),
+         q(3873),
          q(0),
          ],
       q(lep) => [
-         q(3872),
+         q(3874),
          q(0),
          ],
       q(leq) => [
-         q(3873),
+         q(3875),
          q(0),
          ],
       q(ler) => [
-         q(3874),
+         q(3876),
          q(0),
          ],
       q(les) => [
-         q(3875),
+         q(3877),
          q(0),
          ],
       q(let) => [
-         q(3876),
+         q(3878),
          q(0),
          ],
       q(leu) => [
-         q(3877),
+         q(3879),
          q(0),
          ],
       q(lev) => [
-         q(3878),
+         q(3880),
          q(0),
          ],
       q(lew) => [
-         q(3879),
+         q(3881),
          q(0),
          ],
       q(lex) => [
-         q(3880),
+         q(3882),
          q(0),
          ],
       q(ley) => [
-         q(3881),
+         q(3883),
          q(0),
          ],
       q(lez) => [
@@ -72774,151 +72792,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lfa) => [
-         q(3882),
+         q(3884),
          q(0),
          ],
       q(lfn) => [
-         q(3883),
+         q(3885),
          q(0),
          ],
       q(lga) => [
-         q(3884),
+         q(3886),
          q(0),
          ],
       q(lgb) => [
-         q(3885),
+         q(3887),
          q(0),
          ],
       q(lgg) => [
-         q(3886),
+         q(3888),
          q(0),
          ],
       q(lgh) => [
-         q(3887),
+         q(3889),
          q(0),
          ],
       q(lgi) => [
-         q(3888),
+         q(3890),
          q(0),
          ],
       q(lgk) => [
-         q(3889),
+         q(3891),
          q(0),
          ],
       q(lgl) => [
-         q(3890),
+         q(3892),
          q(0),
          ],
       q(lgm) => [
-         q(3891),
+         q(3893),
          q(0),
          ],
       q(lgn) => [
-         q(3892),
+         q(3894),
          q(0),
          ],
       q(lgq) => [
-         q(3893),
+         q(3895),
          q(0),
          ],
       q(lgr) => [
-         q(3894),
+         q(3896),
          q(0),
          ],
       q(lgt) => [
-         q(3895),
+         q(3897),
          q(0),
          ],
       q(lgu) => [
-         q(3896),
+         q(3898),
          q(0),
          ],
       q(lgz) => [
-         q(3897),
+         q(3899),
          q(0),
          ],
       q(lha) => [
-         q(3898),
+         q(3900),
          q(0),
          ],
       q(lhh) => [
-         q(3899),
+         q(3901),
          q(0),
          ],
       q(lhi) => [
-         q(3900),
+         q(3902),
          q(0),
          ],
       q(lhl) => [
-         q(3901),
+         q(3903),
          q(0),
          ],
       q(lhm) => [
-         q(3902),
+         q(3904),
          q(0),
          ],
       q(lhn) => [
-         q(3903),
+         q(3905),
          q(0),
          ],
       q(lhp) => [
-         q(3904),
+         q(3906),
          q(0),
          ],
       q(lhs) => [
-         q(3905),
+         q(3907),
          q(0),
          ],
       q(lht) => [
-         q(3906),
+         q(3908),
          q(0),
          ],
       q(lhu) => [
-         q(3907),
+         q(3909),
          q(0),
          ],
       q(lia) => [
-         q(3908),
+         q(3910),
          q(0),
          ],
       q(lib) => [
-         q(3909),
+         q(3911),
          q(0),
          ],
       q(lic) => [
-         q(3910),
+         q(3912),
          q(0),
          ],
       q(lid) => [
-         q(3911),
+         q(3913),
          q(0),
          ],
       q(lie) => [
-         q(3912),
+         q(3914),
          q(0),
          ],
       q(lif) => [
-         q(3913),
+         q(3915),
          q(0),
          ],
       q(lig) => [
-         q(3914),
+         q(3916),
          q(0),
          ],
       q(lih) => [
-         q(3915),
+         q(3917),
          q(0),
          ],
       q(lij) => [
-         q(3916),
+         q(3918),
          q(0),
          ],
       q(lik) => [
-         q(3917),
+         q(3919),
          q(0),
          ],
       q(lil) => [
-         q(3918),
+         q(3920),
          q(0),
          ],
       q(lim) => [
@@ -72930,23 +72948,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lio) => [
-         q(3919),
+         q(3921),
          q(0),
          ],
       q(lip) => [
-         q(3920),
+         q(3922),
          q(0),
          ],
       q(liq) => [
-         q(3921),
+         q(3923),
          q(0),
          ],
       q(lir) => [
-         q(3922),
+         q(3924),
          q(0),
          ],
       q(lis) => [
-         q(3923),
+         q(3925),
          q(0),
          ],
       q(lit) => [
@@ -72954,395 +72972,395 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(liu) => [
-         q(3924),
+         q(3926),
          q(0),
          ],
       q(liv) => [
-         q(3925),
+         q(3927),
          q(0),
          ],
       q(liw) => [
-         q(3926),
+         q(3928),
          q(0),
          ],
       q(lix) => [
-         q(3927),
+         q(3929),
          q(0),
          ],
       q(liy) => [
-         q(3928),
+         q(3930),
          q(0),
          ],
       q(liz) => [
-         q(3929),
+         q(3931),
          q(0),
          ],
       q(lja) => [
-         q(3930),
+         q(3932),
          q(0),
          ],
       q(lje) => [
-         q(3931),
+         q(3933),
          q(0),
          ],
       q(lji) => [
-         q(3932),
+         q(3934),
          q(0),
          ],
       q(ljl) => [
-         q(3933),
+         q(3935),
          q(0),
          ],
       q(ljp) => [
-         q(3934),
+         q(3936),
          q(0),
          ],
       q(ljw) => [
-         q(3935),
+         q(3937),
          q(0),
          ],
       q(ljx) => [
-         q(3936),
+         q(3938),
          q(0),
          ],
       q(lka) => [
-         q(3937),
+         q(3939),
          q(0),
          ],
       q(lkb) => [
-         q(3938),
+         q(3940),
          q(0),
          ],
       q(lkc) => [
-         q(3939),
+         q(3941),
          q(0),
          ],
       q(lkd) => [
-         q(3940),
+         q(3942),
          q(0),
          ],
       q(lke) => [
-         q(3941),
+         q(3943),
          q(0),
          ],
       q(lkh) => [
-         q(3942),
+         q(3944),
          q(0),
          ],
       q(lki) => [
-         q(3943),
+         q(3945),
          q(0),
          ],
       q(lkj) => [
-         q(3944),
+         q(3946),
          q(0),
          ],
       q(lkl) => [
-         q(3945),
+         q(3947),
          q(0),
          ],
       q(lkm) => [
-         q(3946),
+         q(3948),
          q(0),
          ],
       q(lkn) => [
-         q(3947),
+         q(3949),
          q(0),
          ],
       q(lko) => [
-         q(3948),
+         q(3950),
          q(0),
          ],
       q(lkr) => [
-         q(3949),
+         q(3951),
          q(0),
          ],
       q(lks) => [
-         q(3950),
+         q(3952),
          q(0),
          ],
       q(lkt) => [
-         q(3951),
+         q(3953),
          q(0),
          ],
       q(lku) => [
-         q(3952),
+         q(3954),
          q(0),
          ],
       q(lky) => [
-         q(3953),
+         q(3955),
          q(0),
          ],
       q(lla) => [
-         q(3954),
+         q(3956),
          q(0),
          ],
       q(llb) => [
-         q(3955),
+         q(3957),
          q(0),
          ],
       q(llc) => [
-         q(3956),
+         q(3958),
          q(0),
          ],
       q(lld) => [
-         q(3957),
+         q(3959),
          q(0),
          ],
       q(lle) => [
-         q(3958),
+         q(3960),
          q(0),
          ],
       q(llf) => [
-         q(3959),
+         q(3961),
          q(0),
          ],
       q(llg) => [
-         q(3960),
+         q(3962),
          q(0),
          ],
       q(llh) => [
-         q(3961),
+         q(3963),
          q(0),
          ],
       q(lli) => [
-         q(3962),
+         q(3964),
          q(0),
          ],
       q(llj) => [
-         q(3963),
+         q(3965),
          q(0),
          ],
       q(llk) => [
-         q(3964),
+         q(3966),
          q(0),
          ],
       q(lll) => [
-         q(3965),
+         q(3967),
          q(0),
          ],
       q(llm) => [
-         q(3966),
+         q(3968),
          q(0),
          ],
       q(lln) => [
-         q(3967),
+         q(3969),
          q(0),
          ],
       q(llo) => [
-         q(3968),
+         q(3970),
          q(0),
          ],
       q(llp) => [
-         q(3969),
+         q(3971),
          q(0),
          ],
       q(llq) => [
-         q(3970),
+         q(3972),
          q(0),
          ],
       q(lls) => [
-         q(3971),
+         q(3973),
          q(0),
          ],
       q(llu) => [
-         q(3972),
+         q(3974),
          q(0),
          ],
       q(llx) => [
-         q(3973),
+         q(3975),
          q(0),
          ],
       q(lma) => [
-         q(3974),
+         q(3976),
          q(0),
          ],
       q(lmb) => [
-         q(3975),
+         q(3977),
          q(0),
          ],
       q(lmc) => [
-         q(3976),
+         q(3978),
          q(0),
          ],
       q(lmd) => [
-         q(3977),
+         q(3979),
          q(0),
          ],
       q(lme) => [
-         q(3978),
+         q(3980),
          q(0),
          ],
       q(lmf) => [
-         q(3979),
+         q(3981),
          q(0),
          ],
       q(lmg) => [
-         q(3980),
+         q(3982),
          q(0),
          ],
       q(lmh) => [
-         q(3981),
+         q(3983),
          q(0),
          ],
       q(lmi) => [
-         q(3982),
+         q(3984),
          q(0),
          ],
       q(lmj) => [
-         q(3983),
+         q(3985),
          q(0),
          ],
       q(lmk) => [
-         q(3984),
+         q(3986),
          q(0),
          ],
       q(lml) => [
-         q(3985),
+         q(3987),
          q(0),
          ],
       q(lmn) => [
-         q(3986),
+         q(3988),
          q(0),
          ],
       q(lmo) => [
-         q(3987),
+         q(3989),
          q(0),
          ],
       q(lmp) => [
-         q(3988),
+         q(3990),
          q(0),
          ],
       q(lmq) => [
-         q(3989),
+         q(3991),
          q(0),
          ],
       q(lmr) => [
-         q(3990),
+         q(3992),
          q(0),
          ],
       q(lmu) => [
-         q(3991),
+         q(3993),
          q(0),
          ],
       q(lmv) => [
-         q(3992),
+         q(3994),
          q(0),
          ],
       q(lmw) => [
-         q(3993),
+         q(3995),
          q(0),
          ],
       q(lmx) => [
-         q(3994),
+         q(3996),
          q(0),
          ],
       q(lmy) => [
-         q(3995),
+         q(3997),
          q(0),
          ],
       q(lmz) => [
-         q(3996),
+         q(3998),
          q(0),
          ],
       q(lna) => [
-         q(3997),
+         q(3999),
          q(0),
          ],
       q(lnb) => [
-         q(3998),
+         q(4000),
          q(0),
          ],
       q(lnd) => [
-         q(3999),
+         q(4001),
          q(0),
          ],
       q(lng) => [
-         q(4000),
+         q(4002),
          q(0),
          ],
       q(lnh) => [
-         q(4001),
+         q(4003),
          q(0),
          ],
       q(lni) => [
-         q(4002),
+         q(4004),
          q(0),
          ],
       q(lnj) => [
-         q(4003),
+         q(4005),
          q(0),
          ],
       q(lnl) => [
-         q(4004),
+         q(4006),
          q(0),
          ],
       q(lnm) => [
-         q(4005),
+         q(4007),
          q(0),
          ],
       q(lnn) => [
-         q(4006),
+         q(4008),
          q(0),
          ],
       q(lno) => [
-         q(4007),
+         q(4009),
          q(0),
          ],
       q(lns) => [
-         q(4008),
+         q(4010),
          q(0),
          ],
       q(lnu) => [
-         q(4009),
+         q(4011),
          q(0),
          ],
       q(lnw) => [
-         q(4010),
+         q(4012),
          q(0),
          ],
       q(lnz) => [
-         q(4011),
+         q(4013),
          q(0),
          ],
       q(loa) => [
-         q(4012),
+         q(4014),
          q(0),
          ],
       q(lob) => [
-         q(4013),
+         q(4015),
          q(0),
          ],
       q(loc) => [
-         q(4014),
+         q(4016),
          q(0),
          ],
       q(loe) => [
-         q(4015),
+         q(4017),
          q(0),
          ],
       q(lof) => [
-         q(4016),
+         q(4018),
          q(0),
          ],
       q(log) => [
-         q(4017),
+         q(4019),
          q(0),
          ],
       q(loh) => [
-         q(4018),
+         q(4020),
          q(0),
          ],
       q(loi) => [
-         q(4019),
+         q(4021),
          q(0),
          ],
       q(loj) => [
-         q(4020),
+         q(4022),
          q(0),
          ],
       q(lok) => [
-         q(4021),
+         q(4023),
          q(0),
          ],
       q(lol) => [
@@ -73350,55 +73368,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lom) => [
-         q(4022),
+         q(4024),
          q(0),
          ],
       q(lon) => [
-         q(4023),
+         q(4025),
          q(0),
          ],
       q(loo) => [
-         q(4024),
+         q(4026),
          q(0),
          ],
       q(lop) => [
-         q(4025),
+         q(4027),
          q(0),
          ],
       q(loq) => [
-         q(4026),
+         q(4028),
          q(0),
          ],
       q(lor) => [
-         q(4027),
+         q(4029),
          q(0),
          ],
       q(los) => [
-         q(4028),
+         q(4030),
          q(0),
          ],
       q(lot) => [
-         q(4029),
+         q(4031),
          q(0),
          ],
       q(lou) => [
-         q(4030),
+         q(4032),
          q(0),
          ],
       q(lov) => [
-         q(4031),
+         q(4033),
          q(0),
          ],
       q(low) => [
-         q(4032),
+         q(4034),
          q(0),
          ],
       q(lox) => [
-         q(4033),
+         q(4035),
          q(0),
          ],
       q(loy) => [
-         q(4034),
+         q(4036),
          q(0),
          ],
       q(loz) => [
@@ -73406,163 +73424,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lpa) => [
-         q(4035),
+         q(4037),
          q(0),
          ],
       q(lpe) => [
-         q(4036),
+         q(4038),
          q(0),
          ],
       q(lpn) => [
-         q(4037),
+         q(4039),
          q(0),
          ],
       q(lpo) => [
-         q(4038),
+         q(4040),
          q(0),
          ],
       q(lpx) => [
-         q(4039),
+         q(4041),
          q(0),
          ],
       q(lra) => [
-         q(4040),
+         q(4042),
          q(0),
          ],
       q(lrc) => [
-         q(4041),
+         q(4043),
          q(0),
          ],
       q(lre) => [
-         q(4042),
+         q(4044),
          q(0),
          ],
       q(lrg) => [
-         q(4043),
+         q(4045),
          q(0),
          ],
       q(lri) => [
-         q(4044),
+         q(4046),
          q(0),
          ],
       q(lrk) => [
-         q(4045),
+         q(4047),
          q(0),
          ],
       q(lrl) => [
-         q(4046),
+         q(4048),
          q(0),
          ],
       q(lrm) => [
-         q(4047),
+         q(4049),
          q(0),
          ],
       q(lrn) => [
-         q(4048),
+         q(4050),
          q(0),
          ],
       q(lro) => [
-         q(4049),
+         q(4051),
          q(0),
          ],
       q(lrr) => [
-         q(4050),
+         q(4052),
          q(0),
          ],
       q(lrt) => [
-         q(4051),
+         q(4053),
          q(0),
          ],
       q(lrv) => [
-         q(4052),
+         q(4054),
          q(0),
          ],
       q(lrz) => [
-         q(4053),
+         q(4055),
          q(0),
          ],
       q(lsa) => [
-         q(4054),
+         q(4056),
          q(0),
          ],
       q(lsd) => [
-         q(4055),
+         q(4057),
          q(0),
          ],
       q(lse) => [
-         q(4056),
+         q(4058),
          q(0),
          ],
       q(lsg) => [
-         q(4057),
+         q(4059),
          q(0),
          ],
       q(lsh) => [
-         q(4058),
+         q(4060),
          q(0),
          ],
       q(lsi) => [
-         q(4059),
+         q(4061),
          q(0),
          ],
       q(lsl) => [
-         q(4060),
+         q(4062),
          q(0),
          ],
       q(lsm) => [
-         q(4061),
+         q(4063),
          q(0),
          ],
       q(lso) => [
-         q(4062),
+         q(4064),
          q(0),
          ],
       q(lsp) => [
-         q(4063),
+         q(4065),
          q(0),
          ],
       q(lsr) => [
-         q(4064),
+         q(4066),
          q(0),
          ],
       q(lss) => [
-         q(4065),
+         q(4067),
          q(0),
          ],
       q(lst) => [
-         q(4066),
+         q(4068),
          q(0),
          ],
       q(lsy) => [
-         q(4067),
+         q(4069),
          q(0),
          ],
       q(ltc) => [
-         q(4068),
+         q(4070),
          q(0),
          ],
       q(ltg) => [
-         q(4069),
+         q(4071),
          q(0),
          ],
       q(lti) => [
-         q(4070),
+         q(4072),
          q(0),
          ],
       q(ltn) => [
-         q(4071),
+         q(4073),
          q(0),
          ],
       q(lto) => [
-         q(4072),
+         q(4074),
          q(0),
          ],
       q(lts) => [
-         q(4073),
+         q(4075),
          q(0),
          ],
       q(ltu) => [
-         q(4074),
+         q(4076),
          q(0),
          ],
       q(ltz) => [
@@ -73578,19 +73596,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(luc) => [
-         q(4075),
+         q(4077),
          q(0),
          ],
       q(lud) => [
-         q(4076),
+         q(4078),
          q(0),
          ],
       q(lue) => [
-         q(4077),
+         q(4079),
          q(0),
          ],
       q(luf) => [
-         q(4078),
+         q(4080),
          q(0),
          ],
       q(lug) => [
@@ -73602,19 +73620,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(luj) => [
-         q(4079),
+         q(4081),
          q(0),
          ],
       q(luk) => [
-         q(4080),
+         q(4082),
          q(0),
          ],
       q(lul) => [
-         q(4081),
+         q(4083),
          q(0),
          ],
       q(lum) => [
-         q(4082),
+         q(4084),
          q(0),
          ],
       q(lun) => [
@@ -73626,15 +73644,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lup) => [
-         q(4083),
+         q(4085),
          q(0),
          ],
       q(luq) => [
-         q(4084),
+         q(4086),
          q(0),
          ],
       q(lur) => [
-         q(4085),
+         q(4087),
          q(0),
          ],
       q(lus) => [
@@ -73642,119 +73660,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(lut) => [
-         q(4086),
+         q(4088),
          q(0),
          ],
       q(luu) => [
-         q(4087),
+         q(4089),
          q(0),
          ],
       q(luv) => [
-         q(4088),
+         q(4090),
          q(0),
          ],
       q(luw) => [
-         q(4089),
+         q(4091),
          q(0),
          ],
       q(luy) => [
-         q(4090),
+         q(4092),
          q(0),
          ],
       q(luz) => [
-         q(4091),
+         q(4093),
          q(0),
          ],
       q(lva) => [
-         q(4092),
+         q(4094),
          q(0),
          ],
       q(lvk) => [
-         q(4093),
+         q(4095),
          q(0),
          ],
       q(lvs) => [
-         q(4094),
+         q(4096),
          q(0),
          ],
       q(lvu) => [
-         q(4095),
+         q(4097),
          q(0),
          ],
       q(lwa) => [
-         q(4096),
+         q(4098),
          q(0),
          ],
       q(lwe) => [
-         q(4097),
+         q(4099),
          q(0),
          ],
       q(lwg) => [
-         q(4098),
+         q(4100),
          q(0),
          ],
       q(lwh) => [
-         q(4099),
+         q(4101),
          q(0),
          ],
       q(lwl) => [
-         q(4100),
+         q(4102),
          q(0),
          ],
       q(lwm) => [
-         q(4101),
+         q(4103),
          q(0),
          ],
       q(lwo) => [
-         q(4102),
+         q(4104),
          q(0),
          ],
       q(lwt) => [
-         q(4103),
+         q(4105),
          q(0),
          ],
       q(lwu) => [
-         q(4104),
+         q(4106),
          q(0),
          ],
       q(lww) => [
-         q(4105),
+         q(4107),
          q(0),
          ],
       q(lya) => [
-         q(4106),
+         q(4108),
          q(0),
          ],
       q(lyg) => [
-         q(4107),
+         q(4109),
          q(0),
          ],
       q(lyn) => [
-         q(4108),
+         q(4110),
          q(0),
          ],
       q(lzh) => [
-         q(4109),
+         q(4111),
          q(0),
          ],
       q(lzl) => [
-         q(4110),
+         q(4112),
          q(0),
          ],
       q(lzn) => [
-         q(4111),
+         q(4113),
          q(0),
          ],
       q(lzz) => [
-         q(4112),
+         q(4114),
          q(0),
          ],
       q(maa) => [
-         q(4113),
+         q(4115),
          q(0),
          ],
       q(mab) => [
-         q(4114),
+         q(4116),
          q(0),
          ],
       q(mac) => [
@@ -73766,11 +73784,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mae) => [
-         q(4115),
+         q(4117),
          q(0),
          ],
       q(maf) => [
-         q(4116),
+         q(4118),
          q(0),
          ],
       q(mag) => [
@@ -73786,7 +73804,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(maj) => [
-         q(4117),
+         q(4119),
          q(0),
          ],
       q(mak) => [
@@ -73798,7 +73816,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mam) => [
-         q(4118),
+         q(4120),
          q(0),
          ],
       q(man) => [
@@ -73814,7 +73832,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(maq) => [
-         q(4119),
+         q(4121),
          q(0),
          ],
       q(mar) => [
@@ -73826,23 +73844,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mat) => [
-         q(4120),
+         q(4122),
          q(0),
          ],
       q(mau) => [
-         q(4121),
+         q(4123),
          q(0),
          ],
       q(mav) => [
-         q(4122),
+         q(4124),
          q(0),
          ],
       q(maw) => [
-         q(4123),
+         q(4125),
          q(0),
          ],
       q(max) => [
-         q(4124),
+         q(4126),
          q(0),
          ],
       q(may) => [
@@ -73850,231 +73868,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(maz) => [
-         q(4125),
+         q(4127),
          q(0),
          ],
       q(mba) => [
-         q(4126),
+         q(4128),
          q(0),
          ],
       q(mbb) => [
-         q(4127),
+         q(4129),
          q(0),
          ],
       q(mbc) => [
-         q(4128),
+         q(4130),
          q(0),
          ],
       q(mbd) => [
-         q(4129),
+         q(4131),
          q(0),
          ],
       q(mbe) => [
-         q(4130),
+         q(4132),
          q(0),
          ],
       q(mbf) => [
-         q(4131),
+         q(4133),
          q(0),
          ],
       q(mbh) => [
-         q(4132),
+         q(4134),
          q(0),
          ],
       q(mbi) => [
-         q(4133),
+         q(4135),
          q(0),
          ],
       q(mbj) => [
-         q(4134),
+         q(4136),
          q(0),
          ],
       q(mbk) => [
-         q(4135),
+         q(4137),
          q(0),
          ],
       q(mbl) => [
-         q(4136),
+         q(4138),
          q(0),
          ],
       q(mbm) => [
-         q(4137),
+         q(4139),
          q(0),
          ],
       q(mbn) => [
-         q(4138),
+         q(4140),
          q(0),
          ],
       q(mbo) => [
-         q(4139),
+         q(4141),
          q(0),
          ],
       q(mbp) => [
-         q(4140),
+         q(4142),
          q(0),
          ],
       q(mbq) => [
-         q(4141),
+         q(4143),
          q(0),
          ],
       q(mbr) => [
-         q(4142),
+         q(4144),
          q(0),
          ],
       q(mbs) => [
-         q(4143),
+         q(4145),
          q(0),
          ],
       q(mbt) => [
-         q(4144),
+         q(4146),
          q(0),
          ],
       q(mbu) => [
-         q(4145),
+         q(4147),
          q(0),
          ],
       q(mbv) => [
-         q(4146),
+         q(4148),
          q(0),
          ],
       q(mbw) => [
-         q(4147),
+         q(4149),
          q(0),
          ],
       q(mbx) => [
-         q(4148),
+         q(4150),
          q(0),
          ],
       q(mby) => [
-         q(4149),
+         q(4151),
          q(0),
          ],
       q(mbz) => [
-         q(4150),
+         q(4152),
          q(0),
          ],
       q(mca) => [
-         q(4151),
+         q(4153),
          q(0),
          ],
       q(mcb) => [
-         q(4152),
+         q(4154),
          q(0),
          ],
       q(mcc) => [
-         q(4153),
+         q(4155),
          q(0),
          ],
       q(mcd) => [
-         q(4154),
+         q(4156),
          q(0),
          ],
       q(mce) => [
-         q(4155),
+         q(4157),
          q(0),
          ],
       q(mcf) => [
-         q(4156),
+         q(4158),
          q(0),
          ],
       q(mcg) => [
-         q(4157),
+         q(4159),
          q(0),
          ],
       q(mch) => [
-         q(4158),
+         q(4160),
          q(0),
          ],
       q(mci) => [
-         q(4159),
+         q(4161),
          q(0),
          ],
       q(mcj) => [
-         q(4160),
+         q(4162),
          q(0),
          ],
       q(mck) => [
-         q(4161),
+         q(4163),
          q(0),
          ],
       q(mcl) => [
-         q(4162),
+         q(4164),
          q(0),
          ],
       q(mcm) => [
-         q(4163),
+         q(4165),
          q(0),
          ],
       q(mcn) => [
-         q(4164),
+         q(4166),
          q(0),
          ],
       q(mco) => [
-         q(4165),
+         q(4167),
          q(0),
          ],
       q(mcp) => [
-         q(4166),
+         q(4168),
          q(0),
          ],
       q(mcq) => [
-         q(4167),
+         q(4169),
          q(0),
          ],
       q(mcr) => [
-         q(4168),
+         q(4170),
          q(0),
          ],
       q(mcs) => [
-         q(4169),
+         q(4171),
          q(0),
          ],
       q(mct) => [
-         q(4170),
+         q(4172),
          q(0),
          ],
       q(mcu) => [
-         q(4171),
+         q(4173),
          q(0),
          ],
       q(mcv) => [
-         q(4172),
+         q(4174),
          q(0),
          ],
       q(mcw) => [
-         q(4173),
+         q(4175),
          q(0),
          ],
       q(mcx) => [
-         q(4174),
+         q(4176),
          q(0),
          ],
       q(mcy) => [
-         q(4175),
+         q(4177),
          q(0),
          ],
       q(mcz) => [
-         q(4176),
+         q(4178),
          q(0),
          ],
       q(mda) => [
-         q(4177),
+         q(4179),
          q(0),
          ],
       q(mdb) => [
-         q(4178),
+         q(4180),
          q(0),
          ],
       q(mdc) => [
-         q(4179),
+         q(4181),
          q(0),
          ],
       q(mdd) => [
-         q(4180),
+         q(4182),
          q(0),
          ],
       q(mde) => [
-         q(4181),
+         q(4183),
          q(0),
          ],
       q(mdf) => [
@@ -74082,43 +74100,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mdg) => [
-         q(4182),
+         q(4184),
          q(0),
          ],
       q(mdh) => [
-         q(4183),
+         q(4185),
          q(0),
          ],
       q(mdi) => [
-         q(4184),
+         q(4186),
          q(0),
          ],
       q(mdj) => [
-         q(4185),
+         q(4187),
          q(0),
          ],
       q(mdk) => [
-         q(4186),
+         q(4188),
          q(0),
          ],
       q(mdl) => [
-         q(4187),
+         q(4189),
          q(0),
          ],
       q(mdm) => [
-         q(4188),
+         q(4190),
          q(0),
          ],
       q(mdn) => [
-         q(4189),
+         q(4191),
          q(0),
          ],
       q(mdp) => [
-         q(4190),
+         q(4192),
          q(0),
          ],
       q(mdq) => [
-         q(4191),
+         q(4193),
          q(0),
          ],
       q(mdr) => [
@@ -74126,83 +74144,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mds) => [
-         q(4192),
+         q(4194),
          q(0),
          ],
       q(mdt) => [
-         q(4193),
+         q(4195),
          q(0),
          ],
       q(mdu) => [
-         q(4194),
+         q(4196),
          q(0),
          ],
       q(mdv) => [
-         q(4195),
+         q(4197),
          q(0),
          ],
       q(mdw) => [
-         q(4196),
+         q(4198),
          q(0),
          ],
       q(mdx) => [
-         q(4197),
+         q(4199),
          q(0),
          ],
       q(mdy) => [
-         q(4198),
+         q(4200),
          q(0),
          ],
       q(mdz) => [
-         q(4199),
+         q(4201),
          q(0),
          ],
       q(mea) => [
-         q(4200),
+         q(4202),
          q(0),
          ],
       q(meb) => [
-         q(4201),
+         q(4203),
          q(0),
          ],
       q(mec) => [
-         q(4202),
+         q(4204),
          q(0),
          ],
       q(med) => [
-         q(4203),
+         q(4205),
          q(0),
          ],
       q(mee) => [
-         q(4204),
+         q(4206),
          q(0),
          ],
       q(mef) => [
-         q(4205),
+         q(4207),
          q(0),
          ],
       q(meh) => [
-         q(4206),
+         q(4208),
          q(0),
          ],
       q(mei) => [
-         q(4207),
+         q(4209),
          q(0),
          ],
       q(mej) => [
-         q(4208),
+         q(4210),
          q(0),
          ],
       q(mek) => [
-         q(4209),
+         q(4211),
          q(0),
          ],
       q(mel) => [
-         q(4210),
+         q(4212),
          q(0),
          ],
       q(mem) => [
-         q(4211),
+         q(4213),
          q(0),
          ],
       q(men) => [
@@ -74210,151 +74228,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(meo) => [
-         q(4212),
+         q(4214),
          q(0),
          ],
       q(mep) => [
-         q(4213),
+         q(4215),
          q(0),
          ],
       q(meq) => [
-         q(4214),
+         q(4216),
          q(0),
          ],
       q(mer) => [
-         q(4215),
+         q(4217),
          q(0),
          ],
       q(mes) => [
-         q(4216),
+         q(4218),
          q(0),
          ],
       q(met) => [
-         q(4217),
+         q(4219),
          q(0),
          ],
       q(meu) => [
-         q(4218),
+         q(4220),
          q(0),
          ],
       q(mev) => [
-         q(4219),
+         q(4221),
          q(0),
          ],
       q(mew) => [
-         q(4220),
+         q(4222),
          q(0),
          ],
       q(mey) => [
-         q(4221),
+         q(4223),
          q(0),
          ],
       q(mez) => [
-         q(4222),
+         q(4224),
          q(0),
          ],
       q(mfa) => [
-         q(4223),
+         q(4225),
          q(0),
          ],
       q(mfb) => [
-         q(4224),
+         q(4226),
          q(0),
          ],
       q(mfc) => [
-         q(4225),
+         q(4227),
          q(0),
          ],
       q(mfd) => [
-         q(4226),
+         q(4228),
          q(0),
          ],
       q(mfe) => [
-         q(4227),
+         q(4229),
          q(0),
          ],
       q(mff) => [
-         q(4228),
+         q(4230),
          q(0),
          ],
       q(mfg) => [
-         q(4229),
+         q(4231),
          q(0),
          ],
       q(mfh) => [
-         q(4230),
+         q(4232),
          q(0),
          ],
       q(mfi) => [
-         q(4231),
+         q(4233),
          q(0),
          ],
       q(mfj) => [
-         q(4232),
+         q(4234),
          q(0),
          ],
       q(mfk) => [
-         q(4233),
+         q(4235),
          q(0),
          ],
       q(mfl) => [
-         q(4234),
+         q(4236),
          q(0),
          ],
       q(mfm) => [
-         q(4235),
+         q(4237),
          q(0),
          ],
       q(mfn) => [
-         q(4236),
+         q(4238),
          q(0),
          ],
       q(mfo) => [
-         q(4237),
+         q(4239),
          q(0),
          ],
       q(mfp) => [
-         q(4238),
+         q(4240),
          q(0),
          ],
       q(mfq) => [
-         q(4239),
+         q(4241),
          q(0),
          ],
       q(mfr) => [
-         q(4240),
+         q(4242),
          q(0),
          ],
       q(mfs) => [
-         q(4241),
+         q(4243),
          q(0),
          ],
       q(mft) => [
-         q(4242),
+         q(4244),
          q(0),
          ],
       q(mfu) => [
-         q(4243),
+         q(4245),
          q(0),
          ],
       q(mfv) => [
-         q(4244),
+         q(4246),
          q(0),
          ],
       q(mfw) => [
-         q(4245),
+         q(4247),
          q(0),
          ],
       q(mfx) => [
-         q(4246),
+         q(4248),
          q(0),
          ],
       q(mfy) => [
-         q(4247),
+         q(4249),
          q(0),
          ],
       q(mfz) => [
-         q(4248),
+         q(4250),
          q(0),
          ],
       q(mga) => [
@@ -74362,203 +74380,203 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(mgb) => [
-         q(4249),
+         q(4251),
          q(0),
          ],
       q(mgc) => [
-         q(4250),
+         q(4252),
          q(0),
          ],
       q(mgd) => [
-         q(4251),
+         q(4253),
          q(0),
          ],
       q(mge) => [
-         q(4252),
+         q(4254),
          q(0),
          ],
       q(mgf) => [
-         q(4253),
+         q(4255),
          q(0),
          ],
       q(mgg) => [
-         q(4254),
+         q(4256),
          q(0),
          ],
       q(mgh) => [
-         q(4255),
+         q(4257),
          q(0),
          ],
       q(mgi) => [
-         q(4256),
+         q(4258),
          q(0),
          ],
       q(mgj) => [
-         q(4257),
+         q(4259),
          q(0),
          ],
       q(mgk) => [
-         q(4258),
+         q(4260),
          q(0),
          ],
       q(mgl) => [
-         q(4259),
+         q(4261),
          q(0),
          ],
       q(mgm) => [
-         q(4260),
+         q(4262),
          q(0),
          ],
       q(mgn) => [
-         q(4261),
+         q(4263),
          q(0),
          ],
       q(mgo) => [
-         q(4262),
+         q(4264),
          q(0),
          ],
       q(mgp) => [
-         q(4263),
+         q(4265),
          q(0),
          ],
       q(mgq) => [
-         q(4264),
+         q(4266),
          q(0),
          ],
       q(mgr) => [
-         q(4265),
+         q(4267),
          q(0),
          ],
       q(mgs) => [
-         q(4266),
+         q(4268),
          q(0),
          ],
       q(mgt) => [
-         q(4267),
+         q(4269),
          q(0),
          ],
       q(mgu) => [
-         q(4268),
+         q(4270),
          q(0),
          ],
       q(mgv) => [
-         q(4269),
+         q(4271),
          q(0),
          ],
       q(mgw) => [
-         q(4270),
+         q(4272),
          q(0),
          ],
       q(mgy) => [
-         q(4271),
+         q(4273),
          q(0),
          ],
       q(mgz) => [
-         q(4272),
+         q(4274),
          q(0),
          ],
       q(mha) => [
-         q(4273),
+         q(4275),
          q(0),
          ],
       q(mhb) => [
-         q(4274),
+         q(4276),
          q(0),
          ],
       q(mhc) => [
-         q(4275),
+         q(4277),
          q(0),
          ],
       q(mhd) => [
-         q(4276),
+         q(4278),
          q(0),
          ],
       q(mhe) => [
-         q(4277),
+         q(4279),
          q(0),
          ],
       q(mhf) => [
-         q(4278),
+         q(4280),
          q(0),
          ],
       q(mhg) => [
-         q(4279),
+         q(4281),
          q(0),
          ],
       q(mhi) => [
-         q(4280),
+         q(4282),
          q(0),
          ],
       q(mhj) => [
-         q(4281),
+         q(4283),
          q(0),
          ],
       q(mhk) => [
-         q(4282),
+         q(4284),
          q(0),
          ],
       q(mhl) => [
-         q(4283),
+         q(4285),
          q(0),
          ],
       q(mhm) => [
-         q(4284),
+         q(4286),
          q(0),
          ],
       q(mhn) => [
-         q(4285),
+         q(4287),
          q(0),
          ],
       q(mho) => [
-         q(4286),
+         q(4288),
          q(0),
          ],
       q(mhp) => [
-         q(4287),
+         q(4289),
          q(0),
          ],
       q(mhq) => [
-         q(4288),
+         q(4290),
          q(0),
          ],
       q(mhr) => [
-         q(4289),
+         q(4291),
          q(0),
          ],
       q(mhs) => [
-         q(4290),
+         q(4292),
          q(0),
          ],
       q(mht) => [
-         q(4291),
+         q(4293),
          q(0),
          ],
       q(mhu) => [
-         q(4292),
+         q(4294),
          q(0),
          ],
       q(mhw) => [
-         q(4293),
+         q(4295),
          q(0),
          ],
       q(mhx) => [
-         q(4294),
+         q(4296),
          q(0),
          ],
       q(mhy) => [
-         q(4295),
+         q(4297),
          q(0),
          ],
       q(mhz) => [
-         q(4296),
+         q(4298),
          q(0),
          ],
       q(mia) => [
-         q(4297),
+         q(4299),
          q(0),
          ],
       q(mib) => [
-         q(4298),
+         q(4300),
          q(0),
          ],
       q(mic) => [
@@ -74566,43 +74584,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mid) => [
-         q(4299),
+         q(4301),
          q(0),
          ],
       q(mie) => [
-         q(4300),
+         q(4302),
          q(0),
          ],
       q(mif) => [
-         q(4301),
+         q(4303),
          q(0),
          ],
       q(mig) => [
-         q(4302),
+         q(4304),
          q(0),
          ],
       q(mih) => [
-         q(4303),
+         q(4305),
          q(0),
          ],
       q(mii) => [
-         q(4304),
+         q(4306),
          q(0),
          ],
       q(mij) => [
-         q(4305),
+         q(4307),
          q(0),
          ],
       q(mik) => [
-         q(4306),
+         q(4308),
          q(0),
          ],
       q(mil) => [
-         q(4307),
+         q(4309),
          q(0),
          ],
       q(mim) => [
-         q(4308),
+         q(4310),
          q(0),
          ],
       q(min) => [
@@ -74610,19 +74628,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mio) => [
-         q(4309),
+         q(4311),
          q(0),
          ],
       q(mip) => [
-         q(4310),
+         q(4312),
          q(0),
          ],
       q(miq) => [
-         q(4311),
+         q(4313),
          q(0),
          ],
       q(mir) => [
-         q(4312),
+         q(4314),
          q(0),
          ],
       q(mis) => [
@@ -74630,143 +74648,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mit) => [
-         q(4313),
+         q(4315),
          q(0),
          ],
       q(miu) => [
-         q(4314),
+         q(4316),
          q(0),
          ],
       q(miw) => [
-         q(4315),
+         q(4317),
          q(0),
          ],
       q(mix) => [
-         q(4316),
+         q(4318),
          q(0),
          ],
       q(miy) => [
-         q(4317),
+         q(4319),
          q(0),
          ],
       q(miz) => [
-         q(4318),
+         q(4320),
          q(0),
          ],
       q(mjc) => [
-         q(4319),
+         q(4321),
          q(0),
          ],
       q(mjd) => [
-         q(4320),
+         q(4322),
          q(0),
          ],
       q(mje) => [
-         q(4321),
+         q(4323),
          q(0),
          ],
       q(mjg) => [
-         q(4322),
+         q(4324),
          q(0),
          ],
       q(mjh) => [
-         q(4323),
+         q(4325),
          q(0),
          ],
       q(mji) => [
-         q(4324),
+         q(4326),
          q(0),
          ],
       q(mjj) => [
-         q(4325),
+         q(4327),
          q(0),
          ],
       q(mjk) => [
-         q(4326),
+         q(4328),
          q(0),
          ],
       q(mjl) => [
-         q(4327),
+         q(4329),
          q(0),
          ],
       q(mjm) => [
-         q(4328),
+         q(4330),
          q(0),
          ],
       q(mjn) => [
-         q(4329),
+         q(4331),
          q(0),
          ],
       q(mjo) => [
-         q(4330),
+         q(4332),
          q(0),
          ],
       q(mjp) => [
-         q(4331),
+         q(4333),
          q(0),
          ],
       q(mjq) => [
-         q(4332),
+         q(4334),
          q(0),
          ],
       q(mjr) => [
-         q(4333),
+         q(4335),
          q(0),
          ],
       q(mjs) => [
-         q(4334),
+         q(4336),
          q(0),
          ],
       q(mjt) => [
-         q(4335),
+         q(4337),
          q(0),
          ],
       q(mju) => [
-         q(4336),
+         q(4338),
          q(0),
          ],
       q(mjv) => [
-         q(4337),
+         q(4339),
          q(0),
          ],
       q(mjw) => [
-         q(4338),
+         q(4340),
          q(0),
          ],
       q(mjx) => [
-         q(4339),
+         q(4341),
          q(0),
          ],
       q(mjy) => [
-         q(4340),
+         q(4342),
          q(0),
          ],
       q(mjz) => [
-         q(4341),
+         q(4343),
          q(0),
          ],
       q(mka) => [
-         q(4342),
+         q(4344),
          q(0),
          ],
       q(mkb) => [
-         q(4343),
+         q(4345),
          q(0),
          ],
       q(mkc) => [
-         q(4344),
+         q(4346),
          q(0),
          ],
       q(mke) => [
-         q(4345),
+         q(4347),
          q(0),
          ],
       q(mkf) => [
-         q(4346),
+         q(4348),
          q(0),
          ],
       q(mkg) => [
-         q(4347),
+         q(4349),
          q(0),
          ],
       q(mkh) => [
@@ -74774,95 +74792,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mki) => [
-         q(4348),
+         q(4350),
          q(0),
          ],
       q(mkj) => [
-         q(4349),
+         q(4351),
          q(0),
          ],
       q(mkk) => [
-         q(4350),
+         q(4352),
          q(0),
          ],
       q(mkl) => [
-         q(4351),
+         q(4353),
          q(0),
          ],
       q(mkm) => [
-         q(4352),
+         q(4354),
          q(0),
          ],
       q(mkn) => [
-         q(4353),
+         q(4355),
          q(0),
          ],
       q(mko) => [
-         q(4354),
+         q(4356),
          q(0),
          ],
       q(mkp) => [
-         q(4355),
+         q(4357),
          q(0),
          ],
       q(mkq) => [
-         q(4356),
+         q(4358),
          q(0),
          ],
       q(mkr) => [
-         q(4357),
+         q(4359),
          q(0),
          ],
       q(mks) => [
-         q(4358),
+         q(4360),
          q(0),
          ],
       q(mkt) => [
-         q(4359),
+         q(4361),
          q(0),
          ],
       q(mku) => [
-         q(4360),
+         q(4362),
          q(0),
          ],
       q(mkv) => [
-         q(4361),
+         q(4363),
          q(0),
          ],
       q(mkw) => [
-         q(4362),
+         q(4364),
          q(0),
          ],
       q(mkx) => [
-         q(4363),
+         q(4365),
          q(0),
          ],
       q(mky) => [
-         q(4364),
+         q(4366),
          q(0),
          ],
       q(mkz) => [
-         q(4365),
+         q(4367),
          q(0),
          ],
       q(mla) => [
-         q(4366),
+         q(4368),
          q(0),
          ],
       q(mlb) => [
-         q(4367),
+         q(4369),
          q(0),
          ],
       q(mlc) => [
-         q(4368),
+         q(4370),
          q(0),
          ],
       q(mle) => [
-         q(4369),
+         q(4371),
          q(0),
          ],
       q(mlf) => [
-         q(4370),
+         q(4372),
          q(0),
          ],
       q(mlg) => [
@@ -74870,51 +74888,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mlh) => [
-         q(4371),
+         q(4373),
          q(0),
          ],
       q(mli) => [
-         q(4372),
+         q(4374),
          q(0),
          ],
       q(mlj) => [
-         q(4373),
+         q(4375),
          q(0),
          ],
       q(mlk) => [
-         q(4374),
+         q(4376),
          q(0),
          ],
       q(mll) => [
-         q(4375),
+         q(4377),
          q(0),
          ],
       q(mlm) => [
-         q(4376),
+         q(4378),
          q(0),
          ],
       q(mln) => [
-         q(4377),
+         q(4379),
          q(0),
          ],
       q(mlo) => [
-         q(4378),
+         q(4380),
          q(0),
          ],
       q(mlp) => [
-         q(4379),
+         q(4381),
          q(0),
          ],
       q(mlq) => [
-         q(4380),
+         q(4382),
          q(0),
          ],
       q(mlr) => [
-         q(4381),
+         q(4383),
          q(0),
          ],
       q(mls) => [
-         q(4382),
+         q(4384),
          q(0),
          ],
       q(mlt) => [
@@ -74922,131 +74940,131 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mlu) => [
-         q(4383),
+         q(4385),
          q(0),
          ],
       q(mlv) => [
-         q(4384),
+         q(4386),
          q(0),
          ],
       q(mlw) => [
-         q(4385),
+         q(4387),
          q(0),
          ],
       q(mlx) => [
-         q(4386),
+         q(4388),
          q(0),
          ],
       q(mlz) => [
-         q(4387),
+         q(4389),
          q(0),
          ],
       q(mma) => [
-         q(4388),
+         q(4390),
          q(0),
          ],
       q(mmb) => [
-         q(4389),
+         q(4391),
          q(0),
          ],
       q(mmc) => [
-         q(4390),
+         q(4392),
          q(0),
          ],
       q(mmd) => [
-         q(4391),
+         q(4393),
          q(0),
          ],
       q(mme) => [
-         q(4392),
+         q(4394),
          q(0),
          ],
       q(mmf) => [
-         q(4393),
+         q(4395),
          q(0),
          ],
       q(mmg) => [
-         q(4394),
+         q(4396),
          q(0),
          ],
       q(mmh) => [
-         q(4395),
+         q(4397),
          q(0),
          ],
       q(mmi) => [
-         q(4396),
+         q(4398),
          q(0),
          ],
       q(mmj) => [
-         q(4397),
+         q(4399),
          q(0),
          ],
       q(mmk) => [
-         q(4398),
+         q(4400),
          q(0),
          ],
       q(mml) => [
-         q(4399),
+         q(4401),
          q(0),
          ],
       q(mmm) => [
-         q(4400),
+         q(4402),
          q(0),
          ],
       q(mmn) => [
-         q(4401),
+         q(4403),
          q(0),
          ],
       q(mmo) => [
-         q(4402),
+         q(4404),
          q(0),
          ],
       q(mmp) => [
-         q(4403),
+         q(4405),
          q(0),
          ],
       q(mmq) => [
-         q(4404),
+         q(4406),
          q(0),
          ],
       q(mmr) => [
-         q(4405),
+         q(4407),
          q(0),
          ],
       q(mmt) => [
-         q(4406),
+         q(4408),
          q(0),
          ],
       q(mmu) => [
-         q(4407),
+         q(4409),
          q(0),
          ],
       q(mmv) => [
-         q(4408),
+         q(4410),
          q(0),
          ],
       q(mmw) => [
-         q(4409),
+         q(4411),
          q(0),
          ],
       q(mmx) => [
-         q(4410),
+         q(4412),
          q(0),
          ],
       q(mmy) => [
-         q(4411),
+         q(4413),
          q(0),
          ],
       q(mmz) => [
-         q(4412),
+         q(4414),
          q(0),
          ],
       q(mna) => [
-         q(4413),
+         q(4415),
          q(0),
          ],
       q(mnb) => [
-         q(4414),
+         q(4416),
          q(0),
          ],
       q(mnc) => [
@@ -75054,23 +75072,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mnd) => [
-         q(4415),
+         q(4417),
          q(0),
          ],
       q(mne) => [
-         q(4416),
+         q(4418),
          q(0),
          ],
       q(mnf) => [
-         q(4417),
+         q(4419),
          q(0),
          ],
       q(mng) => [
-         q(4418),
+         q(4420),
          q(0),
          ],
       q(mnh) => [
-         q(4419),
+         q(4421),
          q(0),
          ],
       q(mni) => [
@@ -75078,23 +75096,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mnj) => [
-         q(4420),
+         q(4422),
          q(0),
          ],
       q(mnk) => [
-         q(4421),
+         q(4423),
          q(0),
          ],
       q(mnl) => [
-         q(4422),
+         q(4424),
          q(0),
          ],
       q(mnm) => [
-         q(4423),
+         q(4425),
          q(0),
          ],
       q(mnn) => [
-         q(4424),
+         q(4426),
          q(0),
          ],
       q(mno) => [
@@ -75102,63 +75120,63 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mnp) => [
-         q(4425),
+         q(4427),
          q(0),
          ],
       q(mnq) => [
-         q(4426),
+         q(4428),
          q(0),
          ],
       q(mnr) => [
-         q(4427),
+         q(4429),
          q(0),
          ],
       q(mns) => [
-         q(4428),
+         q(4430),
          q(0),
          ],
       q(mnu) => [
-         q(4429),
+         q(4431),
          q(0),
          ],
       q(mnv) => [
-         q(4430),
+         q(4432),
          q(0),
          ],
       q(mnw) => [
-         q(4431),
+         q(4433),
          q(0),
          ],
       q(mnx) => [
-         q(4432),
+         q(4434),
          q(0),
          ],
       q(mny) => [
-         q(4433),
+         q(4435),
          q(0),
          ],
       q(mnz) => [
-         q(4434),
+         q(4436),
          q(0),
          ],
       q(moa) => [
-         q(4435),
+         q(4437),
          q(0),
          ],
       q(moc) => [
-         q(4436),
+         q(4438),
          q(0),
          ],
       q(mod) => [
-         q(4437),
+         q(4439),
          q(0),
          ],
       q(moe) => [
-         q(4438),
+         q(4440),
          q(0),
          ],
       q(mog) => [
-         q(4439),
+         q(4441),
          q(0),
          ],
       q(moh) => [
@@ -75166,19 +75184,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(moi) => [
-         q(4440),
+         q(4442),
          q(0),
          ],
       q(moj) => [
-         q(4441),
+         q(4443),
          q(0),
          ],
       q(mok) => [
-         q(4442),
+         q(4444),
          q(0),
          ],
       q(mom) => [
-         q(4443),
+         q(4445),
          q(0),
          ],
       q(mon) => [
@@ -75186,19 +75204,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(moo) => [
-         q(4444),
+         q(4446),
          q(0),
          ],
       q(mop) => [
-         q(4445),
+         q(4447),
          q(0),
          ],
       q(moq) => [
-         q(4446),
+         q(4448),
          q(0),
          ],
       q(mor) => [
-         q(4447),
+         q(4449),
          q(0),
          ],
       q(mos) => [
@@ -75206,567 +75224,567 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mot) => [
-         q(1135),
+         q(1136),
          q(0),
          ],
       q(mou) => [
-         q(4448),
+         q(4450),
          q(0),
          ],
       q(mov) => [
-         q(4449),
+         q(4451),
          q(0),
          ],
       q(mow) => [
-         q(4450),
+         q(4452),
          q(0),
          ],
       q(mox) => [
-         q(4451),
+         q(4453),
          q(0),
          ],
       q(moy) => [
-         q(4452),
+         q(4454),
          q(0),
          ],
       q(moz) => [
-         q(4453),
+         q(4455),
          q(0),
          ],
       q(mpa) => [
-         q(4454),
+         q(4456),
          q(0),
          ],
       q(mpb) => [
-         q(4455),
+         q(4457),
          q(0),
          ],
       q(mpc) => [
-         q(4456),
+         q(4458),
          q(0),
          ],
       q(mpd) => [
-         q(4457),
+         q(4459),
          q(0),
          ],
       q(mpe) => [
-         q(4458),
+         q(4460),
          q(0),
          ],
       q(mpg) => [
-         q(4459),
+         q(4461),
          q(0),
          ],
       q(mph) => [
-         q(4460),
+         q(4462),
          q(0),
          ],
       q(mpi) => [
-         q(4461),
+         q(4463),
          q(0),
          ],
       q(mpj) => [
-         q(4462),
+         q(4464),
          q(0),
          ],
       q(mpk) => [
-         q(4463),
+         q(4465),
          q(0),
          ],
       q(mpl) => [
-         q(4464),
+         q(4466),
          q(0),
          ],
       q(mpm) => [
-         q(4465),
+         q(4467),
          q(0),
          ],
       q(mpn) => [
-         q(4466),
+         q(4468),
          q(0),
          ],
       q(mpo) => [
-         q(4467),
+         q(4469),
          q(0),
          ],
       q(mpp) => [
-         q(4468),
+         q(4470),
          q(0),
          ],
       q(mpq) => [
-         q(4469),
+         q(4471),
          q(0),
          ],
       q(mpr) => [
-         q(4470),
+         q(4472),
          q(0),
          ],
       q(mps) => [
-         q(4471),
+         q(4473),
          q(0),
          ],
       q(mpt) => [
-         q(4472),
+         q(4474),
          q(0),
          ],
       q(mpu) => [
-         q(4473),
+         q(4475),
          q(0),
          ],
       q(mpv) => [
-         q(4474),
+         q(4476),
          q(0),
          ],
       q(mpw) => [
-         q(4475),
+         q(4477),
          q(0),
          ],
       q(mpx) => [
-         q(4476),
+         q(4478),
          q(0),
          ],
       q(mpy) => [
-         q(4477),
+         q(4479),
          q(0),
          ],
       q(mpz) => [
-         q(4478),
+         q(4480),
          q(0),
          ],
       q(mqa) => [
-         q(4479),
+         q(4481),
          q(0),
          ],
       q(mqb) => [
-         q(4480),
+         q(4482),
          q(0),
          ],
       q(mqc) => [
-         q(4481),
+         q(4483),
          q(0),
          ],
       q(mqe) => [
-         q(4482),
+         q(4484),
          q(0),
          ],
       q(mqf) => [
-         q(4483),
+         q(4485),
          q(0),
          ],
       q(mqg) => [
-         q(4484),
+         q(4486),
          q(0),
          ],
       q(mqh) => [
-         q(4485),
+         q(4487),
          q(0),
          ],
       q(mqi) => [
-         q(4486),
+         q(4488),
          q(0),
          ],
       q(mqj) => [
-         q(4487),
+         q(4489),
          q(0),
          ],
       q(mqk) => [
-         q(4488),
+         q(4490),
          q(0),
          ],
       q(mql) => [
-         q(4489),
+         q(4491),
          q(0),
          ],
       q(mqm) => [
-         q(4490),
+         q(4492),
          q(0),
          ],
       q(mqn) => [
-         q(4491),
+         q(4493),
          q(0),
          ],
       q(mqo) => [
-         q(4492),
+         q(4494),
          q(0),
          ],
       q(mqp) => [
-         q(4493),
+         q(4495),
          q(0),
          ],
       q(mqq) => [
-         q(4494),
+         q(4496),
          q(0),
          ],
       q(mqr) => [
-         q(4495),
+         q(4497),
          q(0),
          ],
       q(mqs) => [
-         q(4496),
+         q(4498),
          q(0),
          ],
       q(mqt) => [
-         q(4497),
+         q(4499),
          q(0),
          ],
       q(mqu) => [
-         q(4498),
+         q(4500),
          q(0),
          ],
       q(mqv) => [
-         q(4499),
+         q(4501),
          q(0),
          ],
       q(mqw) => [
-         q(4500),
+         q(4502),
          q(0),
          ],
       q(mqx) => [
-         q(4501),
+         q(4503),
          q(0),
          ],
       q(mqy) => [
-         q(4502),
+         q(4504),
          q(0),
          ],
       q(mqz) => [
-         q(4503),
+         q(4505),
          q(0),
          ],
       q(mra) => [
-         q(4504),
+         q(4506),
          q(0),
          ],
       q(mrb) => [
-         q(4505),
+         q(4507),
          q(0),
          ],
       q(mrc) => [
-         q(4506),
+         q(4508),
          q(0),
          ],
       q(mrd) => [
-         q(4507),
+         q(4509),
          q(0),
          ],
       q(mre) => [
-         q(4508),
+         q(4510),
          q(0),
          ],
       q(mrf) => [
-         q(4509),
+         q(4511),
          q(0),
          ],
       q(mrg) => [
-         q(4510),
+         q(4512),
          q(0),
          ],
       q(mrh) => [
-         q(4511),
+         q(4513),
          q(0),
          ],
       q(mrj) => [
-         q(4512),
+         q(4514),
          q(0),
          ],
       q(mrk) => [
-         q(4513),
+         q(4515),
          q(0),
          ],
       q(mrl) => [
-         q(4514),
+         q(4516),
          q(0),
          ],
       q(mrm) => [
-         q(4515),
+         q(4517),
          q(0),
          ],
       q(mrn) => [
-         q(4516),
+         q(4518),
          q(0),
          ],
       q(mro) => [
-         q(4517),
+         q(4519),
          q(0),
          ],
       q(mrp) => [
-         q(4518),
+         q(4520),
          q(0),
          ],
       q(mrq) => [
-         q(4519),
+         q(4521),
          q(0),
          ],
       q(mrr) => [
-         q(4520),
+         q(4522),
          q(0),
          ],
       q(mrs) => [
-         q(4521),
+         q(4523),
          q(0),
          ],
       q(mrt) => [
-         q(4522),
+         q(4524),
          q(0),
          ],
       q(mru) => [
-         q(4523),
+         q(4525),
          q(0),
          ],
       q(mrv) => [
-         q(4524),
+         q(4526),
          q(0),
          ],
       q(mrw) => [
-         q(4525),
+         q(4527),
          q(0),
          ],
       q(mrx) => [
-         q(4526),
+         q(4528),
          q(0),
          ],
       q(mry) => [
-         q(4527),
+         q(4529),
          q(0),
          ],
       q(mrz) => [
-         q(4528),
+         q(4530),
          q(0),
          ],
       q(msb) => [
-         q(4529),
+         q(4531),
          q(0),
          ],
       q(msc) => [
-         q(4530),
+         q(4532),
          q(0),
          ],
       q(msd) => [
-         q(4531),
+         q(4533),
          q(0),
          ],
       q(mse) => [
-         q(4532),
+         q(4534),
          q(0),
          ],
       q(msf) => [
-         q(4533),
+         q(4535),
          q(0),
          ],
       q(msg) => [
-         q(4534),
+         q(4536),
          q(0),
          ],
       q(msh) => [
-         q(4535),
+         q(4537),
          q(0),
          ],
       q(msi) => [
-         q(4536),
+         q(4538),
          q(0),
          ],
       q(msj) => [
-         q(4537),
+         q(4539),
          q(0),
          ],
       q(msk) => [
-         q(4538),
+         q(4540),
          q(0),
          ],
       q(msl) => [
-         q(4539),
+         q(4541),
          q(0),
          ],
       q(msm) => [
-         q(4540),
+         q(4542),
          q(0),
          ],
       q(msn) => [
-         q(4541),
+         q(4543),
          q(0),
          ],
       q(mso) => [
-         q(4542),
+         q(4544),
          q(0),
          ],
       q(msp) => [
-         q(4543),
+         q(4545),
          q(0),
          ],
       q(msq) => [
-         q(4544),
+         q(4546),
          q(0),
          ],
       q(msr) => [
-         q(4545),
+         q(4547),
          q(0),
          ],
       q(mss) => [
-         q(4546),
+         q(4548),
          q(0),
          ],
       q(msu) => [
-         q(4547),
+         q(4549),
          q(0),
          ],
       q(msv) => [
-         q(4548),
+         q(4550),
          q(0),
          ],
       q(msw) => [
-         q(4549),
+         q(4551),
          q(0),
          ],
       q(msx) => [
-         q(4550),
+         q(4552),
          q(0),
          ],
       q(msy) => [
-         q(4551),
+         q(4553),
          q(0),
          ],
       q(msz) => [
-         q(4552),
+         q(4554),
          q(0),
          ],
       q(mta) => [
-         q(4553),
+         q(4555),
          q(0),
          ],
       q(mtb) => [
-         q(4554),
+         q(4556),
          q(0),
          ],
       q(mtc) => [
-         q(4555),
+         q(4557),
          q(0),
          ],
       q(mtd) => [
-         q(4556),
+         q(4558),
          q(0),
          ],
       q(mte) => [
-         q(4557),
+         q(4559),
          q(0),
          ],
       q(mtf) => [
-         q(4558),
+         q(4560),
          q(0),
          ],
       q(mtg) => [
-         q(4559),
+         q(4561),
          q(0),
          ],
       q(mth) => [
-         q(4560),
+         q(4562),
          q(0),
          ],
       q(mti) => [
-         q(4561),
+         q(4563),
          q(0),
          ],
       q(mtj) => [
-         q(4562),
+         q(4564),
          q(0),
          ],
       q(mtk) => [
-         q(4563),
+         q(4565),
          q(0),
          ],
       q(mtl) => [
-         q(4564),
+         q(4566),
          q(0),
          ],
       q(mtm) => [
-         q(4565),
+         q(4567),
          q(0),
          ],
       q(mtn) => [
-         q(4566),
+         q(4568),
          q(0),
          ],
       q(mto) => [
-         q(4567),
+         q(4569),
          q(0),
          ],
       q(mtp) => [
-         q(4568),
+         q(4570),
          q(0),
          ],
       q(mtq) => [
-         q(4569),
+         q(4571),
          q(0),
          ],
       q(mtr) => [
-         q(4570),
+         q(4572),
          q(0),
          ],
       q(mts) => [
-         q(4571),
+         q(4573),
          q(0),
          ],
       q(mtt) => [
-         q(4572),
+         q(4574),
          q(0),
          ],
       q(mtu) => [
-         q(4573),
+         q(4575),
          q(0),
          ],
       q(mtv) => [
-         q(4574),
+         q(4576),
          q(0),
          ],
       q(mtw) => [
-         q(4575),
+         q(4577),
          q(0),
          ],
       q(mtx) => [
-         q(4576),
+         q(4578),
          q(0),
          ],
       q(mty) => [
-         q(4577),
+         q(4579),
          q(0),
          ],
       q(mua) => [
-         q(4578),
+         q(4580),
          q(0),
          ],
       q(mub) => [
-         q(4579),
+         q(4581),
          q(0),
          ],
       q(muc) => [
-         q(4580),
+         q(4582),
          q(0),
          ],
       q(mud) => [
-         q(4581),
+         q(4583),
          q(0),
          ],
       q(mue) => [
-         q(4582),
+         q(4584),
          q(0),
          ],
       q(mug) => [
-         q(4583),
+         q(4585),
          q(0),
          ],
       q(muh) => [
-         q(4584),
+         q(4586),
          q(0),
          ],
       q(mui) => [
-         q(4585),
+         q(4587),
          q(0),
          ],
       q(muj) => [
-         q(4586),
+         q(4588),
          q(0),
          ],
       q(muk) => [
-         q(4587),
+         q(4589),
          q(0),
          ],
       q(mul) => [
@@ -75774,7 +75792,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mum) => [
-         q(4588),
+         q(4590),
          q(0),
          ],
       q(mun) => [
@@ -75782,19 +75800,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(muo) => [
-         q(4589),
+         q(4591),
          q(0),
          ],
       q(mup) => [
-         q(4590),
+         q(4592),
          q(0),
          ],
       q(muq) => [
-         q(4591),
+         q(4593),
          q(0),
          ],
       q(mur) => [
-         q(4592),
+         q(4594),
          q(0),
          ],
       q(mus) => [
@@ -75802,159 +75820,159 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mut) => [
-         q(4593),
+         q(4595),
          q(0),
          ],
       q(muu) => [
-         q(4594),
+         q(4596),
          q(0),
          ],
       q(muv) => [
-         q(4595),
+         q(4597),
          q(0),
          ],
       q(mux) => [
-         q(4596),
+         q(4598),
          q(0),
          ],
       q(muy) => [
-         q(4597),
+         q(4599),
          q(0),
          ],
       q(muz) => [
-         q(4598),
+         q(4600),
          q(0),
          ],
       q(mva) => [
-         q(4599),
+         q(4601),
          q(0),
          ],
       q(mvb) => [
-         q(4600),
+         q(4602),
          q(0),
          ],
       q(mvd) => [
-         q(4601),
+         q(4603),
          q(0),
          ],
       q(mve) => [
-         q(4602),
+         q(4604),
          q(0),
          ],
       q(mvf) => [
-         q(4603),
+         q(4605),
          q(0),
          ],
       q(mvg) => [
-         q(4604),
+         q(4606),
          q(0),
          ],
       q(mvh) => [
-         q(4605),
+         q(4607),
          q(0),
          ],
       q(mvi) => [
-         q(4606),
+         q(4608),
          q(0),
          ],
       q(mvk) => [
-         q(4607),
+         q(4609),
          q(0),
          ],
       q(mvl) => [
-         q(4608),
+         q(4610),
          q(0),
          ],
       q(mvm) => [
-         q(4609),
+         q(4611),
          q(0),
          ],
       q(mvn) => [
-         q(4610),
+         q(4612),
          q(0),
          ],
       q(mvo) => [
-         q(4611),
+         q(4613),
          q(0),
          ],
       q(mvp) => [
-         q(4612),
+         q(4614),
          q(0),
          ],
       q(mvq) => [
-         q(4613),
+         q(4615),
          q(0),
          ],
       q(mvr) => [
-         q(4614),
+         q(4616),
          q(0),
          ],
       q(mvs) => [
-         q(4615),
+         q(4617),
          q(0),
          ],
       q(mvt) => [
-         q(4616),
+         q(4618),
          q(0),
          ],
       q(mvu) => [
-         q(4617),
+         q(4619),
          q(0),
          ],
       q(mvv) => [
-         q(4618),
+         q(4620),
          q(0),
          ],
       q(mvw) => [
-         q(4619),
+         q(4621),
          q(0),
          ],
       q(mvx) => [
-         q(4620),
+         q(4622),
          q(0),
          ],
       q(mvy) => [
-         q(4621),
+         q(4623),
          q(0),
          ],
       q(mvz) => [
-         q(4622),
+         q(4624),
          q(0),
          ],
       q(mwa) => [
-         q(4623),
+         q(4625),
          q(0),
          ],
       q(mwb) => [
-         q(4624),
+         q(4626),
          q(0),
          ],
       q(mwc) => [
-         q(4625),
+         q(4627),
          q(0),
          ],
       q(mwe) => [
-         q(4626),
+         q(4628),
          q(0),
          ],
       q(mwf) => [
-         q(4627),
+         q(4629),
          q(0),
          ],
       q(mwg) => [
-         q(4628),
+         q(4630),
          q(0),
          ],
       q(mwh) => [
-         q(4629),
+         q(4631),
          q(0),
          ],
       q(mwi) => [
-         q(4630),
+         q(4632),
          q(0),
          ],
       q(mwk) => [
-         q(4631),
+         q(4633),
          q(0),
          ],
       q(mwl) => [
@@ -75962,23 +75980,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mwm) => [
-         q(4632),
+         q(4634),
          q(0),
          ],
       q(mwn) => [
-         q(4633),
+         q(4635),
          q(0),
          ],
       q(mwo) => [
-         q(4634),
+         q(4636),
          q(0),
          ],
       q(mwp) => [
-         q(4635),
+         q(4637),
          q(0),
          ],
       q(mwq) => [
-         q(4636),
+         q(4638),
          q(0),
          ],
       q(mwr) => [
@@ -75986,187 +76004,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(mws) => [
-         q(4637),
+         q(4639),
          q(0),
          ],
       q(mwt) => [
-         q(4638),
+         q(4640),
          q(0),
          ],
       q(mwu) => [
-         q(4639),
+         q(4641),
          q(0),
          ],
       q(mwv) => [
-         q(4640),
+         q(4642),
          q(0),
          ],
       q(mww) => [
-         q(4641),
+         q(4643),
          q(0),
          ],
       q(mwx) => [
-         q(4642),
+         q(4644),
          q(0),
          ],
       q(mwy) => [
-         q(4643),
+         q(4645),
          q(0),
          ],
       q(mwz) => [
-         q(4644),
+         q(4646),
          q(0),
          ],
       q(mxa) => [
-         q(4645),
+         q(4647),
          q(0),
          ],
       q(mxb) => [
-         q(4646),
+         q(4648),
          q(0),
          ],
       q(mxc) => [
-         q(4647),
+         q(4649),
          q(0),
          ],
       q(mxd) => [
-         q(4648),
+         q(4650),
          q(0),
          ],
       q(mxe) => [
-         q(4649),
+         q(4651),
          q(0),
          ],
       q(mxf) => [
-         q(4650),
+         q(4652),
          q(0),
          ],
       q(mxg) => [
-         q(4651),
+         q(4653),
          q(0),
          ],
       q(mxh) => [
-         q(4652),
+         q(4654),
          q(0),
          ],
       q(mxi) => [
-         q(4653),
+         q(4655),
          q(0),
          ],
       q(mxj) => [
-         q(4654),
+         q(4656),
          q(0),
          ],
       q(mxk) => [
-         q(4655),
+         q(4657),
          q(0),
          ],
       q(mxl) => [
-         q(4656),
+         q(4658),
          q(0),
          ],
       q(mxm) => [
-         q(4657),
+         q(4659),
          q(0),
          ],
       q(mxn) => [
-         q(4658),
+         q(4660),
          q(0),
          ],
       q(mxo) => [
-         q(4659),
+         q(4661),
          q(0),
          ],
       q(mxp) => [
-         q(4660),
+         q(4662),
          q(0),
          ],
       q(mxq) => [
-         q(4661),
+         q(4663),
          q(0),
          ],
       q(mxr) => [
-         q(4662),
+         q(4664),
          q(0),
          ],
       q(mxs) => [
-         q(4663),
+         q(4665),
          q(0),
          ],
       q(mxt) => [
-         q(4664),
+         q(4666),
          q(0),
          ],
       q(mxu) => [
-         q(4665),
+         q(4667),
          q(0),
          ],
       q(mxv) => [
-         q(4666),
+         q(4668),
          q(0),
          ],
       q(mxw) => [
-         q(4667),
+         q(4669),
          q(0),
          ],
       q(mxx) => [
-         q(4668),
+         q(4670),
          q(0),
          ],
       q(mxy) => [
-         q(4669),
+         q(4671),
          q(0),
          ],
       q(mxz) => [
-         q(4670),
+         q(4672),
          q(0),
          ],
       q(myb) => [
-         q(4671),
+         q(4673),
          q(0),
          ],
       q(myc) => [
-         q(4672),
+         q(4674),
          q(0),
          ],
       q(myd) => [
-         q(4673),
+         q(4675),
          q(0),
          ],
       q(mye) => [
-         q(4674),
+         q(4676),
          q(0),
          ],
       q(myf) => [
-         q(4675),
+         q(4677),
          q(0),
          ],
       q(myg) => [
-         q(4676),
+         q(4678),
          q(0),
          ],
       q(myh) => [
-         q(4677),
+         q(4679),
          q(0),
          ],
       q(myi) => [
-         q(4678),
+         q(4680),
          q(0),
          ],
       q(myj) => [
-         q(4679),
+         q(4681),
          q(0),
          ],
       q(myk) => [
-         q(4680),
+         q(4682),
          q(0),
          ],
       q(myl) => [
-         q(4681),
+         q(4683),
          q(0),
          ],
       q(mym) => [
-         q(4682),
+         q(4684),
          q(0),
          ],
       q(myn) => [
@@ -76174,23 +76192,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(myo) => [
-         q(4683),
+         q(4685),
          q(0),
          ],
       q(myp) => [
-         q(4684),
+         q(4686),
          q(0),
          ],
       q(myr) => [
-         q(4685),
+         q(4687),
          q(0),
          ],
       q(mys) => [
-         q(4686),
+         q(4688),
          q(0),
          ],
       q(myu) => [
-         q(4687),
+         q(4689),
          q(0),
          ],
       q(myv) => [
@@ -76198,147 +76216,147 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(myw) => [
-         q(4688),
+         q(4690),
          q(0),
          ],
       q(myx) => [
-         q(4689),
+         q(4691),
          q(0),
          ],
       q(myy) => [
-         q(4690),
+         q(4692),
          q(0),
          ],
       q(myz) => [
-         q(4691),
+         q(4693),
          q(0),
          ],
       q(mza) => [
-         q(4692),
+         q(4694),
          q(0),
          ],
       q(mzb) => [
-         q(4693),
+         q(4695),
          q(0),
          ],
       q(mzc) => [
-         q(4694),
+         q(4696),
          q(0),
          ],
       q(mzd) => [
-         q(4695),
+         q(4697),
          q(0),
          ],
       q(mze) => [
-         q(4696),
+         q(4698),
          q(0),
          ],
       q(mzg) => [
-         q(4697),
+         q(4699),
          q(0),
          ],
       q(mzh) => [
-         q(4698),
+         q(4700),
          q(0),
          ],
       q(mzi) => [
-         q(4699),
+         q(4701),
          q(0),
          ],
       q(mzj) => [
-         q(4700),
+         q(4702),
          q(0),
          ],
       q(mzk) => [
-         q(4701),
+         q(4703),
          q(0),
          ],
       q(mzl) => [
-         q(4702),
+         q(4704),
          q(0),
          ],
       q(mzm) => [
-         q(4703),
+         q(4705),
          q(0),
          ],
       q(mzn) => [
-         q(4704),
+         q(4706),
          q(0),
          ],
       q(mzo) => [
-         q(4705),
+         q(4707),
          q(0),
          ],
       q(mzp) => [
-         q(4706),
+         q(4708),
          q(0),
          ],
       q(mzq) => [
-         q(4707),
+         q(4709),
          q(0),
          ],
       q(mzr) => [
-         q(4708),
+         q(4710),
          q(0),
          ],
       q(mzs) => [
-         q(4709),
+         q(4711),
          q(0),
          ],
       q(mzt) => [
-         q(4710),
+         q(4712),
          q(0),
          ],
       q(mzu) => [
-         q(4711),
+         q(4713),
          q(0),
          ],
       q(mzv) => [
-         q(4712),
+         q(4714),
          q(0),
          ],
       q(mzw) => [
-         q(4713),
+         q(4715),
          q(0),
          ],
       q(mzx) => [
-         q(4714),
+         q(4716),
          q(0),
          ],
       q(mzy) => [
-         q(4715),
+         q(4717),
          q(0),
          ],
       q(mzz) => [
-         q(4716),
+         q(4718),
          q(0),
          ],
       q(naa) => [
-         q(4717),
+         q(4719),
          q(0),
          ],
       q(nab) => [
-         q(4718),
+         q(4720),
          q(0),
          ],
       q(nac) => [
-         q(4719),
+         q(4721),
          q(0),
          ],
       q(nad) => [
-         q(4720),
+         q(4722),
          q(0),
          ],
       q(nae) => [
-         q(4721),
+         q(4723),
          q(0),
          ],
       q(naf) => [
-         q(4722),
+         q(4724),
          q(0),
          ],
       q(nag) => [
-         q(4723),
+         q(4725),
          q(0),
          ],
       q(nah) => [
@@ -76350,27 +76368,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(naj) => [
-         q(4724),
+         q(4726),
          q(0),
          ],
       q(nak) => [
-         q(4725),
+         q(4727),
          q(0),
          ],
       q(nal) => [
-         q(4726),
+         q(4728),
          q(0),
          ],
       q(nam) => [
-         q(4727),
+         q(4729),
          q(0),
          ],
       q(nan) => [
-         q(4728),
+         q(4730),
          q(0),
          ],
       q(nao) => [
-         q(4729),
+         q(4731),
          q(0),
          ],
       q(nap) => [
@@ -76378,19 +76396,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(naq) => [
-         q(4730),
+         q(4732),
          q(0),
          ],
       q(nar) => [
-         q(4731),
+         q(4733),
          q(0),
          ],
       q(nas) => [
-         q(4732),
+         q(4734),
          q(0),
          ],
       q(nat) => [
-         q(4733),
+         q(4735),
          q(0),
          ],
       q(nau) => [
@@ -76402,59 +76420,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(naw) => [
-         q(4734),
+         q(4736),
          q(0),
          ],
       q(nax) => [
-         q(4735),
+         q(4737),
          q(0),
          ],
       q(nay) => [
-         q(4736),
+         q(4738),
          q(0),
          ],
       q(naz) => [
-         q(4737),
+         q(4739),
          q(0),
          ],
       q(nba) => [
-         q(4738),
+         q(4740),
          q(0),
          ],
       q(nbb) => [
-         q(4739),
+         q(4741),
          q(0),
          ],
       q(nbc) => [
-         q(4740),
+         q(4742),
          q(0),
          ],
       q(nbd) => [
-         q(4741),
+         q(4743),
          q(0),
          ],
       q(nbe) => [
-         q(4742),
+         q(4744),
          q(0),
          ],
       q(nbg) => [
-         q(4743),
+         q(4745),
          q(0),
          ],
       q(nbh) => [
-         q(4744),
+         q(4746),
          q(0),
          ],
       q(nbi) => [
-         q(4745),
+         q(4747),
          q(0),
          ],
       q(nbj) => [
-         q(4746),
+         q(4748),
          q(0),
          ],
       q(nbk) => [
-         q(4747),
+         q(4749),
          q(0),
          ],
       q(nbl) => [
@@ -76462,155 +76480,155 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nbm) => [
-         q(4748),
+         q(4750),
          q(0),
          ],
       q(nbn) => [
-         q(4749),
+         q(4751),
          q(0),
          ],
       q(nbo) => [
-         q(4750),
+         q(4752),
          q(0),
          ],
       q(nbp) => [
-         q(4751),
+         q(4753),
          q(0),
          ],
       q(nbq) => [
-         q(4752),
+         q(4754),
          q(0),
          ],
       q(nbr) => [
-         q(4753),
+         q(4755),
          q(0),
          ],
       q(nbs) => [
-         q(4754),
+         q(4756),
          q(0),
          ],
       q(nbt) => [
-         q(4755),
+         q(4757),
          q(0),
          ],
       q(nbu) => [
-         q(4756),
+         q(4758),
          q(0),
          ],
       q(nbv) => [
-         q(4757),
+         q(4759),
          q(0),
          ],
       q(nbw) => [
-         q(4758),
+         q(4760),
          q(0),
          ],
       q(nby) => [
-         q(4759),
+         q(4761),
          q(0),
          ],
       q(nca) => [
-         q(4760),
+         q(4762),
          q(0),
          ],
       q(ncb) => [
-         q(4761),
+         q(4763),
          q(0),
          ],
       q(ncc) => [
-         q(4762),
+         q(4764),
          q(0),
          ],
       q(ncd) => [
-         q(4763),
+         q(4765),
          q(0),
          ],
       q(nce) => [
-         q(4764),
+         q(4766),
          q(0),
          ],
       q(ncf) => [
-         q(4765),
+         q(4767),
          q(0),
          ],
       q(ncg) => [
-         q(4766),
+         q(4768),
          q(0),
          ],
       q(nch) => [
-         q(4767),
+         q(4769),
          q(0),
          ],
       q(nci) => [
-         q(4768),
+         q(4770),
          q(0),
          ],
       q(ncj) => [
-         q(4769),
+         q(4771),
          q(0),
          ],
       q(nck) => [
-         q(4770),
+         q(4772),
          q(0),
          ],
       q(ncl) => [
-         q(4771),
+         q(4773),
          q(0),
          ],
       q(ncm) => [
-         q(4772),
+         q(4774),
          q(0),
          ],
       q(ncn) => [
-         q(4773),
+         q(4775),
          q(0),
          ],
       q(nco) => [
-         q(4774),
+         q(4776),
          q(0),
          ],
       q(ncp) => [
-         q(4775),
+         q(4777),
          q(0),
          ],
       q(ncr) => [
-         q(4776),
+         q(4778),
          q(0),
          ],
       q(ncs) => [
-         q(4777),
+         q(4779),
          q(0),
          ],
       q(nct) => [
-         q(4778),
+         q(4780),
          q(0),
          ],
       q(ncu) => [
-         q(4779),
+         q(4781),
          q(0),
          ],
       q(ncx) => [
-         q(4780),
+         q(4782),
          q(0),
          ],
       q(ncz) => [
-         q(4781),
+         q(4783),
          q(0),
          ],
       q(nda) => [
-         q(4782),
+         q(4784),
          q(0),
          ],
       q(ndb) => [
-         q(4783),
+         q(4785),
          q(0),
          ],
       q(ndc) => [
-         q(4784),
+         q(4786),
          q(0),
          ],
       q(ndd) => [
-         q(4785),
+         q(4787),
          q(0),
          ],
       q(nde) => [
@@ -76618,39 +76636,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ndf) => [
-         q(4786),
+         q(4788),
          q(0),
          ],
       q(ndg) => [
-         q(4787),
+         q(4789),
          q(0),
          ],
       q(ndh) => [
-         q(4788),
+         q(4790),
          q(0),
          ],
       q(ndi) => [
-         q(4789),
+         q(4791),
          q(0),
          ],
       q(ndj) => [
-         q(4790),
+         q(4792),
          q(0),
          ],
       q(ndk) => [
-         q(4791),
+         q(4793),
          q(0),
          ],
       q(ndl) => [
-         q(4792),
+         q(4794),
          q(0),
          ],
       q(ndm) => [
-         q(4793),
+         q(4795),
          q(0),
          ],
       q(ndn) => [
-         q(4794),
+         q(4796),
          q(0),
          ],
       q(ndo) => [
@@ -76658,15 +76676,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ndp) => [
-         q(4795),
+         q(4797),
          q(0),
          ],
       q(ndq) => [
-         q(4796),
+         q(4798),
          q(0),
          ],
       q(ndr) => [
-         q(4797),
+         q(4799),
          q(0),
          ],
       q(nds) => [
@@ -76674,87 +76692,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ndt) => [
-         q(4798),
+         q(4800),
          q(0),
          ],
       q(ndu) => [
-         q(4799),
+         q(4801),
          q(0),
          ],
       q(ndv) => [
-         q(4800),
+         q(4802),
          q(0),
          ],
       q(ndw) => [
-         q(4801),
+         q(4803),
          q(0),
          ],
       q(ndx) => [
-         q(4802),
+         q(4804),
          q(0),
          ],
       q(ndy) => [
-         q(4803),
+         q(4805),
          q(0),
          ],
       q(ndz) => [
-         q(4804),
+         q(4806),
          q(0),
          ],
       q(nea) => [
-         q(4805),
+         q(4807),
          q(0),
          ],
       q(neb) => [
-         q(4806),
+         q(4808),
          q(0),
          ],
       q(nec) => [
-         q(4807),
+         q(4809),
          q(0),
          ],
       q(ned) => [
-         q(4808),
+         q(4810),
          q(0),
          ],
       q(nee) => [
-         q(4809),
+         q(4811),
          q(0),
          ],
       q(nef) => [
-         q(4810),
+         q(4812),
          q(0),
          ],
       q(neg) => [
-         q(4811),
+         q(4813),
          q(0),
          ],
       q(neh) => [
-         q(4812),
+         q(4814),
          q(0),
          ],
       q(nei) => [
-         q(4813),
+         q(4815),
          q(0),
          ],
       q(nej) => [
-         q(4814),
+         q(4816),
          q(0),
          ],
       q(nek) => [
-         q(4815),
+         q(4817),
          q(0),
          ],
       q(nem) => [
-         q(4816),
+         q(4818),
          q(0),
          ],
       q(nen) => [
-         q(4817),
+         q(4819),
          q(0),
          ],
       q(neo) => [
-         q(4818),
+         q(4820),
          q(0),
          ],
       q(nep) => [
@@ -76762,27 +76780,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(neq) => [
-         q(4819),
+         q(4821),
          q(0),
          ],
       q(ner) => [
-         q(4820),
+         q(4822),
          q(0),
          ],
       q(nes) => [
-         q(4821),
+         q(4823),
          q(0),
          ],
       q(net) => [
-         q(4822),
+         q(4824),
          q(0),
          ],
       q(neu) => [
-         q(4823),
+         q(4825),
          q(0),
          ],
       q(nev) => [
-         q(4824),
+         q(4826),
          q(0),
          ],
       q(new) => [
@@ -76790,55 +76808,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(nex) => [
-         q(4825),
+         q(4827),
          q(0),
          ],
       q(ney) => [
-         q(4826),
+         q(4828),
          q(0),
          ],
       q(nez) => [
-         q(4827),
+         q(4829),
          q(0),
          ],
       q(nfa) => [
-         q(4828),
+         q(4830),
          q(0),
          ],
       q(nfd) => [
-         q(4829),
+         q(4831),
          q(0),
          ],
       q(nfl) => [
-         q(4830),
+         q(4832),
          q(0),
          ],
       q(nfr) => [
-         q(4831),
+         q(4833),
          q(0),
          ],
       q(nfu) => [
-         q(4832),
+         q(4834),
          q(0),
          ],
       q(nga) => [
-         q(4833),
+         q(4835),
          q(0),
          ],
       q(ngb) => [
-         q(4834),
+         q(4836),
          q(0),
          ],
       q(ngc) => [
-         q(4835),
+         q(4837),
          q(0),
          ],
       q(ngd) => [
-         q(4836),
+         q(4838),
          q(0),
          ],
       q(nge) => [
-         q(4837),
+         q(4839),
          q(0),
          ],
       q(ngf) => [
@@ -76846,175 +76864,175 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ngg) => [
-         q(4838),
+         q(4840),
          q(0),
          ],
       q(ngh) => [
-         q(4839),
+         q(4841),
          q(0),
          ],
       q(ngi) => [
-         q(4840),
+         q(4842),
          q(0),
          ],
       q(ngj) => [
-         q(4841),
+         q(4843),
          q(0),
          ],
       q(ngk) => [
-         q(4842),
+         q(4844),
          q(0),
          ],
       q(ngl) => [
-         q(4843),
+         q(4845),
          q(0),
          ],
       q(ngm) => [
-         q(4844),
+         q(4846),
          q(0),
          ],
       q(ngn) => [
-         q(4845),
+         q(4847),
          q(0),
          ],
       q(ngo) => [
-         q(4846),
+         q(4848),
          q(0),
          ],
       q(ngp) => [
-         q(4847),
+         q(4849),
          q(0),
          ],
       q(ngq) => [
-         q(4848),
+         q(4850),
          q(0),
          ],
       q(ngr) => [
-         q(4849),
+         q(4851),
          q(0),
          ],
       q(ngs) => [
-         q(4850),
+         q(4852),
          q(0),
          ],
       q(ngt) => [
-         q(4851),
+         q(4853),
          q(0),
          ],
       q(ngu) => [
-         q(4852),
+         q(4854),
          q(0),
          ],
       q(ngv) => [
-         q(4853),
+         q(4855),
          q(0),
          ],
       q(ngw) => [
-         q(4854),
+         q(4856),
          q(0),
          ],
       q(ngx) => [
-         q(4855),
+         q(4857),
          q(0),
          ],
       q(ngy) => [
-         q(4856),
+         q(4858),
          q(0),
          ],
       q(ngz) => [
-         q(4857),
+         q(4859),
          q(0),
          ],
       q(nha) => [
-         q(4858),
+         q(4860),
          q(0),
          ],
       q(nhb) => [
-         q(4859),
+         q(4861),
          q(0),
          ],
       q(nhc) => [
-         q(4860),
+         q(4862),
          q(0),
          ],
       q(nhd) => [
-         q(4861),
+         q(4863),
          q(0),
          ],
       q(nhe) => [
-         q(4862),
+         q(4864),
          q(0),
          ],
       q(nhf) => [
-         q(4863),
+         q(4865),
          q(0),
          ],
       q(nhg) => [
-         q(4864),
+         q(4866),
          q(0),
          ],
       q(nhh) => [
-         q(4865),
+         q(4867),
          q(0),
          ],
       q(nhi) => [
-         q(4866),
+         q(4868),
          q(0),
          ],
       q(nhk) => [
-         q(4867),
+         q(4869),
          q(0),
          ],
       q(nhm) => [
-         q(4868),
+         q(4870),
          q(0),
          ],
       q(nhn) => [
-         q(4869),
+         q(4871),
          q(0),
          ],
       q(nho) => [
-         q(4870),
+         q(4872),
          q(0),
          ],
       q(nhp) => [
-         q(4871),
+         q(4873),
          q(0),
          ],
       q(nhq) => [
-         q(4872),
+         q(4874),
          q(0),
          ],
       q(nhr) => [
-         q(4873),
+         q(4875),
          q(0),
          ],
       q(nht) => [
-         q(4874),
+         q(4876),
          q(0),
          ],
       q(nhu) => [
-         q(4875),
+         q(4877),
          q(0),
          ],
       q(nhv) => [
-         q(4876),
+         q(4878),
          q(0),
          ],
       q(nhw) => [
-         q(4877),
+         q(4879),
          q(0),
          ],
       q(nhx) => [
-         q(4878),
+         q(4880),
          q(0),
          ],
       q(nhy) => [
-         q(4879),
+         q(4881),
          q(0),
          ],
       q(nhz) => [
-         q(4880),
+         q(4882),
          q(0),
          ],
       q(nia) => [
@@ -77022,7 +77040,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nib) => [
-         q(4881),
+         q(4883),
          q(0),
          ],
       q(nic) => [
@@ -77030,67 +77048,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nid) => [
-         q(4882),
+         q(4884),
          q(0),
          ],
       q(nie) => [
-         q(4883),
+         q(4885),
          q(0),
          ],
       q(nif) => [
-         q(4884),
+         q(4886),
          q(0),
          ],
       q(nig) => [
-         q(4885),
+         q(4887),
          q(0),
          ],
       q(nih) => [
-         q(4886),
+         q(4888),
          q(0),
          ],
       q(nii) => [
-         q(4887),
+         q(4889),
          q(0),
          ],
       q(nij) => [
-         q(4888),
+         q(4890),
          q(0),
          ],
       q(nik) => [
-         q(4889),
+         q(4891),
          q(0),
          ],
       q(nil) => [
-         q(4890),
+         q(4892),
          q(0),
          ],
       q(nim) => [
-         q(4891),
+         q(4893),
          q(0),
          ],
       q(nin) => [
-         q(4892),
+         q(4894),
          q(0),
          ],
       q(nio) => [
-         q(4893),
+         q(4895),
          q(0),
          ],
       q(niq) => [
-         q(4894),
+         q(4896),
          q(0),
          ],
       q(nir) => [
-         q(4895),
+         q(4897),
          q(0),
          ],
       q(nis) => [
-         q(4896),
+         q(4898),
          q(0),
          ],
       q(nit) => [
-         q(4897),
+         q(4899),
          q(0),
          ],
       q(niu) => [
@@ -77098,411 +77116,411 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(niv) => [
-         q(4898),
+         q(4900),
          q(0),
          ],
       q(niw) => [
-         q(4899),
+         q(4901),
          q(0),
          ],
       q(nix) => [
-         q(4900),
+         q(4902),
          q(0),
          ],
       q(niy) => [
-         q(4901),
+         q(4903),
          q(0),
          ],
       q(niz) => [
-         q(4902),
+         q(4904),
          q(0),
          ],
       q(nja) => [
-         q(4903),
+         q(4905),
          q(0),
          ],
       q(njb) => [
-         q(4904),
+         q(4906),
          q(0),
          ],
       q(njd) => [
-         q(4905),
+         q(4907),
          q(0),
          ],
       q(njh) => [
-         q(4906),
+         q(4908),
          q(0),
          ],
       q(nji) => [
-         q(4907),
+         q(4909),
          q(0),
          ],
       q(njj) => [
-         q(4908),
+         q(4910),
          q(0),
          ],
       q(njl) => [
-         q(4909),
+         q(4911),
          q(0),
          ],
       q(njm) => [
-         q(4910),
+         q(4912),
          q(0),
          ],
       q(njn) => [
-         q(4911),
+         q(4913),
          q(0),
          ],
       q(njo) => [
-         q(4912),
+         q(4914),
          q(0),
          ],
       q(njr) => [
-         q(4913),
+         q(4915),
          q(0),
          ],
       q(njs) => [
-         q(4914),
+         q(4916),
          q(0),
          ],
       q(njt) => [
-         q(4915),
+         q(4917),
          q(0),
          ],
       q(nju) => [
-         q(4916),
+         q(4918),
          q(0),
          ],
       q(njx) => [
-         q(4917),
+         q(4919),
          q(0),
          ],
       q(njy) => [
-         q(4918),
+         q(4920),
          q(0),
          ],
       q(njz) => [
-         q(4919),
+         q(4921),
          q(0),
          ],
       q(nka) => [
-         q(4920),
+         q(4922),
          q(0),
          ],
       q(nkb) => [
-         q(4921),
+         q(4923),
          q(0),
          ],
       q(nkc) => [
-         q(4922),
+         q(4924),
          q(0),
          ],
       q(nkd) => [
-         q(4923),
+         q(4925),
          q(0),
          ],
       q(nke) => [
-         q(4924),
+         q(4926),
          q(0),
          ],
       q(nkf) => [
-         q(4925),
+         q(4927),
          q(0),
          ],
       q(nkg) => [
-         q(4926),
+         q(4928),
          q(0),
          ],
       q(nkh) => [
-         q(4927),
+         q(4929),
          q(0),
          ],
       q(nki) => [
-         q(4928),
+         q(4930),
          q(0),
          ],
       q(nkj) => [
-         q(4929),
+         q(4931),
          q(0),
          ],
       q(nkk) => [
-         q(4930),
+         q(4932),
          q(0),
          ],
       q(nkm) => [
-         q(4931),
+         q(4933),
          q(0),
          ],
       q(nkn) => [
-         q(4932),
+         q(4934),
          q(0),
          ],
       q(nko) => [
-         q(4933),
+         q(4935),
          q(0),
          ],
       q(nkp) => [
-         q(4934),
+         q(4936),
          q(0),
          ],
       q(nkq) => [
-         q(4935),
+         q(4937),
          q(0),
          ],
       q(nkr) => [
-         q(4936),
+         q(4938),
          q(0),
          ],
       q(nks) => [
-         q(4937),
+         q(4939),
          q(0),
          ],
       q(nkt) => [
-         q(4938),
+         q(4940),
          q(0),
          ],
       q(nku) => [
-         q(4939),
+         q(4941),
          q(0),
          ],
       q(nkv) => [
-         q(4940),
+         q(4942),
          q(0),
          ],
       q(nkw) => [
-         q(4941),
+         q(4943),
          q(0),
          ],
       q(nkx) => [
-         q(4942),
+         q(4944),
          q(0),
          ],
       q(nkz) => [
-         q(4943),
+         q(4945),
          q(0),
          ],
       q(nla) => [
-         q(4944),
+         q(4946),
          q(0),
          ],
       q(nlc) => [
-         q(4945),
+         q(4947),
          q(0),
          ],
       q(nle) => [
-         q(4946),
+         q(4948),
          q(0),
          ],
       q(nlg) => [
-         q(4947),
+         q(4949),
          q(0),
          ],
       q(nli) => [
-         q(4948),
+         q(4950),
          q(0),
          ],
       q(nlj) => [
-         q(4949),
+         q(4951),
          q(0),
          ],
       q(nlk) => [
-         q(4950),
+         q(4952),
          q(0),
          ],
       q(nll) => [
-         q(4951),
+         q(4953),
          q(0),
          ],
       q(nlo) => [
-         q(4952),
+         q(4954),
          q(0),
          ],
       q(nlq) => [
-         q(4953),
+         q(4955),
          q(0),
          ],
       q(nlu) => [
-         q(4954),
+         q(4956),
          q(0),
          ],
       q(nlv) => [
-         q(4955),
+         q(4957),
          q(0),
          ],
       q(nlw) => [
-         q(4956),
+         q(4958),
          q(0),
          ],
       q(nlx) => [
-         q(4957),
+         q(4959),
          q(0),
          ],
       q(nly) => [
-         q(4958),
+         q(4960),
          q(0),
          ],
       q(nlz) => [
-         q(4959),
+         q(4961),
          q(0),
          ],
       q(nma) => [
-         q(4960),
+         q(4962),
          q(0),
          ],
       q(nmb) => [
-         q(4961),
+         q(4963),
          q(0),
          ],
       q(nmc) => [
-         q(4962),
+         q(4964),
          q(0),
          ],
       q(nmd) => [
-         q(4963),
+         q(4965),
          q(0),
          ],
       q(nme) => [
-         q(4964),
+         q(4966),
          q(0),
          ],
       q(nmf) => [
-         q(4965),
+         q(4967),
          q(0),
          ],
       q(nmg) => [
-         q(4966),
+         q(4968),
          q(0),
          ],
       q(nmh) => [
-         q(4967),
+         q(4969),
          q(0),
          ],
       q(nmi) => [
-         q(4968),
+         q(4970),
          q(0),
          ],
       q(nmj) => [
-         q(4969),
+         q(4971),
          q(0),
          ],
       q(nmk) => [
-         q(4970),
+         q(4972),
          q(0),
          ],
       q(nml) => [
-         q(4971),
+         q(4973),
          q(0),
          ],
       q(nmm) => [
-         q(4972),
+         q(4974),
          q(0),
          ],
       q(nmn) => [
-         q(4973),
+         q(4975),
          q(0),
          ],
       q(nmo) => [
-         q(4974),
+         q(4976),
          q(0),
          ],
       q(nmp) => [
-         q(4975),
+         q(4977),
          q(0),
          ],
       q(nmq) => [
-         q(4976),
+         q(4978),
          q(0),
          ],
       q(nmr) => [
-         q(4977),
+         q(4979),
          q(0),
          ],
       q(nms) => [
-         q(4978),
+         q(4980),
          q(0),
          ],
       q(nmt) => [
-         q(4979),
+         q(4981),
          q(0),
          ],
       q(nmu) => [
-         q(4980),
+         q(4982),
          q(0),
          ],
       q(nmv) => [
-         q(4981),
+         q(4983),
          q(0),
          ],
       q(nmw) => [
-         q(4982),
+         q(4984),
          q(0),
          ],
       q(nmx) => [
-         q(4983),
+         q(4985),
          q(0),
          ],
       q(nmy) => [
-         q(4984),
+         q(4986),
          q(0),
          ],
       q(nmz) => [
-         q(4985),
+         q(4987),
          q(0),
          ],
       q(nna) => [
-         q(4986),
+         q(4988),
          q(0),
          ],
       q(nnb) => [
-         q(4987),
+         q(4989),
          q(0),
          ],
       q(nnc) => [
-         q(4988),
+         q(4990),
          q(0),
          ],
       q(nnd) => [
-         q(4989),
+         q(4991),
          q(0),
          ],
       q(nne) => [
-         q(4990),
+         q(4992),
          q(0),
          ],
       q(nnf) => [
-         q(4991),
+         q(4993),
          q(0),
          ],
       q(nng) => [
-         q(4992),
+         q(4994),
          q(0),
          ],
       q(nnh) => [
-         q(4993),
+         q(4995),
          q(0),
          ],
       q(nni) => [
-         q(4994),
+         q(4996),
          q(0),
          ],
       q(nnj) => [
-         q(4995),
+         q(4997),
          q(0),
          ],
       q(nnk) => [
-         q(4996),
+         q(4998),
          q(0),
          ],
       q(nnl) => [
-         q(4997),
+         q(4999),
          q(0),
          ],
       q(nnm) => [
-         q(4998),
+         q(5000),
          q(0),
          ],
       q(nnn) => [
-         q(4999),
+         q(5001),
          q(0),
          ],
       q(nno) => [
@@ -77510,47 +77528,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nnp) => [
-         q(5000),
+         q(5002),
          q(0),
          ],
       q(nnq) => [
-         q(5001),
+         q(5003),
          q(0),
          ],
       q(nnr) => [
-         q(5002),
+         q(5004),
          q(0),
          ],
       q(nns) => [
-         q(5003),
+         q(5005),
          q(0),
          ],
       q(nnt) => [
-         q(5004),
+         q(5006),
          q(0),
          ],
       q(nnu) => [
-         q(5005),
+         q(5007),
          q(0),
          ],
       q(nnv) => [
-         q(5006),
+         q(5008),
          q(0),
          ],
       q(nnw) => [
-         q(5007),
+         q(5009),
          q(0),
          ],
       q(nny) => [
-         q(5008),
+         q(5010),
          q(0),
          ],
       q(nnz) => [
-         q(5009),
+         q(5011),
          q(0),
          ],
       q(noa) => [
-         q(5010),
+         q(5012),
          q(0),
          ],
       q(nob) => [
@@ -77558,19 +77576,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(noc) => [
-         q(5011),
+         q(5013),
          q(0),
          ],
       q(nod) => [
-         q(5012),
+         q(5014),
          q(0),
          ],
       q(noe) => [
-         q(5013),
+         q(5015),
          q(0),
          ],
       q(nof) => [
-         q(5014),
+         q(5016),
          q(0),
          ],
       q(nog) => [
@@ -77578,27 +77596,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(noh) => [
-         q(5015),
+         q(5017),
          q(0),
          ],
       q(noi) => [
-         q(5016),
+         q(5018),
          q(0),
          ],
       q(noj) => [
-         q(5017),
+         q(5019),
          q(0),
          ],
       q(nok) => [
-         q(5018),
+         q(5020),
          q(0),
          ],
       q(nol) => [
-         q(5019),
+         q(5021),
          q(0),
          ],
       q(nom) => [
-         q(5020),
+         q(5022),
          q(0),
          ],
       q(non) => [
@@ -77606,11 +77624,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(nop) => [
-         q(5021),
+         q(5023),
          q(0),
          ],
       q(noq) => [
-         q(5022),
+         q(5024),
          q(0),
          ],
       q(nor) => [
@@ -77618,91 +77636,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nos) => [
-         q(5023),
+         q(5025),
          q(0),
          ],
       q(not) => [
-         q(5024),
+         q(5026),
          q(0),
          ],
       q(nou) => [
-         q(5025),
+         q(5027),
          q(0),
          ],
       q(nov) => [
-         q(5026),
+         q(5028),
          q(0),
          ],
       q(now) => [
-         q(5027),
+         q(5029),
          q(0),
          ],
       q(noy) => [
-         q(5028),
+         q(5030),
          q(0),
          ],
       q(noz) => [
-         q(5029),
+         q(5031),
          q(0),
          ],
       q(npa) => [
-         q(5030),
+         q(5032),
          q(0),
          ],
       q(npb) => [
-         q(5031),
+         q(5033),
          q(0),
          ],
       q(npg) => [
-         q(5032),
+         q(5034),
          q(0),
          ],
       q(nph) => [
-         q(5033),
+         q(5035),
          q(0),
          ],
       q(npi) => [
-         q(5034),
+         q(5036),
          q(0),
          ],
       q(npl) => [
-         q(5035),
+         q(5037),
          q(0),
          ],
       q(npn) => [
-         q(5036),
+         q(5038),
          q(0),
          ],
       q(npo) => [
-         q(5037),
+         q(5039),
          q(0),
          ],
       q(nps) => [
-         q(5038),
+         q(5040),
          q(0),
          ],
       q(npu) => [
-         q(5039),
+         q(5041),
          q(0),
          ],
       q(npy) => [
-         q(5040),
+         q(5042),
          q(0),
          ],
       q(nqg) => [
-         q(5041),
+         q(5043),
          q(0),
          ],
       q(nqk) => [
-         q(5042),
+         q(5044),
          q(0),
          ],
       q(nqm) => [
-         q(5043),
+         q(5045),
          q(0),
          ],
       q(nqn) => [
-         q(5044),
+         q(5046),
          q(0),
          ],
       q(nqo) => [
@@ -77710,127 +77728,127 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nqq) => [
-         q(5045),
+         q(5047),
          q(0),
          ],
       q(nqy) => [
-         q(5046),
+         q(5048),
          q(0),
          ],
       q(nra) => [
-         q(5047),
+         q(5049),
          q(0),
          ],
       q(nrb) => [
-         q(5048),
+         q(5050),
          q(0),
          ],
       q(nrc) => [
-         q(5049),
+         q(5051),
          q(0),
          ],
       q(nre) => [
-         q(5050),
+         q(5052),
          q(0),
          ],
       q(nrf) => [
-         q(5051),
+         q(5053),
          q(0),
          ],
       q(nrg) => [
-         q(5052),
+         q(5054),
          q(0),
          ],
       q(nri) => [
-         q(5053),
+         q(5055),
          q(0),
          ],
       q(nrk) => [
-         q(5054),
+         q(5056),
          q(0),
          ],
       q(nrl) => [
-         q(5055),
+         q(5057),
          q(0),
          ],
       q(nrm) => [
-         q(5056),
+         q(5058),
          q(0),
          ],
       q(nrn) => [
-         q(5057),
+         q(5059),
          q(0),
          ],
       q(nrp) => [
-         q(5058),
+         q(5060),
          q(0),
          ],
       q(nrr) => [
-         q(5059),
+         q(5061),
          q(0),
          ],
       q(nrt) => [
-         q(5060),
+         q(5062),
          q(0),
          ],
       q(nru) => [
-         q(5061),
+         q(5063),
          q(0),
          ],
       q(nrx) => [
-         q(5062),
+         q(5064),
          q(0),
          ],
       q(nrz) => [
-         q(5063),
+         q(5065),
          q(0),
          ],
       q(nsa) => [
-         q(5064),
+         q(5066),
          q(0),
          ],
       q(nsc) => [
-         q(5065),
+         q(5067),
          q(0),
          ],
       q(nsd) => [
-         q(5066),
+         q(5068),
          q(0),
          ],
       q(nse) => [
-         q(5067),
+         q(5069),
          q(0),
          ],
       q(nsf) => [
-         q(5068),
+         q(5070),
          q(0),
          ],
       q(nsg) => [
-         q(5069),
+         q(5071),
          q(0),
          ],
       q(nsh) => [
-         q(5070),
+         q(5072),
          q(0),
          ],
       q(nsi) => [
-         q(5071),
+         q(5073),
          q(0),
          ],
       q(nsk) => [
-         q(5072),
+         q(5074),
          q(0),
          ],
       q(nsl) => [
-         q(5073),
+         q(5075),
          q(0),
          ],
       q(nsm) => [
-         q(5074),
+         q(5076),
          q(0),
          ],
       q(nsn) => [
-         q(5075),
+         q(5077),
          q(0),
          ],
       q(nso) => [
@@ -77838,111 +77856,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nsp) => [
-         q(5076),
+         q(5078),
          q(0),
          ],
       q(nsq) => [
-         q(5077),
+         q(5079),
          q(0),
          ],
       q(nsr) => [
-         q(5078),
+         q(5080),
          q(0),
          ],
       q(nss) => [
-         q(5079),
+         q(5081),
          q(0),
          ],
       q(nst) => [
-         q(5080),
+         q(5082),
          q(0),
          ],
       q(nsu) => [
-         q(5081),
+         q(5083),
          q(0),
          ],
       q(nsv) => [
-         q(5082),
+         q(5084),
          q(0),
          ],
       q(nsw) => [
-         q(5083),
+         q(5085),
          q(0),
          ],
       q(nsx) => [
-         q(5084),
+         q(5086),
          q(0),
          ],
       q(nsy) => [
-         q(5085),
+         q(5087),
          q(0),
          ],
       q(nsz) => [
-         q(5086),
+         q(5088),
          q(0),
          ],
       q(nte) => [
-         q(5087),
+         q(5089),
          q(0),
          ],
       q(ntg) => [
-         q(5088),
+         q(5090),
          q(0),
          ],
       q(nti) => [
-         q(5089),
+         q(5091),
          q(0),
          ],
       q(ntj) => [
-         q(5090),
+         q(5092),
          q(0),
          ],
       q(ntk) => [
-         q(5091),
+         q(5093),
          q(0),
          ],
       q(ntm) => [
-         q(5092),
+         q(5094),
          q(0),
          ],
       q(nto) => [
-         q(5093),
+         q(5095),
          q(0),
          ],
       q(ntp) => [
-         q(5094),
+         q(5096),
          q(0),
          ],
       q(ntr) => [
-         q(5095),
+         q(5097),
          q(0),
          ],
       q(nts) => [
-         q(5096),
+         q(5098),
          q(0),
          ],
       q(ntu) => [
-         q(5097),
+         q(5099),
          q(0),
          ],
       q(ntw) => [
-         q(5098),
+         q(5100),
          q(0),
          ],
       q(ntx) => [
-         q(5099),
+         q(5101),
          q(0),
          ],
       q(nty) => [
-         q(5100),
+         q(5102),
          q(0),
          ],
       q(ntz) => [
-         q(5101),
+         q(5103),
          q(0),
          ],
       q(nua) => [
-         q(5102),
+         q(5104),
          q(0),
          ],
       q(nub) => [
@@ -77950,119 +77968,119 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nuc) => [
-         q(5103),
+         q(5105),
          q(0),
          ],
       q(nud) => [
-         q(5104),
+         q(5106),
          q(0),
          ],
       q(nue) => [
-         q(5105),
+         q(5107),
          q(0),
          ],
       q(nuf) => [
-         q(5106),
+         q(5108),
          q(0),
          ],
       q(nug) => [
-         q(5107),
+         q(5109),
          q(0),
          ],
       q(nuh) => [
-         q(5108),
+         q(5110),
          q(0),
          ],
       q(nui) => [
-         q(5109),
+         q(5111),
          q(0),
          ],
       q(nuj) => [
-         q(5110),
+         q(5112),
          q(0),
          ],
       q(nuk) => [
-         q(5111),
+         q(5113),
          q(0),
          ],
       q(nul) => [
-         q(5112),
+         q(5114),
          q(0),
          ],
       q(num) => [
-         q(5113),
+         q(5115),
          q(0),
          ],
       q(nun) => [
-         q(5114),
+         q(5116),
          q(0),
          ],
       q(nuo) => [
-         q(5115),
+         q(5117),
          q(0),
          ],
       q(nup) => [
-         q(5116),
+         q(5118),
          q(0),
          ],
       q(nuq) => [
-         q(5117),
+         q(5119),
          q(0),
          ],
       q(nur) => [
-         q(5118),
+         q(5120),
          q(0),
          ],
       q(nus) => [
-         q(5119),
+         q(5121),
          q(0),
          ],
       q(nut) => [
-         q(5120),
+         q(5122),
          q(0),
          ],
       q(nuu) => [
-         q(5121),
+         q(5123),
          q(0),
          ],
       q(nuv) => [
-         q(5122),
+         q(5124),
          q(0),
          ],
       q(nuw) => [
-         q(5123),
+         q(5125),
          q(0),
          ],
       q(nux) => [
-         q(5124),
+         q(5126),
          q(0),
          ],
       q(nuy) => [
-         q(5125),
+         q(5127),
          q(0),
          ],
       q(nuz) => [
-         q(5126),
+         q(5128),
          q(0),
          ],
       q(nvh) => [
-         q(5127),
+         q(5129),
          q(0),
          ],
       q(nvm) => [
-         q(5128),
+         q(5130),
          q(0),
          ],
       q(nvo) => [
-         q(5129),
+         q(5131),
          q(0),
          ],
       q(nwa) => [
-         q(5130),
+         q(5132),
          q(0),
          ],
       q(nwb) => [
-         q(5131),
+         q(5133),
          q(0),
          ],
       q(nwc) => [
@@ -78070,91 +78088,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nwe) => [
-         q(5132),
+         q(5134),
          q(0),
          ],
       q(nwg) => [
-         q(5133),
+         q(5135),
          q(0),
          ],
       q(nwi) => [
-         q(5134),
+         q(5136),
          q(0),
          ],
       q(nwm) => [
-         q(5135),
+         q(5137),
          q(0),
          ],
       q(nwo) => [
-         q(5136),
+         q(5138),
          q(0),
          ],
       q(nwr) => [
-         q(5137),
+         q(5139),
          q(0),
          ],
       q(nwx) => [
-         q(5138),
+         q(5140),
          q(0),
          ],
       q(nwy) => [
-         q(5139),
+         q(5141),
          q(0),
          ],
       q(nxa) => [
-         q(5140),
+         q(5142),
          q(0),
          ],
       q(nxd) => [
-         q(5141),
+         q(5143),
          q(0),
          ],
       q(nxe) => [
-         q(5142),
+         q(5144),
          q(0),
          ],
       q(nxg) => [
-         q(5143),
+         q(5145),
          q(0),
          ],
       q(nxi) => [
-         q(5144),
+         q(5146),
          q(0),
          ],
       q(nxk) => [
-         q(5145),
+         q(5147),
          q(0),
          ],
       q(nxl) => [
-         q(5146),
+         q(5148),
          q(0),
          ],
       q(nxm) => [
-         q(5147),
+         q(5149),
          q(0),
          ],
       q(nxn) => [
-         q(5148),
+         q(5150),
          q(0),
          ],
       q(nxo) => [
-         q(5149),
+         q(5151),
          q(0),
          ],
       q(nxq) => [
-         q(5150),
+         q(5152),
          q(0),
          ],
       q(nxr) => [
-         q(5151),
+         q(5153),
          q(0),
          ],
       q(nxu) => [
-         q(5152),
+         q(5154),
          q(0),
          ],
       q(nxx) => [
-         q(5153),
+         q(5155),
          q(0),
          ],
       q(nya) => [
@@ -78162,47 +78180,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nyb) => [
-         q(5154),
+         q(5156),
          q(0),
          ],
       q(nyc) => [
-         q(5155),
+         q(5157),
          q(0),
          ],
       q(nyd) => [
-         q(5156),
+         q(5158),
          q(0),
          ],
       q(nye) => [
-         q(5157),
+         q(5159),
          q(0),
          ],
       q(nyf) => [
-         q(5158),
+         q(5160),
          q(0),
          ],
       q(nyg) => [
-         q(5159),
+         q(5161),
          q(0),
          ],
       q(nyh) => [
-         q(5160),
+         q(5162),
          q(0),
          ],
       q(nyi) => [
-         q(5161),
+         q(5163),
          q(0),
          ],
       q(nyj) => [
-         q(5162),
+         q(5164),
          q(0),
          ],
       q(nyk) => [
-         q(5163),
+         q(5165),
          q(0),
          ],
       q(nyl) => [
-         q(5164),
+         q(5166),
          q(0),
          ],
       q(nym) => [
@@ -78218,51 +78236,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nyp) => [
-         q(5165),
+         q(5167),
          q(0),
          ],
       q(nyq) => [
-         q(5166),
+         q(5168),
          q(0),
          ],
       q(nyr) => [
-         q(5167),
+         q(5169),
          q(0),
          ],
       q(nys) => [
-         q(5168),
+         q(5170),
          q(0),
          ],
       q(nyt) => [
-         q(5169),
+         q(5171),
          q(0),
          ],
       q(nyu) => [
-         q(5170),
+         q(5172),
          q(0),
          ],
       q(nyv) => [
-         q(5171),
+         q(5173),
          q(0),
          ],
       q(nyw) => [
-         q(5172),
+         q(5174),
          q(0),
          ],
       q(nyx) => [
-         q(5173),
+         q(5175),
          q(0),
          ],
       q(nyy) => [
-         q(5174),
+         q(5176),
          q(0),
          ],
       q(nza) => [
-         q(5175),
+         q(5177),
          q(0),
          ],
       q(nzb) => [
-         q(5176),
+         q(5178),
          q(0),
          ],
       q(nzi) => [
@@ -78270,83 +78288,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(nzk) => [
-         q(5177),
+         q(5179),
          q(0),
          ],
       q(nzm) => [
-         q(5178),
+         q(5180),
          q(0),
          ],
       q(nzs) => [
-         q(5179),
+         q(5181),
          q(0),
          ],
       q(nzu) => [
-         q(5180),
+         q(5182),
          q(0),
          ],
       q(nzy) => [
-         q(5181),
+         q(5183),
          q(0),
          ],
       q(nzz) => [
-         q(5182),
+         q(5184),
          q(0),
          ],
       q(oaa) => [
-         q(5183),
+         q(5185),
          q(0),
          ],
       q(oac) => [
-         q(5184),
+         q(5186),
          q(0),
          ],
       q(oar) => [
-         q(5185),
+         q(5187),
          q(0),
          ],
       q(oav) => [
-         q(5186),
+         q(5188),
          q(0),
          ],
       q(obi) => [
-         q(5187),
+         q(5189),
          q(0),
          ],
       q(obk) => [
-         q(5188),
+         q(5190),
          q(0),
          ],
       q(obl) => [
-         q(5189),
+         q(5191),
          q(0),
          ],
       q(obm) => [
-         q(5190),
+         q(5192),
          q(0),
          ],
       q(obo) => [
-         q(5191),
+         q(5193),
          q(0),
          ],
       q(obr) => [
-         q(5192),
+         q(5194),
          q(0),
          ],
       q(obt) => [
-         q(5193),
+         q(5195),
          q(0),
          ],
       q(obu) => [
-         q(5194),
+         q(5196),
          q(0),
          ],
       q(oca) => [
-         q(5195),
+         q(5197),
          q(0),
          ],
       q(och) => [
-         q(5196),
+         q(5198),
          q(0),
          ],
       q(oci) => [
@@ -78354,91 +78372,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(oco) => [
-         q(5197),
+         q(5199),
          q(0),
          ],
       q(ocu) => [
-         q(5198),
+         q(5200),
          q(0),
          ],
       q(oda) => [
-         q(5199),
+         q(5201),
          q(0),
          ],
       q(odk) => [
-         q(5200),
+         q(5202),
          q(0),
          ],
       q(odt) => [
-         q(5201),
+         q(5203),
          q(0),
          ],
       q(odu) => [
-         q(5202),
+         q(5204),
          q(0),
          ],
       q(ofo) => [
-         q(5203),
+         q(5205),
          q(0),
          ],
       q(ofs) => [
-         q(5204),
+         q(5206),
          q(0),
          ],
       q(ofu) => [
-         q(5205),
+         q(5207),
          q(0),
          ],
       q(ogb) => [
-         q(5206),
+         q(5208),
          q(0),
          ],
       q(ogc) => [
-         q(5207),
+         q(5209),
          q(0),
          ],
       q(oge) => [
-         q(5208),
+         q(5210),
          q(0),
          ],
       q(ogg) => [
-         q(5209),
+         q(5211),
          q(0),
          ],
       q(ogo) => [
-         q(5210),
+         q(5212),
          q(0),
          ],
       q(ogu) => [
-         q(5211),
+         q(5213),
          q(0),
          ],
       q(oht) => [
-         q(5212),
+         q(5214),
          q(0),
          ],
       q(ohu) => [
-         q(5213),
+         q(5215),
          q(0),
          ],
       q(oia) => [
-         q(5214),
+         q(5216),
          q(0),
          ],
       q(oin) => [
-         q(5215),
+         q(5217),
          q(0),
          ],
       q(ojb) => [
-         q(5216),
+         q(5218),
          q(0),
          ],
       q(ojc) => [
-         q(5217),
+         q(5219),
          q(0),
          ],
       q(ojg) => [
-         q(5218),
+         q(5220),
          q(0),
          ],
       q(oji) => [
@@ -78446,167 +78464,167 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ojp) => [
-         q(5219),
+         q(5221),
          q(0),
          ],
       q(ojs) => [
-         q(5220),
+         q(5222),
          q(0),
          ],
       q(ojv) => [
-         q(5221),
+         q(5223),
          q(0),
          ],
       q(ojw) => [
-         q(5222),
+         q(5224),
          q(0),
          ],
       q(oka) => [
-         q(5223),
+         q(5225),
          q(0),
          ],
       q(okb) => [
-         q(5224),
+         q(5226),
          q(0),
          ],
       q(okd) => [
-         q(5225),
+         q(5227),
          q(0),
          ],
       q(oke) => [
-         q(5226),
+         q(5228),
          q(0),
          ],
       q(okg) => [
-         q(5227),
+         q(5229),
          q(0),
          ],
       q(okh) => [
-         q(5228),
+         q(5230),
          q(0),
          ],
       q(oki) => [
-         q(5229),
+         q(5231),
          q(0),
          ],
       q(okj) => [
-         q(5230),
+         q(5232),
          q(0),
          ],
       q(okk) => [
-         q(5231),
+         q(5233),
          q(0),
          ],
       q(okl) => [
-         q(5232),
+         q(5234),
          q(0),
          ],
       q(okm) => [
-         q(5233),
+         q(5235),
          q(0),
          ],
       q(okn) => [
-         q(5234),
+         q(5236),
          q(0),
          ],
       q(oko) => [
-         q(5235),
+         q(5237),
          q(0),
          ],
       q(okr) => [
-         q(5236),
+         q(5238),
          q(0),
          ],
       q(oks) => [
-         q(5237),
+         q(5239),
          q(0),
          ],
       q(oku) => [
-         q(5238),
+         q(5240),
          q(0),
          ],
       q(okv) => [
-         q(5239),
+         q(5241),
          q(0),
          ],
       q(okx) => [
-         q(5240),
+         q(5242),
          q(0),
          ],
       q(ola) => [
-         q(5241),
+         q(5243),
          q(0),
          ],
       q(old) => [
-         q(5242),
+         q(5244),
          q(0),
          ],
       q(ole) => [
-         q(5243),
+         q(5245),
          q(0),
          ],
       q(olk) => [
-         q(5244),
+         q(5246),
          q(0),
          ],
       q(olm) => [
-         q(5245),
+         q(5247),
          q(0),
          ],
       q(olo) => [
-         q(5246),
+         q(5248),
          q(0),
          ],
       q(olr) => [
-         q(5247),
+         q(5249),
          q(0),
          ],
       q(olt) => [
-         q(5248),
+         q(5250),
          q(0),
          ],
       q(oma) => [
-         q(5249),
+         q(5251),
          q(0),
          ],
       q(omb) => [
-         q(5250),
+         q(5252),
          q(0),
          ],
       q(omc) => [
-         q(5251),
+         q(5253),
          q(0),
          ],
       q(ome) => [
-         q(5252),
+         q(5254),
          q(0),
          ],
       q(omg) => [
-         q(5253),
+         q(5255),
          q(0),
          ],
       q(omi) => [
-         q(5254),
+         q(5256),
          q(0),
          ],
       q(omk) => [
-         q(5255),
+         q(5257),
          q(0),
          ],
       q(oml) => [
-         q(5256),
+         q(5258),
          q(0),
          ],
       q(omn) => [
-         q(5257),
+         q(5259),
          q(0),
          ],
       q(omo) => [
-         q(5258),
+         q(5260),
          q(0),
          ],
       q(omp) => [
-         q(5259),
+         q(5261),
          q(0),
          ],
       q(omq) => [
@@ -78614,15 +78632,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(omr) => [
-         q(5260),
+         q(5262),
          q(0),
          ],
       q(omt) => [
-         q(5261),
+         q(5263),
          q(0),
          ],
       q(omu) => [
-         q(5262),
+         q(5264),
          q(0),
          ],
       q(omv) => [
@@ -78630,139 +78648,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(omw) => [
-         q(5263),
+         q(5265),
          q(0),
          ],
       q(omx) => [
-         q(5264),
+         q(5266),
          q(0),
          ],
       q(ona) => [
-         q(5265),
+         q(5267),
          q(0),
          ],
       q(onb) => [
-         q(5266),
+         q(5268),
          q(0),
          ],
       q(one) => [
-         q(5267),
+         q(5269),
          q(0),
          ],
       q(ong) => [
-         q(5268),
+         q(5270),
          q(0),
          ],
       q(oni) => [
-         q(5269),
+         q(5271),
          q(0),
          ],
       q(onj) => [
-         q(5270),
+         q(5272),
          q(0),
          ],
       q(onk) => [
-         q(5271),
+         q(5273),
          q(0),
          ],
       q(onn) => [
-         q(5272),
+         q(5274),
          q(0),
          ],
       q(ono) => [
-         q(5273),
+         q(5275),
          q(0),
          ],
       q(onp) => [
-         q(5274),
+         q(5276),
          q(0),
          ],
       q(onr) => [
-         q(5275),
+         q(5277),
          q(0),
          ],
       q(ons) => [
-         q(5276),
+         q(5278),
          q(0),
          ],
       q(ont) => [
-         q(5277),
+         q(5279),
          q(0),
          ],
       q(onu) => [
-         q(5278),
+         q(5280),
          q(0),
          ],
       q(onw) => [
-         q(5279),
+         q(5281),
          q(0),
          ],
       q(onx) => [
-         q(5280),
+         q(5282),
          q(0),
          ],
       q(ood) => [
-         q(5281),
+         q(5283),
          q(0),
          ],
       q(oog) => [
-         q(5282),
+         q(5284),
          q(0),
          ],
       q(oon) => [
-         q(5283),
+         q(5285),
          q(0),
          ],
       q(oor) => [
-         q(5284),
+         q(5286),
          q(0),
          ],
       q(oos) => [
-         q(5285),
+         q(5287),
          q(0),
          ],
       q(opa) => [
-         q(5286),
+         q(5288),
          q(0),
          ],
       q(opk) => [
-         q(5287),
+         q(5289),
          q(0),
          ],
       q(opm) => [
-         q(5288),
+         q(5290),
          q(0),
          ],
       q(opo) => [
-         q(5289),
+         q(5291),
          q(0),
          ],
       q(opt) => [
-         q(5290),
+         q(5292),
          q(0),
          ],
       q(opy) => [
-         q(5291),
+         q(5293),
          q(0),
          ],
       q(ora) => [
-         q(5292),
+         q(5294),
          q(0),
          ],
       q(orc) => [
-         q(5293),
+         q(5295),
          q(0),
          ],
       q(ore) => [
-         q(5294),
+         q(5296),
          q(0),
          ],
       q(org) => [
-         q(5295),
+         q(5297),
          q(0),
          ],
       q(orh) => [
-         q(5296),
+         q(5298),
          q(0),
          ],
       q(ori) => [
@@ -78774,47 +78792,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(orn) => [
-         q(5297),
+         q(5299),
          q(0),
          ],
       q(oro) => [
-         q(5298),
+         q(5300),
          q(0),
          ],
       q(orr) => [
-         q(5299),
+         q(5301),
          q(0),
          ],
       q(ors) => [
-         q(5300),
+         q(5302),
          q(0),
          ],
       q(ort) => [
-         q(5301),
+         q(5303),
          q(0),
          ],
       q(oru) => [
-         q(5302),
+         q(5304),
          q(0),
          ],
       q(orv) => [
-         q(5303),
+         q(5305),
          q(0),
          ],
       q(orw) => [
-         q(5304),
+         q(5306),
          q(0),
          ],
       q(orx) => [
-         q(5305),
+         q(5307),
          q(0),
          ],
       q(ory) => [
-         q(5306),
+         q(5308),
          q(0),
          ],
       q(orz) => [
-         q(5307),
+         q(5309),
          q(0),
          ],
       q(osa) => [
@@ -78822,19 +78840,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(osc) => [
-         q(5308),
+         q(5310),
          q(0),
          ],
       q(osi) => [
-         q(5309),
+         q(5311),
          q(0),
          ],
       q(oso) => [
-         q(5310),
+         q(5312),
          q(0),
          ],
       q(osp) => [
-         q(5311),
+         q(5313),
          q(0),
          ],
       q(oss) => [
@@ -78842,15 +78860,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ost) => [
-         q(5312),
+         q(5314),
          q(0),
          ],
       q(osu) => [
-         q(5313),
+         q(5315),
          q(0),
          ],
       q(osx) => [
-         q(5314),
+         q(5316),
          q(0),
          ],
       q(ota) => [
@@ -78858,35 +78876,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(otb) => [
-         q(5315),
+         q(5317),
          q(0),
          ],
       q(otd) => [
-         q(5316),
+         q(5318),
          q(0),
          ],
       q(ote) => [
-         q(5317),
+         q(5319),
          q(0),
          ],
       q(oti) => [
-         q(5318),
+         q(5320),
          q(0),
          ],
       q(otk) => [
-         q(5319),
+         q(5321),
          q(0),
          ],
       q(otl) => [
-         q(5320),
+         q(5322),
          q(0),
          ],
       q(otm) => [
-         q(5321),
+         q(5323),
          q(0),
          ],
       q(otn) => [
-         q(5322),
+         q(5324),
          q(0),
          ],
       q(oto) => [
@@ -78894,87 +78912,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(otq) => [
-         q(5323),
+         q(5325),
          q(0),
          ],
       q(otr) => [
-         q(5324),
+         q(5326),
          q(0),
          ],
       q(ots) => [
-         q(5325),
+         q(5327),
          q(0),
          ],
       q(ott) => [
-         q(5326),
+         q(5328),
          q(0),
          ],
       q(otu) => [
-         q(5327),
+         q(5329),
          q(0),
          ],
       q(otw) => [
-         q(5328),
+         q(5330),
          q(0),
          ],
       q(otx) => [
-         q(5329),
+         q(5331),
          q(0),
          ],
       q(oty) => [
-         q(5330),
+         q(5332),
          q(0),
          ],
       q(otz) => [
-         q(5331),
+         q(5333),
          q(0),
          ],
       q(oua) => [
-         q(5332),
+         q(5334),
          q(0),
          ],
       q(oub) => [
-         q(5333),
+         q(5335),
          q(0),
          ],
       q(oue) => [
-         q(5334),
+         q(5336),
          q(0),
          ],
       q(oui) => [
-         q(5335),
+         q(5337),
          q(0),
          ],
       q(oum) => [
-         q(5336),
+         q(5338),
          q(0),
          ],
       q(owi) => [
-         q(5337),
+         q(5339),
          q(0),
          ],
       q(owl) => [
-         q(5338),
+         q(5340),
          q(0),
          ],
       q(oyb) => [
-         q(5339),
+         q(5341),
          q(0),
          ],
       q(oyd) => [
-         q(5340),
+         q(5342),
          q(0),
          ],
       q(oym) => [
-         q(5341),
+         q(5343),
          q(0),
          ],
       q(oyy) => [
-         q(5342),
+         q(5344),
          q(0),
          ],
       q(ozm) => [
-         q(5343),
+         q(5345),
          q(0),
          ],
       q(paa) => [
@@ -78982,23 +79000,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pab) => [
-         q(5344),
+         q(5346),
          q(0),
          ],
       q(pac) => [
-         q(5345),
+         q(5347),
          q(0),
          ],
       q(pad) => [
-         q(5346),
+         q(5348),
          q(0),
          ],
       q(pae) => [
-         q(5347),
+         q(5349),
          q(0),
          ],
       q(paf) => [
-         q(5348),
+         q(5350),
          q(0),
          ],
       q(pag) => [
@@ -79006,15 +79024,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pah) => [
-         q(5349),
+         q(5351),
          q(0),
          ],
       q(pai) => [
-         q(5350),
+         q(5352),
          q(0),
          ],
       q(pak) => [
-         q(5351),
+         q(5353),
          q(0),
          ],
       q(pal) => [
@@ -79030,7 +79048,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pao) => [
-         q(5352),
+         q(5354),
          q(0),
          ],
       q(pap) => [
@@ -79038,19 +79056,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(paq) => [
-         q(5353),
+         q(5355),
          q(0),
          ],
       q(par) => [
-         q(5354),
+         q(5356),
          q(0),
          ],
       q(pas) => [
-         q(5355),
+         q(5357),
          q(0),
          ],
       q(pat) => [
-         q(5356),
+         q(5358),
          q(0),
          ],
       q(pau) => [
@@ -79058,231 +79076,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pav) => [
-         q(5357),
+         q(5359),
          q(0),
          ],
       q(paw) => [
-         q(5358),
+         q(5360),
          q(0),
          ],
       q(pax) => [
-         q(5359),
+         q(5361),
          q(0),
          ],
       q(pay) => [
-         q(5360),
+         q(5362),
          q(0),
          ],
       q(paz) => [
-         q(5361),
+         q(5363),
          q(0),
          ],
       q(pbb) => [
-         q(5362),
+         q(5364),
          q(0),
          ],
       q(pbc) => [
-         q(5363),
+         q(5365),
          q(0),
          ],
       q(pbe) => [
-         q(5364),
+         q(5366),
          q(0),
          ],
       q(pbf) => [
-         q(5365),
+         q(5367),
          q(0),
          ],
       q(pbg) => [
-         q(5366),
+         q(5368),
          q(0),
          ],
       q(pbh) => [
-         q(5367),
+         q(5369),
          q(0),
          ],
       q(pbi) => [
-         q(5368),
+         q(5370),
          q(0),
          ],
       q(pbl) => [
-         q(5369),
+         q(5371),
          q(0),
          ],
       q(pbn) => [
-         q(5370),
+         q(5372),
          q(0),
          ],
       q(pbo) => [
-         q(5371),
+         q(5373),
          q(0),
          ],
       q(pbp) => [
-         q(5372),
+         q(5374),
          q(0),
          ],
       q(pbr) => [
-         q(5373),
+         q(5375),
          q(0),
          ],
       q(pbs) => [
-         q(5374),
+         q(5376),
          q(0),
          ],
       q(pbt) => [
-         q(5375),
+         q(5377),
          q(0),
          ],
       q(pbu) => [
-         q(5376),
+         q(5378),
          q(0),
          ],
       q(pbv) => [
-         q(5377),
+         q(5379),
          q(0),
          ],
       q(pby) => [
-         q(5378),
+         q(5380),
          q(0),
          ],
       q(pca) => [
-         q(5379),
+         q(5381),
          q(0),
          ],
       q(pcb) => [
-         q(5380),
+         q(5382),
          q(0),
          ],
       q(pcc) => [
-         q(5381),
+         q(5383),
          q(0),
          ],
       q(pcd) => [
-         q(5382),
+         q(5384),
          q(0),
          ],
       q(pce) => [
-         q(5383),
+         q(5385),
          q(0),
          ],
       q(pcf) => [
-         q(5384),
+         q(5386),
          q(0),
          ],
       q(pcg) => [
-         q(5385),
+         q(5387),
          q(0),
          ],
       q(pch) => [
-         q(5386),
+         q(5388),
          q(0),
          ],
       q(pci) => [
-         q(5387),
+         q(5389),
          q(0),
          ],
       q(pcj) => [
-         q(5388),
+         q(5390),
          q(0),
          ],
       q(pck) => [
-         q(5389),
+         q(5391),
          q(0),
          ],
       q(pcl) => [
-         q(5390),
+         q(5392),
          q(0),
          ],
       q(pcm) => [
-         q(5391),
+         q(5393),
          q(0),
          ],
       q(pcn) => [
-         q(5392),
+         q(5394),
          q(0),
          ],
       q(pcp) => [
-         q(5393),
+         q(5395),
          q(0),
          ],
       q(pcw) => [
-         q(5394),
+         q(5396),
          q(0),
          ],
       q(pda) => [
-         q(5395),
+         q(5397),
          q(0),
          ],
       q(pdc) => [
-         q(5396),
+         q(5398),
          q(0),
          ],
       q(pdi) => [
-         q(5397),
+         q(5399),
          q(0),
          ],
       q(pdn) => [
-         q(5398),
+         q(5400),
          q(0),
          ],
       q(pdo) => [
-         q(5399),
+         q(5401),
          q(0),
          ],
       q(pdt) => [
-         q(5400),
+         q(5402),
          q(0),
          ],
       q(pdu) => [
-         q(5401),
+         q(5403),
          q(0),
          ],
       q(pea) => [
-         q(5402),
+         q(5404),
          q(0),
          ],
       q(peb) => [
-         q(5403),
+         q(5405),
          q(0),
          ],
       q(ped) => [
-         q(5404),
+         q(5406),
          q(0),
          ],
       q(pee) => [
-         q(5405),
+         q(5407),
          q(0),
          ],
       q(pef) => [
-         q(5406),
+         q(5408),
          q(0),
          ],
       q(peg) => [
-         q(5407),
+         q(5409),
          q(0),
          ],
       q(peh) => [
-         q(5408),
+         q(5410),
          q(0),
          ],
       q(pei) => [
-         q(5409),
+         q(5411),
          q(0),
          ],
       q(pej) => [
-         q(5410),
+         q(5412),
          q(0),
          ],
       q(pek) => [
-         q(5411),
+         q(5413),
          q(0),
          ],
       q(pel) => [
-         q(5412),
+         q(5414),
          q(0),
          ],
       q(pem) => [
-         q(5413),
+         q(5415),
          q(0),
          ],
       q(peo) => [
@@ -79290,11 +79308,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(pep) => [
-         q(5414),
+         q(5416),
          q(0),
          ],
       q(peq) => [
-         q(5415),
+         q(5417),
          q(0),
          ],
       q(per) => [
@@ -79302,87 +79320,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pes) => [
-         q(5416),
+         q(5418),
          q(0),
          ],
       q(pev) => [
-         q(5417),
+         q(5419),
          q(0),
          ],
       q(pex) => [
-         q(5418),
+         q(5420),
          q(0),
          ],
       q(pey) => [
-         q(5419),
+         q(5421),
          q(0),
          ],
       q(pez) => [
-         q(5420),
+         q(5422),
          q(0),
          ],
       q(pfa) => [
-         q(5421),
+         q(5423),
          q(0),
          ],
       q(pfe) => [
-         q(5422),
+         q(5424),
          q(0),
          ],
       q(pfl) => [
-         q(5423),
+         q(5425),
          q(0),
          ],
       q(pga) => [
-         q(5424),
+         q(5426),
          q(0),
          ],
       q(pgd) => [
-         q(5425),
+         q(5427),
          q(0),
          ],
       q(pgg) => [
-         q(5426),
+         q(5428),
          q(0),
          ],
       q(pgi) => [
-         q(5427),
+         q(5429),
          q(0),
          ],
       q(pgk) => [
-         q(5428),
+         q(5430),
          q(0),
          ],
       q(pgl) => [
-         q(5429),
+         q(5431),
          q(0),
          ],
       q(pgn) => [
-         q(5430),
+         q(5432),
          q(0),
          ],
       q(pgs) => [
-         q(5431),
+         q(5433),
          q(0),
          ],
       q(pgu) => [
-         q(5432),
+         q(5434),
          q(0),
          ],
       q(pha) => [
-         q(5433),
+         q(5435),
          q(0),
          ],
       q(phd) => [
-         q(5434),
+         q(5436),
          q(0),
          ],
       q(phg) => [
-         q(5435),
+         q(5437),
          q(0),
          ],
       q(phh) => [
-         q(5436),
+         q(5438),
          q(0),
          ],
       q(phi) => [
@@ -79390,15 +79408,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(phk) => [
-         q(5437),
+         q(5439),
          q(0),
          ],
       q(phl) => [
-         q(5438),
+         q(5440),
          q(0),
          ],
       q(phm) => [
-         q(5439),
+         q(5441),
          q(0),
          ],
       q(phn) => [
@@ -79406,199 +79424,199 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pho) => [
-         q(5440),
+         q(5442),
          q(0),
          ],
       q(phq) => [
-         q(5441),
+         q(5443),
          q(0),
          ],
       q(phr) => [
-         q(5442),
+         q(5444),
          q(0),
          ],
       q(pht) => [
-         q(5443),
+         q(5445),
          q(0),
          ],
       q(phu) => [
-         q(5444),
+         q(5446),
          q(0),
          ],
       q(phv) => [
-         q(5445),
+         q(5447),
          q(0),
          ],
       q(phw) => [
-         q(5446),
+         q(5448),
          q(0),
          ],
       q(pia) => [
-         q(5447),
+         q(5449),
          q(0),
          ],
       q(pib) => [
-         q(5448),
+         q(5450),
          q(0),
          ],
       q(pic) => [
-         q(5449),
+         q(5451),
          q(0),
          ],
       q(pid) => [
-         q(5450),
+         q(5452),
          q(0),
          ],
       q(pie) => [
-         q(5451),
+         q(5453),
          q(0),
          ],
       q(pif) => [
-         q(5452),
+         q(5454),
          q(0),
          ],
       q(pig) => [
-         q(5453),
+         q(5455),
          q(0),
          ],
       q(pih) => [
-         q(5454),
+         q(5456),
          q(0),
          ],
       q(pii) => [
-         q(5455),
+         q(5457),
          q(0),
          ],
       q(pij) => [
-         q(5456),
+         q(5458),
          q(0),
          ],
       q(pil) => [
-         q(5457),
+         q(5459),
          q(0),
          ],
       q(pim) => [
-         q(5458),
+         q(5460),
          q(0),
          ],
       q(pin) => [
-         q(5459),
+         q(5461),
          q(0),
          ],
       q(pio) => [
-         q(5460),
+         q(5462),
          q(0),
          ],
       q(pip) => [
-         q(5461),
+         q(5463),
          q(0),
          ],
       q(pir) => [
-         q(5462),
+         q(5464),
          q(0),
          ],
       q(pis) => [
-         q(5463),
+         q(5465),
          q(0),
          ],
       q(pit) => [
-         q(5464),
+         q(5466),
          q(0),
          ],
       q(piu) => [
-         q(5465),
+         q(5467),
          q(0),
          ],
       q(piv) => [
-         q(5466),
+         q(5468),
          q(0),
          ],
       q(piw) => [
-         q(5467),
+         q(5469),
          q(0),
          ],
       q(pix) => [
-         q(5468),
+         q(5470),
          q(0),
          ],
       q(piy) => [
-         q(5469),
+         q(5471),
          q(0),
          ],
       q(piz) => [
-         q(5470),
+         q(5472),
          q(0),
          ],
       q(pjt) => [
-         q(5471),
+         q(5473),
          q(0),
          ],
       q(pka) => [
-         q(5472),
+         q(5474),
          q(0),
          ],
       q(pkb) => [
-         q(5473),
+         q(5475),
          q(0),
          ],
       q(pkc) => [
-         q(5474),
+         q(5476),
          q(0),
          ],
       q(pkg) => [
-         q(5475),
+         q(5477),
          q(0),
          ],
       q(pkh) => [
-         q(5476),
+         q(5478),
          q(0),
          ],
       q(pkn) => [
-         q(5477),
+         q(5479),
          q(0),
          ],
       q(pko) => [
-         q(5478),
+         q(5480),
          q(0),
          ],
       q(pkp) => [
-         q(5479),
+         q(5481),
          q(0),
          ],
       q(pkr) => [
-         q(5480),
+         q(5482),
          q(0),
          ],
       q(pks) => [
-         q(5481),
+         q(5483),
          q(0),
          ],
       q(pkt) => [
-         q(5482),
+         q(5484),
          q(0),
          ],
       q(pku) => [
-         q(5483),
+         q(5485),
          q(0),
          ],
       q(pla) => [
-         q(5484),
+         q(5486),
          q(0),
          ],
       q(plb) => [
-         q(5485),
+         q(5487),
          q(0),
          ],
       q(plc) => [
-         q(5486),
+         q(5488),
          q(0),
          ],
       q(pld) => [
-         q(5487),
+         q(5489),
          q(0),
          ],
       q(ple) => [
-         q(5488),
+         q(5490),
          q(0),
          ],
       q(plf) => [
@@ -79606,11 +79624,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(plg) => [
-         q(5489),
+         q(5491),
          q(0),
          ],
       q(plh) => [
-         q(5490),
+         q(5492),
          q(0),
          ],
       q(pli) => [
@@ -79618,279 +79636,279 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(plj) => [
-         q(5491),
+         q(5493),
          q(0),
          ],
       q(plk) => [
-         q(5492),
+         q(5494),
          q(0),
          ],
       q(pll) => [
-         q(5493),
+         q(5495),
          q(0),
          ],
       q(pln) => [
-         q(5494),
+         q(5496),
          q(0),
          ],
       q(plo) => [
-         q(5495),
+         q(5497),
          q(0),
          ],
       q(plp) => [
-         q(5496),
+         q(5498),
          q(0),
          ],
       q(plq) => [
-         q(5497),
+         q(5499),
          q(0),
          ],
       q(plr) => [
-         q(5498),
+         q(5500),
          q(0),
          ],
       q(pls) => [
-         q(5499),
+         q(5501),
          q(0),
          ],
       q(plt) => [
-         q(5500),
+         q(5502),
          q(0),
          ],
       q(plu) => [
-         q(5501),
+         q(5503),
          q(0),
          ],
       q(plv) => [
-         q(5502),
+         q(5504),
          q(0),
          ],
       q(plw) => [
-         q(5503),
+         q(5505),
          q(0),
          ],
       q(ply) => [
-         q(5504),
+         q(5506),
          q(0),
          ],
       q(plz) => [
-         q(5505),
+         q(5507),
          q(0),
          ],
       q(pma) => [
-         q(5506),
+         q(5508),
          q(0),
          ],
       q(pmb) => [
-         q(5507),
+         q(5509),
          q(0),
          ],
       q(pmc) => [
-         q(5508),
+         q(5510),
          q(0),
          ],
       q(pmd) => [
-         q(5509),
+         q(5511),
          q(0),
          ],
       q(pme) => [
-         q(5510),
+         q(5512),
          q(0),
          ],
       q(pmf) => [
-         q(5511),
+         q(5513),
          q(0),
          ],
       q(pmh) => [
-         q(5512),
+         q(5514),
          q(0),
          ],
       q(pmi) => [
-         q(5513),
+         q(5515),
          q(0),
          ],
       q(pmj) => [
-         q(5514),
+         q(5516),
          q(0),
          ],
       q(pmk) => [
-         q(5515),
+         q(5517),
          q(0),
          ],
       q(pml) => [
-         q(5516),
+         q(5518),
          q(0),
          ],
       q(pmm) => [
-         q(5517),
+         q(5519),
          q(0),
          ],
       q(pmn) => [
-         q(5518),
+         q(5520),
          q(0),
          ],
       q(pmo) => [
-         q(5519),
+         q(5521),
          q(0),
          ],
       q(pmq) => [
-         q(5520),
+         q(5522),
          q(0),
          ],
       q(pmr) => [
-         q(5521),
+         q(5523),
          q(0),
          ],
       q(pms) => [
-         q(5522),
+         q(5524),
          q(0),
          ],
       q(pmt) => [
-         q(5523),
+         q(5525),
          q(0),
          ],
       q(pmw) => [
-         q(5524),
+         q(5526),
          q(0),
          ],
       q(pmx) => [
-         q(5525),
+         q(5527),
          q(0),
          ],
       q(pmy) => [
-         q(5526),
+         q(5528),
          q(0),
          ],
       q(pmz) => [
-         q(5527),
+         q(5529),
          q(0),
          ],
       q(pna) => [
-         q(5528),
+         q(5530),
          q(0),
          ],
       q(pnb) => [
-         q(5529),
+         q(5531),
          q(0),
          ],
       q(pnc) => [
-         q(5530),
+         q(5532),
          q(0),
          ],
       q(pne) => [
-         q(5531),
+         q(5533),
          q(0),
          ],
       q(png) => [
-         q(5532),
+         q(5534),
          q(0),
          ],
       q(pnh) => [
-         q(5533),
+         q(5535),
          q(0),
          ],
       q(pni) => [
-         q(5534),
+         q(5536),
          q(0),
          ],
       q(pnj) => [
-         q(5535),
+         q(5537),
          q(0),
          ],
       q(pnk) => [
-         q(5536),
+         q(5538),
          q(0),
          ],
       q(pnl) => [
-         q(5537),
+         q(5539),
          q(0),
          ],
       q(pnm) => [
-         q(5538),
+         q(5540),
          q(0),
          ],
       q(pnn) => [
-         q(5539),
+         q(5541),
          q(0),
          ],
       q(pno) => [
-         q(5540),
+         q(5542),
          q(0),
          ],
       q(pnp) => [
-         q(5541),
+         q(5543),
          q(0),
          ],
       q(pnq) => [
-         q(5542),
+         q(5544),
          q(0),
          ],
       q(pnr) => [
-         q(5543),
+         q(5545),
          q(0),
          ],
       q(pns) => [
-         q(5544),
+         q(5546),
          q(0),
          ],
       q(pnt) => [
-         q(5545),
+         q(5547),
          q(0),
          ],
       q(pnu) => [
-         q(5546),
+         q(5548),
          q(0),
          ],
       q(pnv) => [
-         q(5547),
+         q(5549),
          q(0),
          ],
       q(pnw) => [
-         q(5548),
+         q(5550),
          q(0),
          ],
       q(pnx) => [
-         q(5549),
+         q(5551),
          q(0),
          ],
       q(pny) => [
-         q(5550),
+         q(5552),
          q(0),
          ],
       q(pnz) => [
-         q(5551),
+         q(5553),
          q(0),
          ],
       q(poc) => [
-         q(5552),
+         q(5554),
          q(0),
          ],
       q(pod) => [
-         q(5553),
+         q(5555),
          q(0),
          ],
       q(poe) => [
-         q(5554),
+         q(5556),
          q(0),
          ],
       q(pof) => [
-         q(5555),
+         q(5557),
          q(0),
          ],
       q(pog) => [
-         q(5556),
+         q(5558),
          q(0),
          ],
       q(poh) => [
-         q(5557),
+         q(5559),
          q(0),
          ],
       q(poi) => [
-         q(5558),
+         q(5560),
          q(0),
          ],
       q(pok) => [
-         q(5559),
+         q(5561),
          q(0),
          ],
       q(pol) => [
@@ -79898,7 +79916,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pom) => [
-         q(5560),
+         q(5562),
          q(0),
          ],
       q(pon) => [
@@ -79906,15 +79924,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(poo) => [
-         q(5561),
+         q(5563),
          q(0),
          ],
       q(pop) => [
-         q(5562),
+         q(5564),
          q(0),
          ],
       q(poq) => [
-         q(5563),
+         q(5565),
          q(0),
          ],
       q(por) => [
@@ -79922,27 +79940,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pos) => [
-         q(5564),
+         q(5566),
          q(0),
          ],
       q(pot) => [
-         q(5565),
+         q(5567),
          q(0),
          ],
       q(pov) => [
-         q(5566),
+         q(5568),
          q(0),
          ],
       q(pow) => [
-         q(5567),
+         q(5569),
          q(0),
          ],
       q(pox) => [
-         q(5568),
+         q(5570),
          q(0),
          ],
       q(poy) => [
-         q(5569),
+         q(5571),
          q(0),
          ],
       q(poz) => [
@@ -79950,59 +79968,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ppa) => [
-         q(5570),
+         q(5572),
          q(0),
          ],
       q(ppe) => [
-         q(5571),
+         q(5573),
          q(0),
          ],
       q(ppi) => [
-         q(5572),
+         q(5574),
          q(0),
          ],
       q(ppk) => [
-         q(5573),
+         q(5575),
          q(0),
          ],
       q(ppl) => [
-         q(5574),
+         q(5576),
          q(0),
          ],
       q(ppm) => [
-         q(5575),
+         q(5577),
          q(0),
          ],
       q(ppn) => [
-         q(5576),
+         q(5578),
          q(0),
          ],
       q(ppo) => [
-         q(5577),
+         q(5579),
          q(0),
          ],
       q(ppp) => [
-         q(5578),
+         q(5580),
          q(0),
          ],
       q(ppq) => [
-         q(5579),
+         q(5581),
          q(0),
          ],
       q(pps) => [
-         q(5580),
+         q(5582),
          q(0),
          ],
       q(ppt) => [
-         q(5581),
+         q(5583),
          q(0),
          ],
       q(ppu) => [
-         q(5582),
+         q(5584),
          q(0),
          ],
       q(pqa) => [
-         q(5583),
+         q(5585),
          q(0),
          ],
       q(pqe) => [
@@ -80010,7 +80028,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(pqm) => [
-         q(5584),
+         q(5586),
          q(0),
          ],
       q(pqw) => [
@@ -80022,51 +80040,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(prb) => [
-         q(5585),
+         q(5587),
          q(0),
          ],
       q(prc) => [
-         q(5586),
+         q(5588),
          q(0),
          ],
       q(prd) => [
-         q(5587),
+         q(5589),
          q(0),
          ],
       q(pre) => [
-         q(5588),
+         q(5590),
          q(0),
          ],
       q(prf) => [
-         q(5589),
+         q(5591),
          q(0),
          ],
       q(prg) => [
-         q(5590),
+         q(5592),
          q(0),
          ],
       q(prh) => [
-         q(5591),
+         q(5593),
          q(0),
          ],
       q(pri) => [
-         q(5592),
+         q(5594),
          q(0),
          ],
       q(prk) => [
-         q(5593),
+         q(5595),
          q(0),
          ],
       q(prl) => [
-         q(5594),
+         q(5596),
          q(0),
          ],
       q(prm) => [
-         q(5595),
+         q(5597),
          q(0),
          ],
       q(prn) => [
-         q(5596),
+         q(5598),
          q(0),
          ],
       q(pro) => [
@@ -80074,231 +80092,231 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(prp) => [
-         q(5597),
+         q(5599),
          q(0),
          ],
       q(prq) => [
-         q(5598),
+         q(5600),
          q(0),
          ],
       q(prr) => [
-         q(5599),
+         q(5601),
          q(0),
          ],
       q(prs) => [
-         q(5600),
+         q(5602),
          q(0),
          ],
       q(prt) => [
-         q(5601),
+         q(5603),
          q(0),
          ],
       q(pru) => [
-         q(5602),
+         q(5604),
          q(0),
          ],
       q(prw) => [
-         q(5603),
+         q(5605),
          q(0),
          ],
       q(prx) => [
-         q(5604),
+         q(5606),
          q(0),
          ],
       q(pry) => [
-         q(5605),
+         q(5607),
          q(0),
          ],
       q(prz) => [
-         q(5606),
+         q(5608),
          q(0),
          ],
       q(psa) => [
-         q(5607),
+         q(5609),
          q(0),
          ],
       q(psc) => [
-         q(5608),
+         q(5610),
          q(0),
          ],
       q(psd) => [
-         q(5609),
+         q(5611),
          q(0),
          ],
       q(pse) => [
-         q(5610),
+         q(5612),
          q(0),
          ],
       q(psg) => [
-         q(5611),
+         q(5613),
          q(0),
          ],
       q(psh) => [
-         q(5612),
+         q(5614),
          q(0),
          ],
       q(psi) => [
-         q(5613),
+         q(5615),
          q(0),
          ],
       q(psl) => [
-         q(5614),
+         q(5616),
          q(0),
          ],
       q(psm) => [
-         q(5615),
+         q(5617),
          q(0),
          ],
       q(psn) => [
-         q(5616),
+         q(5618),
          q(0),
          ],
       q(pso) => [
-         q(5617),
+         q(5619),
          q(0),
          ],
       q(psp) => [
-         q(5618),
+         q(5620),
          q(0),
          ],
       q(psq) => [
-         q(5619),
+         q(5621),
          q(0),
          ],
       q(psr) => [
-         q(5620),
+         q(5622),
          q(0),
          ],
       q(pss) => [
-         q(5621),
+         q(5623),
          q(0),
          ],
       q(pst) => [
-         q(5622),
+         q(5624),
          q(0),
          ],
       q(psu) => [
-         q(5623),
+         q(5625),
          q(0),
          ],
       q(psw) => [
-         q(5624),
+         q(5626),
          q(0),
          ],
       q(psy) => [
-         q(5625),
+         q(5627),
          q(0),
          ],
       q(pta) => [
-         q(5626),
+         q(5628),
          q(0),
          ],
       q(pth) => [
-         q(5627),
+         q(5629),
          q(0),
          ],
       q(pti) => [
-         q(5628),
+         q(5630),
          q(0),
          ],
       q(ptn) => [
-         q(5629),
+         q(5631),
          q(0),
          ],
       q(pto) => [
-         q(5630),
+         q(5632),
          q(0),
          ],
       q(ptp) => [
-         q(5631),
+         q(5633),
          q(0),
          ],
       q(ptq) => [
-         q(5632),
+         q(5634),
          q(0),
          ],
       q(ptr) => [
-         q(5633),
+         q(5635),
          q(0),
          ],
       q(ptt) => [
-         q(5634),
+         q(5636),
          q(0),
          ],
       q(ptu) => [
-         q(5635),
+         q(5637),
          q(0),
          ],
       q(ptv) => [
-         q(5636),
+         q(5638),
          q(0),
          ],
       q(ptw) => [
-         q(5637),
+         q(5639),
          q(0),
          ],
       q(pty) => [
-         q(5638),
+         q(5640),
          q(0),
          ],
       q(pua) => [
-         q(5639),
+         q(5641),
          q(0),
          ],
       q(pub) => [
-         q(5640),
+         q(5642),
          q(0),
          ],
       q(puc) => [
-         q(5641),
+         q(5643),
          q(0),
          ],
       q(pud) => [
-         q(5642),
+         q(5644),
          q(0),
          ],
       q(pue) => [
-         q(5643),
+         q(5645),
          q(0),
          ],
       q(puf) => [
-         q(5644),
+         q(5646),
          q(0),
          ],
       q(pug) => [
-         q(5645),
+         q(5647),
          q(0),
          ],
       q(pui) => [
-         q(5646),
+         q(5648),
          q(0),
          ],
       q(puj) => [
-         q(5647),
+         q(5649),
          q(0),
          ],
       q(puk) => [
-         q(5648),
+         q(5650),
          q(0),
          ],
       q(pum) => [
-         q(5649),
+         q(5651),
          q(0),
          ],
       q(puo) => [
-         q(5650),
+         q(5652),
          q(0),
          ],
       q(pup) => [
-         q(5651),
+         q(5653),
          q(0),
          ],
       q(puq) => [
-         q(5652),
+         q(5654),
          q(0),
          ],
       q(pur) => [
-         q(5653),
+         q(5655),
          q(0),
          ],
       q(pus) => [
@@ -80306,95 +80324,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(put) => [
-         q(5654),
+         q(5656),
          q(0),
          ],
       q(puu) => [
-         q(5655),
+         q(5657),
          q(0),
          ],
       q(puw) => [
-         q(5656),
+         q(5658),
          q(0),
          ],
       q(pux) => [
-         q(5657),
+         q(5659),
          q(0),
          ],
       q(puy) => [
-         q(5658),
+         q(5660),
          q(0),
          ],
       q(pwa) => [
-         q(5659),
+         q(5661),
          q(0),
          ],
       q(pwb) => [
-         q(5660),
+         q(5662),
          q(0),
          ],
       q(pwg) => [
-         q(5661),
+         q(5663),
          q(0),
          ],
       q(pwi) => [
-         q(5662),
+         q(5664),
          q(0),
          ],
       q(pwm) => [
-         q(5663),
+         q(5665),
          q(0),
          ],
       q(pwn) => [
-         q(5664),
+         q(5666),
          q(0),
          ],
       q(pwo) => [
-         q(5665),
+         q(5667),
          q(0),
          ],
       q(pwr) => [
-         q(5666),
+         q(5668),
          q(0),
          ],
       q(pww) => [
-         q(5667),
+         q(5669),
          q(0),
          ],
       q(pxm) => [
-         q(5668),
+         q(5670),
          q(0),
          ],
       q(pye) => [
-         q(5669),
+         q(5671),
          q(0),
          ],
       q(pym) => [
-         q(5670),
+         q(5672),
          q(0),
          ],
       q(pyn) => [
-         q(5671),
+         q(5673),
          q(0),
          ],
       q(pys) => [
-         q(5672),
+         q(5674),
          q(0),
          ],
       q(pyu) => [
-         q(5673),
+         q(5675),
          q(0),
          ],
       q(pyx) => [
-         q(5674),
+         q(5676),
          q(0),
          ],
       q(pyy) => [
-         q(5675),
+         q(5677),
          q(0),
          ],
       q(pzn) => [
-         q(5676),
+         q(5678),
          q(0),
          ],
       q(qtz) => [
@@ -80402,19 +80420,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(qua) => [
-         q(5677),
+         q(5679),
          q(0),
          ],
       q(qub) => [
-         q(5678),
+         q(5680),
          q(0),
          ],
       q(quc) => [
-         q(5679),
+         q(5681),
          q(0),
          ],
       q(qud) => [
-         q(5680),
+         q(5682),
          q(0),
          ],
       q(que) => [
@@ -80422,139 +80440,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(quf) => [
-         q(5681),
+         q(5683),
          q(0),
          ],
       q(qug) => [
-         q(5682),
+         q(5684),
          q(0),
          ],
       q(quh) => [
-         q(5683),
+         q(5685),
          q(0),
          ],
       q(qui) => [
-         q(5684),
+         q(5686),
          q(0),
          ],
       q(quk) => [
-         q(5685),
+         q(5687),
          q(0),
          ],
       q(qul) => [
-         q(5686),
+         q(5688),
          q(0),
          ],
       q(qum) => [
-         q(5687),
+         q(5689),
          q(0),
          ],
       q(qun) => [
-         q(5688),
+         q(5690),
          q(0),
          ],
       q(qup) => [
-         q(5689),
+         q(5691),
          q(0),
          ],
       q(quq) => [
-         q(5690),
+         q(5692),
          q(0),
          ],
       q(qur) => [
-         q(5691),
+         q(5693),
          q(0),
          ],
       q(qus) => [
-         q(5692),
+         q(5694),
          q(0),
          ],
       q(quv) => [
-         q(5693),
+         q(5695),
          q(0),
          ],
       q(quw) => [
-         q(5694),
+         q(5696),
          q(0),
          ],
       q(qux) => [
-         q(5695),
+         q(5697),
          q(0),
          ],
       q(quy) => [
-         q(5696),
+         q(5698),
          q(0),
          ],
       q(quz) => [
-         q(5697),
+         q(5699),
          q(0),
          ],
       q(qva) => [
-         q(5698),
+         q(5700),
          q(0),
          ],
       q(qvc) => [
-         q(5699),
+         q(5701),
          q(0),
          ],
       q(qve) => [
-         q(5700),
+         q(5702),
          q(0),
          ],
       q(qvh) => [
-         q(5701),
+         q(5703),
          q(0),
          ],
       q(qvi) => [
-         q(5702),
+         q(5704),
          q(0),
          ],
       q(qvj) => [
-         q(5703),
+         q(5705),
          q(0),
          ],
       q(qvl) => [
-         q(5704),
+         q(5706),
          q(0),
          ],
       q(qvm) => [
-         q(5705),
+         q(5707),
          q(0),
          ],
       q(qvn) => [
-         q(5706),
+         q(5708),
          q(0),
          ],
       q(qvo) => [
-         q(5707),
+         q(5709),
          q(0),
          ],
       q(qvp) => [
-         q(5708),
+         q(5710),
          q(0),
          ],
       q(qvs) => [
-         q(5709),
+         q(5711),
          q(0),
          ],
       q(qvw) => [
-         q(5710),
+         q(5712),
          q(0),
          ],
       q(qvy) => [
-         q(5711),
+         q(5713),
          q(0),
          ],
       q(qvz) => [
-         q(5712),
+         q(5714),
          q(0),
          ],
       q(qwa) => [
-         q(5713),
+         q(5715),
          q(0),
          ],
       q(qwc) => [
-         q(5714),
+         q(5716),
          q(0),
          ],
       q(qwe) => [
@@ -80562,111 +80580,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(qwh) => [
-         q(5715),
+         q(5717),
          q(0),
          ],
       q(qwm) => [
-         q(5716),
+         q(5718),
          q(0),
          ],
       q(qws) => [
-         q(5717),
+         q(5719),
          q(0),
          ],
       q(qwt) => [
-         q(5718),
+         q(5720),
          q(0),
          ],
       q(qxa) => [
-         q(5719),
+         q(5721),
          q(0),
          ],
       q(qxc) => [
-         q(5720),
+         q(5722),
          q(0),
          ],
       q(qxh) => [
-         q(5721),
+         q(5723),
          q(0),
          ],
       q(qxl) => [
-         q(5722),
+         q(5724),
          q(0),
          ],
       q(qxn) => [
-         q(5723),
+         q(5725),
          q(0),
          ],
       q(qxo) => [
-         q(5724),
+         q(5726),
          q(0),
          ],
       q(qxp) => [
-         q(5725),
+         q(5727),
          q(0),
          ],
       q(qxq) => [
-         q(5726),
+         q(5728),
          q(0),
          ],
       q(qxr) => [
-         q(5727),
+         q(5729),
          q(0),
          ],
       q(qxs) => [
-         q(5728),
+         q(5730),
          q(0),
          ],
       q(qxt) => [
-         q(5729),
+         q(5731),
          q(0),
          ],
       q(qxu) => [
-         q(5730),
+         q(5732),
          q(0),
          ],
       q(qxw) => [
-         q(5731),
+         q(5733),
          q(0),
          ],
       q(qya) => [
-         q(5732),
+         q(5734),
          q(0),
          ],
       q(qyp) => [
-         q(5733),
+         q(5735),
          q(0),
          ],
       q(raa) => [
-         q(5734),
+         q(5736),
          q(0),
          ],
       q(rab) => [
-         q(5735),
+         q(5737),
          q(0),
          ],
       q(rac) => [
-         q(5736),
+         q(5738),
          q(0),
          ],
       q(rad) => [
-         q(5737),
+         q(5739),
          q(0),
          ],
       q(raf) => [
-         q(5738),
+         q(5740),
          q(0),
          ],
       q(rag) => [
-         q(5739),
+         q(5741),
          q(0),
          ],
       q(rah) => [
-         q(5740),
+         q(5742),
          q(0),
          ],
       q(rai) => [
-         q(5741),
+         q(5743),
          q(0),
          ],
       q(raj) => [
@@ -80674,23 +80692,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rak) => [
-         q(5742),
+         q(5744),
          q(0),
          ],
       q(ral) => [
-         q(5743),
+         q(5745),
          q(0),
          ],
       q(ram) => [
-         q(5744),
+         q(5746),
          q(0),
          ],
       q(ran) => [
-         q(5745),
+         q(5747),
          q(0),
          ],
       q(rao) => [
-         q(5746),
+         q(5748),
          q(0),
          ],
       q(rap) => [
@@ -80698,7 +80716,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(raq) => [
-         q(5747),
+         q(5749),
          q(0),
          ],
       q(rar) => [
@@ -80706,351 +80724,351 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ras) => [
-         q(5748),
+         q(5750),
          q(0),
          ],
       q(rat) => [
-         q(5749),
+         q(5751),
          q(0),
          ],
       q(rau) => [
-         q(5750),
+         q(5752),
          q(0),
          ],
       q(rav) => [
-         q(5751),
+         q(5753),
          q(0),
          ],
       q(raw) => [
-         q(5752),
+         q(5754),
          q(0),
          ],
       q(rax) => [
-         q(5753),
+         q(5755),
          q(0),
          ],
       q(ray) => [
-         q(5754),
+         q(5756),
          q(0),
          ],
       q(raz) => [
-         q(5755),
+         q(5757),
          q(0),
          ],
       q(rbb) => [
-         q(5756),
+         q(5758),
          q(0),
          ],
       q(rbk) => [
-         q(5757),
+         q(5759),
          q(0),
          ],
       q(rbl) => [
-         q(5758),
+         q(5760),
          q(0),
          ],
       q(rbp) => [
-         q(5759),
+         q(5761),
          q(0),
          ],
       q(rcf) => [
-         q(5760),
+         q(5762),
          q(0),
          ],
       q(rdb) => [
-         q(5761),
+         q(5763),
          q(0),
          ],
       q(rea) => [
-         q(5762),
+         q(5764),
          q(0),
          ],
       q(reb) => [
-         q(5763),
+         q(5765),
          q(0),
          ],
       q(ree) => [
-         q(5764),
+         q(5766),
          q(0),
          ],
       q(reg) => [
-         q(5765),
+         q(5767),
          q(0),
          ],
       q(rei) => [
-         q(5766),
+         q(5768),
          q(0),
          ],
       q(rej) => [
-         q(5767),
+         q(5769),
          q(0),
          ],
       q(rel) => [
-         q(5768),
+         q(5770),
          q(0),
          ],
       q(rem) => [
-         q(5769),
+         q(5771),
          q(0),
          ],
       q(ren) => [
-         q(5770),
+         q(5772),
          q(0),
          ],
       q(rer) => [
-         q(5771),
+         q(5773),
          q(0),
          ],
       q(res) => [
-         q(5772),
+         q(5774),
          q(0),
          ],
       q(ret) => [
-         q(5773),
+         q(5775),
          q(0),
          ],
       q(rey) => [
-         q(5774),
+         q(5776),
          q(0),
          ],
       q(rga) => [
-         q(5775),
+         q(5777),
          q(0),
          ],
       q(rge) => [
-         q(5776),
+         q(5778),
          q(0),
          ],
       q(rgk) => [
-         q(5777),
+         q(5779),
          q(0),
          ],
       q(rgn) => [
-         q(5778),
+         q(5780),
          q(0),
          ],
       q(rgr) => [
-         q(5779),
+         q(5781),
          q(0),
          ],
       q(rgs) => [
-         q(5780),
+         q(5782),
          q(0),
          ],
       q(rgu) => [
-         q(5781),
+         q(5783),
          q(0),
          ],
       q(rhg) => [
-         q(5782),
+         q(5784),
          q(0),
          ],
       q(rhp) => [
-         q(5783),
+         q(5785),
          q(0),
          ],
       q(ria) => [
-         q(5784),
+         q(5786),
          q(0),
          ],
       q(rie) => [
-         q(5785),
+         q(5787),
          q(0),
          ],
       q(rif) => [
-         q(5786),
+         q(5788),
          q(0),
          ],
       q(ril) => [
-         q(5787),
+         q(5789),
          q(0),
          ],
       q(rim) => [
-         q(5788),
+         q(5790),
          q(0),
          ],
       q(rin) => [
-         q(5789),
+         q(5791),
          q(0),
          ],
       q(rir) => [
-         q(5790),
+         q(5792),
          q(0),
          ],
       q(rit) => [
-         q(5791),
+         q(5793),
          q(0),
          ],
       q(riu) => [
-         q(5792),
+         q(5794),
          q(0),
          ],
       q(rjg) => [
-         q(5793),
+         q(5795),
          q(0),
          ],
       q(rji) => [
-         q(5794),
+         q(5796),
          q(0),
          ],
       q(rjs) => [
-         q(5795),
+         q(5797),
          q(0),
          ],
       q(rka) => [
-         q(5796),
+         q(5798),
          q(0),
          ],
       q(rkb) => [
-         q(5797),
+         q(5799),
          q(0),
          ],
       q(rkh) => [
-         q(5798),
+         q(5800),
          q(0),
          ],
       q(rki) => [
-         q(5799),
+         q(5801),
          q(0),
          ],
       q(rkm) => [
-         q(5800),
+         q(5802),
          q(0),
          ],
       q(rkt) => [
-         q(5801),
+         q(5803),
          q(0),
          ],
       q(rkw) => [
-         q(5802),
+         q(5804),
          q(0),
          ],
       q(rma) => [
-         q(5803),
+         q(5805),
          q(0),
          ],
       q(rmb) => [
-         q(5804),
+         q(5806),
          q(0),
          ],
       q(rmc) => [
-         q(5805),
+         q(5807),
          q(0),
          ],
       q(rmd) => [
-         q(5806),
+         q(5808),
          q(0),
          ],
       q(rme) => [
-         q(5807),
+         q(5809),
          q(0),
          ],
       q(rmf) => [
-         q(5808),
+         q(5810),
          q(0),
          ],
       q(rmg) => [
-         q(5809),
+         q(5811),
          q(0),
          ],
       q(rmh) => [
-         q(5810),
+         q(5812),
          q(0),
          ],
       q(rmi) => [
-         q(5811),
+         q(5813),
          q(0),
          ],
       q(rmk) => [
-         q(5812),
+         q(5814),
          q(0),
          ],
       q(rml) => [
-         q(5813),
+         q(5815),
          q(0),
          ],
       q(rmm) => [
-         q(5814),
+         q(5816),
          q(0),
          ],
       q(rmn) => [
-         q(5815),
+         q(5817),
          q(0),
          ],
       q(rmo) => [
-         q(5816),
+         q(5818),
          q(0),
          ],
       q(rmp) => [
-         q(5817),
+         q(5819),
          q(0),
          ],
       q(rmq) => [
-         q(5818),
+         q(5820),
          q(0),
          ],
       q(rms) => [
-         q(5819),
+         q(5821),
          q(0),
          ],
       q(rmt) => [
-         q(5820),
+         q(5822),
          q(0),
          ],
       q(rmu) => [
-         q(5821),
+         q(5823),
          q(0),
          ],
       q(rmv) => [
-         q(5822),
+         q(5824),
          q(0),
          ],
       q(rmw) => [
-         q(5823),
+         q(5825),
          q(0),
          ],
       q(rmx) => [
-         q(5824),
+         q(5826),
          q(0),
          ],
       q(rmy) => [
-         q(5825),
+         q(5827),
          q(0),
          ],
       q(rmz) => [
-         q(5826),
+         q(5828),
          q(0),
          ],
       q(rna) => [
-         q(5827),
+         q(5829),
          q(0),
          ],
       q(rnd) => [
-         q(5828),
+         q(5830),
          q(0),
          ],
       q(rng) => [
-         q(5829),
+         q(5831),
          q(0),
          ],
       q(rnl) => [
-         q(5830),
+         q(5832),
          q(0),
          ],
       q(rnn) => [
-         q(5831),
+         q(5833),
          q(0),
          ],
       q(rnp) => [
-         q(5832),
+         q(5834),
          q(0),
          ],
       q(rnr) => [
-         q(5833),
+         q(5835),
          q(0),
          ],
       q(rnw) => [
-         q(5834),
+         q(5836),
          q(0),
          ],
       q(roa) => [
@@ -81058,27 +81076,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rob) => [
-         q(5835),
+         q(5837),
          q(0),
          ],
       q(roc) => [
-         q(5836),
+         q(5838),
          q(0),
          ],
       q(rod) => [
-         q(5837),
+         q(5839),
          q(0),
          ],
       q(roe) => [
-         q(5838),
+         q(5840),
          q(0),
          ],
       q(rof) => [
-         q(5839),
+         q(5841),
          q(0),
          ],
       q(rog) => [
-         q(5840),
+         q(5842),
          q(0),
          ],
       q(roh) => [
@@ -81086,7 +81104,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rol) => [
-         q(5841),
+         q(5843),
          q(0),
          ],
       q(rom) => [
@@ -81094,107 +81112,107 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(roo) => [
-         q(5842),
+         q(5844),
          q(0),
          ],
       q(rop) => [
-         q(5843),
+         q(5845),
          q(0),
          ],
       q(ror) => [
-         q(5844),
+         q(5846),
          q(0),
          ],
       q(rou) => [
-         q(5845),
+         q(5847),
          q(0),
          ],
       q(row) => [
-         q(5846),
+         q(5848),
          q(0),
          ],
       q(rpn) => [
-         q(5847),
+         q(5849),
          q(0),
          ],
       q(rpt) => [
-         q(5848),
+         q(5850),
          q(0),
          ],
       q(rri) => [
-         q(5849),
+         q(5851),
          q(0),
          ],
       q(rro) => [
-         q(5850),
+         q(5852),
          q(0),
          ],
       q(rrt) => [
-         q(5851),
+         q(5853),
          q(0),
          ],
       q(rsb) => [
-         q(5852),
+         q(5854),
          q(0),
          ],
       q(rsi) => [
-         q(5853),
+         q(5855),
          q(0),
          ],
       q(rsl) => [
-         q(5854),
+         q(5856),
          q(0),
          ],
       q(rtc) => [
-         q(5855),
+         q(5857),
          q(0),
          ],
       q(rth) => [
-         q(5856),
+         q(5858),
          q(0),
          ],
       q(rtm) => [
-         q(5857),
+         q(5859),
          q(0),
          ],
       q(rts) => [
-         q(5858),
+         q(5860),
          q(0),
          ],
       q(rtw) => [
-         q(5859),
+         q(5861),
          q(0),
          ],
       q(rub) => [
-         q(5860),
+         q(5862),
          q(0),
          ],
       q(ruc) => [
-         q(5861),
+         q(5863),
          q(0),
          ],
       q(rue) => [
-         q(5862),
+         q(5864),
          q(0),
          ],
       q(ruf) => [
-         q(5863),
+         q(5865),
          q(0),
          ],
       q(rug) => [
-         q(5864),
+         q(5866),
          q(0),
          ],
       q(ruh) => [
-         q(5865),
+         q(5867),
          q(0),
          ],
       q(rui) => [
-         q(5866),
+         q(5868),
          q(0),
          ],
       q(ruk) => [
-         q(5867),
+         q(5869),
          q(0),
          ],
       q(rum) => [
@@ -81206,7 +81224,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ruo) => [
-         q(5868),
+         q(5870),
          q(0),
          ],
       q(rup) => [
@@ -81214,7 +81232,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(2),
          ],
       q(ruq) => [
-         q(5869),
+         q(5871),
          q(0),
          ],
       q(rus) => [
@@ -81222,71 +81240,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(rut) => [
-         q(5870),
+         q(5872),
          q(0),
          ],
       q(ruu) => [
-         q(5871),
+         q(5873),
          q(0),
          ],
       q(ruy) => [
-         q(5872),
+         q(5874),
          q(0),
          ],
       q(ruz) => [
-         q(5873),
+         q(5875),
          q(0),
          ],
       q(rwa) => [
-         q(5874),
+         q(5876),
          q(0),
          ],
       q(rwk) => [
-         q(5875),
+         q(5877),
          q(0),
          ],
       q(rwm) => [
-         q(5876),
+         q(5878),
          q(0),
          ],
       q(rwo) => [
-         q(5877),
+         q(5879),
          q(0),
          ],
       q(rwr) => [
-         q(5878),
+         q(5880),
          q(0),
          ],
       q(rxd) => [
-         q(5879),
+         q(5881),
          q(0),
          ],
       q(rxw) => [
-         q(5880),
+         q(5882),
          q(0),
          ],
       q(ryn) => [
-         q(5881),
+         q(5883),
          q(0),
          ],
       q(rys) => [
-         q(5882),
+         q(5884),
          q(0),
          ],
       q(ryu) => [
-         q(5883),
+         q(5885),
          q(0),
          ],
       q(saa) => [
-         q(5884),
+         q(5886),
          q(0),
          ],
       q(sab) => [
-         q(5885),
+         q(5887),
          q(0),
          ],
       q(sac) => [
-         q(5886),
+         q(5888),
          q(0),
          ],
       q(sad) => [
@@ -81294,11 +81312,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sae) => [
-         q(5887),
+         q(5889),
          q(0),
          ],
       q(saf) => [
-         q(5888),
+         q(5890),
          q(0),
          ],
       q(sag) => [
@@ -81314,11 +81332,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(saj) => [
-         q(5889),
+         q(5891),
          q(0),
          ],
       q(sak) => [
-         q(5890),
+         q(5892),
          q(0),
          ],
       q(sal) => [
@@ -81334,15 +81352,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sao) => [
-         q(5891),
+         q(5893),
          q(0),
          ],
       q(saq) => [
-         q(5892),
+         q(5894),
          q(0),
          ],
       q(sar) => [
-         q(5893),
+         q(5895),
          q(0),
          ],
       q(sas) => [
@@ -81354,163 +81372,163 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sau) => [
-         q(5894),
+         q(5896),
          q(0),
          ],
       q(sav) => [
-         q(5895),
+         q(5897),
          q(0),
          ],
       q(saw) => [
-         q(5896),
+         q(5898),
          q(0),
          ],
       q(sax) => [
-         q(5897),
+         q(5899),
          q(0),
          ],
       q(say) => [
-         q(5898),
+         q(5900),
          q(0),
          ],
       q(saz) => [
-         q(5899),
+         q(5901),
          q(0),
          ],
       q(sba) => [
-         q(5900),
+         q(5902),
          q(0),
          ],
       q(sbb) => [
-         q(5901),
+         q(5903),
          q(0),
          ],
       q(sbc) => [
-         q(5902),
+         q(5904),
          q(0),
          ],
       q(sbd) => [
-         q(5903),
+         q(5905),
          q(0),
          ],
       q(sbe) => [
-         q(5904),
+         q(5906),
          q(0),
          ],
       q(sbf) => [
-         q(5905),
+         q(5907),
          q(0),
          ],
       q(sbg) => [
-         q(5906),
+         q(5908),
          q(0),
          ],
       q(sbh) => [
-         q(5907),
+         q(5909),
          q(0),
          ],
       q(sbi) => [
-         q(5908),
+         q(5910),
          q(0),
          ],
       q(sbj) => [
-         q(5909),
+         q(5911),
          q(0),
          ],
       q(sbk) => [
-         q(5910),
+         q(5912),
          q(0),
          ],
       q(sbl) => [
-         q(5911),
+         q(5913),
          q(0),
          ],
       q(sbm) => [
-         q(5912),
+         q(5914),
          q(0),
          ],
       q(sbn) => [
-         q(5913),
+         q(5915),
          q(0),
          ],
       q(sbo) => [
-         q(5914),
+         q(5916),
          q(0),
          ],
       q(sbp) => [
-         q(5915),
+         q(5917),
          q(0),
          ],
       q(sbq) => [
-         q(5916),
+         q(5918),
          q(0),
          ],
       q(sbr) => [
-         q(5917),
+         q(5919),
          q(0),
          ],
       q(sbs) => [
-         q(5918),
+         q(5920),
          q(0),
          ],
       q(sbt) => [
-         q(5919),
+         q(5921),
          q(0),
          ],
       q(sbu) => [
-         q(5920),
+         q(5922),
          q(0),
          ],
       q(sbv) => [
-         q(5921),
+         q(5923),
          q(0),
          ],
       q(sbw) => [
-         q(5922),
+         q(5924),
          q(0),
          ],
       q(sbx) => [
-         q(5923),
+         q(5925),
          q(0),
          ],
       q(sby) => [
-         q(5924),
+         q(5926),
          q(0),
          ],
       q(sbz) => [
-         q(5925),
+         q(5927),
          q(0),
          ],
       q(scb) => [
-         q(5926),
+         q(5928),
          q(0),
          ],
       q(sce) => [
-         q(5927),
+         q(5929),
          q(0),
          ],
       q(scf) => [
-         q(5928),
+         q(5930),
          q(0),
          ],
       q(scg) => [
-         q(5929),
+         q(5931),
          q(0),
          ],
       q(sch) => [
-         q(5930),
+         q(5932),
          q(0),
          ],
       q(sci) => [
-         q(5931),
+         q(5933),
          q(0),
          ],
       q(sck) => [
-         q(5932),
+         q(5934),
          q(0),
          ],
       q(scl) => [
-         q(5933),
+         q(5935),
          q(0),
          ],
       q(scn) => [
@@ -81522,103 +81540,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(scp) => [
-         q(5934),
+         q(5936),
          q(0),
          ],
       q(scq) => [
-         q(5935),
+         q(5937),
          q(0),
          ],
       q(scs) => [
-         q(5936),
+         q(5938),
          q(0),
          ],
       q(scu) => [
-         q(5937),
+         q(5939),
          q(0),
          ],
       q(scv) => [
-         q(5938),
+         q(5940),
          q(0),
          ],
       q(scw) => [
-         q(5939),
+         q(5941),
          q(0),
          ],
       q(scx) => [
-         q(5940),
+         q(5942),
          q(0),
          ],
       q(sda) => [
-         q(5941),
+         q(5943),
          q(0),
          ],
       q(sdb) => [
-         q(5942),
+         q(5944),
          q(0),
          ],
       q(sdc) => [
-         q(5943),
+         q(5945),
          q(0),
          ],
       q(sde) => [
-         q(5944),
+         q(5946),
          q(0),
          ],
       q(sdf) => [
-         q(5945),
+         q(5947),
          q(0),
          ],
       q(sdg) => [
-         q(5946),
+         q(5948),
          q(0),
          ],
       q(sdh) => [
-         q(5947),
+         q(5949),
          q(0),
          ],
       q(sdj) => [
-         q(5948),
+         q(5950),
          q(0),
          ],
       q(sdk) => [
-         q(5949),
+         q(5951),
          q(0),
          ],
       q(sdl) => [
-         q(5950),
+         q(5952),
          q(0),
          ],
       q(sdm) => [
-         q(5951),
+         q(5953),
          q(0),
          ],
       q(sdn) => [
-         q(5952),
+         q(5954),
          q(0),
          ],
       q(sdo) => [
-         q(5953),
+         q(5955),
          q(0),
          ],
       q(sdp) => [
-         q(5954),
+         q(5956),
          q(0),
          ],
       q(sdr) => [
-         q(5955),
+         q(5957),
          q(0),
          ],
       q(sds) => [
-         q(5956),
+         q(5958),
          q(0),
          ],
       q(sdt) => [
-         q(5957),
+         q(5959),
          q(0),
          ],
       q(sdu) => [
-         q(5958),
+         q(5960),
          q(0),
          ],
       q(sdv) => [
@@ -81626,55 +81644,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sdx) => [
-         q(5959),
+         q(5961),
          q(0),
          ],
       q(sdz) => [
-         q(5960),
+         q(5962),
          q(0),
          ],
       q(sea) => [
-         q(5961),
+         q(5963),
          q(0),
          ],
       q(seb) => [
-         q(5962),
+         q(5964),
          q(0),
          ],
       q(sec) => [
-         q(5963),
+         q(5965),
          q(0),
          ],
       q(sed) => [
-         q(5964),
+         q(5966),
          q(0),
          ],
       q(see) => [
-         q(5965),
+         q(5967),
          q(0),
          ],
       q(sef) => [
-         q(5966),
+         q(5968),
          q(0),
          ],
       q(seg) => [
-         q(5967),
+         q(5969),
          q(0),
          ],
       q(seh) => [
-         q(5968),
+         q(5970),
          q(0),
          ],
       q(sei) => [
-         q(5969),
+         q(5971),
          q(0),
          ],
       q(sej) => [
-         q(5970),
+         q(5972),
          q(0),
          ],
       q(sek) => [
-         q(5971),
+         q(5973),
          q(0),
          ],
       q(sel) => [
@@ -81686,71 +81704,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sen) => [
-         q(5972),
+         q(5974),
          q(0),
          ],
       q(seo) => [
-         q(5973),
+         q(5975),
          q(0),
          ],
       q(sep) => [
-         q(5974),
+         q(5976),
          q(0),
          ],
       q(seq) => [
-         q(5975),
+         q(5977),
          q(0),
          ],
       q(ser) => [
-         q(5976),
+         q(5978),
          q(0),
          ],
       q(ses) => [
-         q(5977),
+         q(5979),
          q(0),
          ],
       q(set) => [
-         q(5978),
+         q(5980),
          q(0),
          ],
       q(seu) => [
-         q(5979),
+         q(5981),
          q(0),
          ],
       q(sev) => [
-         q(5980),
+         q(5982),
          q(0),
          ],
       q(sew) => [
-         q(5981),
+         q(5983),
          q(0),
          ],
       q(sey) => [
-         q(5982),
+         q(5984),
          q(0),
          ],
       q(sez) => [
-         q(5983),
+         q(5985),
          q(0),
          ],
       q(sfb) => [
-         q(5984),
+         q(5986),
          q(0),
          ],
       q(sfe) => [
-         q(5985),
+         q(5987),
          q(0),
          ],
       q(sfm) => [
-         q(5986),
+         q(5988),
          q(0),
          ],
       q(sfs) => [
-         q(5987),
+         q(5989),
          q(0),
          ],
       q(sfw) => [
-         q(5988),
+         q(5990),
          q(0),
          ],
       q(sga) => [
@@ -81758,43 +81776,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(sgb) => [
-         q(5989),
+         q(5991),
          q(0),
          ],
       q(sgc) => [
-         q(5990),
+         q(5992),
          q(0),
          ],
       q(sgd) => [
-         q(5991),
+         q(5993),
          q(0),
          ],
       q(sge) => [
-         q(5992),
+         q(5994),
          q(0),
          ],
       q(sgg) => [
-         q(5993),
+         q(5995),
          q(0),
          ],
       q(sgh) => [
-         q(5994),
+         q(5996),
          q(0),
          ],
       q(sgi) => [
-         q(5995),
+         q(5997),
          q(0),
          ],
       q(sgj) => [
-         q(5996),
+         q(5998),
          q(0),
          ],
       q(sgk) => [
-         q(5997),
+         q(5999),
          q(0),
          ],
       q(sgm) => [
-         q(5998),
+         q(6000),
          q(0),
          ],
       q(sgn) => [
@@ -81802,87 +81820,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sgp) => [
-         q(5999),
+         q(6001),
          q(0),
          ],
       q(sgr) => [
-         q(6000),
+         q(6002),
          q(0),
          ],
       q(sgs) => [
-         q(6001),
+         q(6003),
          q(0),
          ],
       q(sgt) => [
-         q(6002),
+         q(6004),
          q(0),
          ],
       q(sgu) => [
-         q(6003),
+         q(6005),
          q(0),
          ],
       q(sgw) => [
-         q(6004),
+         q(6006),
          q(0),
          ],
       q(sgx) => [
-         q(6005),
+         q(6007),
          q(0),
          ],
       q(sgy) => [
-         q(6006),
+         q(6008),
          q(0),
          ],
       q(sgz) => [
-         q(6007),
+         q(6009),
          q(0),
          ],
       q(sha) => [
-         q(6008),
+         q(6010),
          q(0),
          ],
       q(shb) => [
-         q(6009),
+         q(6011),
          q(0),
          ],
       q(shc) => [
-         q(6010),
+         q(6012),
          q(0),
          ],
       q(shd) => [
-         q(6011),
+         q(6013),
          q(0),
          ],
       q(she) => [
-         q(6012),
+         q(6014),
          q(0),
          ],
       q(shg) => [
-         q(6013),
+         q(6015),
          q(0),
          ],
       q(shh) => [
-         q(6014),
+         q(6016),
          q(0),
          ],
       q(shi) => [
-         q(6015),
+         q(6017),
          q(0),
          ],
       q(shj) => [
-         q(6016),
+         q(6018),
          q(0),
          ],
       q(shk) => [
-         q(6017),
+         q(6019),
          q(0),
          ],
       q(shl) => [
-         q(6018),
+         q(6020),
          q(0),
          ],
       q(shm) => [
-         q(6019),
+         q(6021),
          q(0),
          ],
       q(shn) => [
@@ -81890,59 +81908,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sho) => [
-         q(6020),
+         q(6022),
          q(0),
          ],
       q(shp) => [
-         q(6021),
+         q(6023),
          q(0),
          ],
       q(shq) => [
-         q(6022),
+         q(6024),
          q(0),
          ],
       q(shr) => [
-         q(6023),
+         q(6025),
          q(0),
          ],
       q(shs) => [
-         q(6024),
+         q(6026),
          q(0),
          ],
       q(sht) => [
-         q(6025),
+         q(6027),
          q(0),
          ],
       q(shu) => [
-         q(6026),
+         q(6028),
          q(0),
          ],
       q(shv) => [
-         q(6027),
+         q(6029),
          q(0),
          ],
       q(shw) => [
-         q(6028),
+         q(6030),
          q(0),
          ],
       q(shx) => [
-         q(6029),
+         q(6031),
          q(0),
          ],
       q(shy) => [
-         q(6030),
+         q(6032),
          q(0),
          ],
       q(shz) => [
-         q(6031),
+         q(6033),
          q(0),
          ],
       q(sia) => [
-         q(6032),
+         q(6034),
          q(0),
          ],
       q(sib) => [
-         q(6033),
+         q(6035),
          q(0),
          ],
       q(sid) => [
@@ -81950,39 +81968,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sie) => [
-         q(6034),
+         q(6036),
          q(0),
          ],
       q(sif) => [
-         q(6035),
+         q(6037),
          q(0),
          ],
       q(sig) => [
-         q(6036),
+         q(6038),
          q(0),
          ],
       q(sih) => [
-         q(6037),
+         q(6039),
          q(0),
          ],
       q(sii) => [
-         q(6038),
+         q(6040),
          q(0),
          ],
       q(sij) => [
-         q(6039),
+         q(6041),
          q(0),
          ],
       q(sik) => [
-         q(6040),
+         q(6042),
          q(0),
          ],
       q(sil) => [
-         q(6041),
+         q(6043),
          q(0),
          ],
       q(sim) => [
-         q(6042),
+         q(6044),
          q(0),
          ],
       q(sin) => [
@@ -81994,19 +82012,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sip) => [
-         q(6043),
+         q(6045),
          q(0),
          ],
       q(siq) => [
-         q(6044),
+         q(6046),
          q(0),
          ],
       q(sir) => [
-         q(6045),
+         q(6047),
          q(0),
          ],
       q(sis) => [
-         q(6046),
+         q(6048),
          q(0),
          ],
       q(sit) => [
@@ -82014,191 +82032,191 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(siu) => [
-         q(6047),
+         q(6049),
          q(0),
          ],
       q(siv) => [
-         q(6048),
+         q(6050),
          q(0),
          ],
       q(siw) => [
-         q(6049),
+         q(6051),
          q(0),
          ],
       q(six) => [
-         q(6050),
+         q(6052),
          q(0),
          ],
       q(siy) => [
-         q(6051),
+         q(6053),
          q(0),
          ],
       q(siz) => [
-         q(6052),
+         q(6054),
          q(0),
          ],
       q(sja) => [
-         q(6053),
+         q(6055),
          q(0),
          ],
       q(sjb) => [
-         q(6054),
+         q(6056),
          q(0),
          ],
       q(sjd) => [
-         q(6055),
+         q(6057),
          q(0),
          ],
       q(sje) => [
-         q(6056),
+         q(6058),
          q(0),
          ],
       q(sjg) => [
-         q(6057),
+         q(6059),
          q(0),
          ],
       q(sjk) => [
-         q(6058),
+         q(6060),
          q(0),
          ],
       q(sjl) => [
-         q(6059),
+         q(6061),
          q(0),
          ],
       q(sjm) => [
-         q(6060),
+         q(6062),
          q(0),
          ],
       q(sjn) => [
-         q(6061),
+         q(6063),
          q(0),
          ],
       q(sjo) => [
-         q(6062),
+         q(6064),
          q(0),
          ],
       q(sjp) => [
-         q(6063),
+         q(6065),
          q(0),
          ],
       q(sjr) => [
-         q(6064),
+         q(6066),
          q(0),
          ],
       q(sjs) => [
-         q(6065),
+         q(6067),
          q(0),
          ],
       q(sjt) => [
-         q(6066),
+         q(6068),
          q(0),
          ],
       q(sju) => [
-         q(6067),
+         q(6069),
          q(0),
          ],
       q(sjw) => [
-         q(6068),
+         q(6070),
          q(0),
          ],
       q(ska) => [
-         q(6069),
+         q(6071),
          q(0),
          ],
       q(skb) => [
-         q(6070),
+         q(6072),
          q(0),
          ],
       q(skc) => [
-         q(6071),
+         q(6073),
          q(0),
          ],
       q(skd) => [
-         q(6072),
+         q(6074),
          q(0),
          ],
       q(ske) => [
-         q(6073),
+         q(6075),
          q(0),
          ],
       q(skf) => [
-         q(6074),
+         q(6076),
          q(0),
          ],
       q(skg) => [
-         q(6075),
+         q(6077),
          q(0),
          ],
       q(skh) => [
-         q(6076),
+         q(6078),
          q(0),
          ],
       q(ski) => [
-         q(6077),
+         q(6079),
          q(0),
          ],
       q(skj) => [
-         q(6078),
+         q(6080),
          q(0),
          ],
       q(skk) => [
-         q(6079),
+         q(6081),
          q(0),
          ],
       q(skm) => [
-         q(6080),
+         q(6082),
          q(0),
          ],
       q(skn) => [
-         q(6081),
+         q(6083),
          q(0),
          ],
       q(sko) => [
-         q(6082),
+         q(6084),
          q(0),
          ],
       q(skp) => [
-         q(6083),
+         q(6085),
          q(0),
          ],
       q(skq) => [
-         q(6084),
+         q(6086),
          q(0),
          ],
       q(skr) => [
-         q(6085),
+         q(6087),
          q(0),
          ],
       q(sks) => [
-         q(6086),
+         q(6088),
          q(0),
          ],
       q(skt) => [
-         q(6087),
+         q(6089),
          q(0),
          ],
       q(sku) => [
-         q(6088),
+         q(6090),
          q(0),
          ],
       q(skv) => [
-         q(6089),
+         q(6091),
          q(0),
          ],
       q(skw) => [
-         q(6090),
+         q(6092),
          q(0),
          ],
       q(skx) => [
-         q(6091),
+         q(6093),
          q(0),
          ],
       q(sky) => [
-         q(6092),
+         q(6094),
          q(0),
          ],
       q(skz) => [
-         q(6093),
+         q(6095),
          q(0),
          ],
       q(sla) => [
@@ -82206,47 +82224,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(slc) => [
-         q(5904),
+         q(5906),
          q(0),
          ],
       q(sld) => [
-         q(6094),
+         q(6096),
          q(0),
          ],
       q(sle) => [
-         q(6095),
+         q(6097),
          q(0),
          ],
       q(slf) => [
-         q(6096),
+         q(6098),
          q(0),
          ],
       q(slg) => [
-         q(6097),
+         q(6099),
          q(0),
          ],
       q(slh) => [
-         q(6098),
+         q(6100),
          q(0),
          ],
       q(sli) => [
-         q(6099),
+         q(6101),
          q(0),
          ],
       q(slj) => [
-         q(6100),
+         q(6102),
          q(0),
          ],
       q(sll) => [
-         q(6101),
+         q(6103),
          q(0),
          ],
       q(slm) => [
-         q(6102),
+         q(6104),
          q(0),
          ],
       q(sln) => [
-         q(6103),
+         q(6105),
          q(0),
          ],
       q(slo) => [
@@ -82254,27 +82272,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(slp) => [
-         q(6104),
+         q(6106),
          q(0),
          ],
       q(slq) => [
-         q(6105),
+         q(6107),
          q(0),
          ],
       q(slr) => [
-         q(6106),
+         q(6108),
          q(0),
          ],
       q(sls) => [
-         q(6107),
+         q(6109),
          q(0),
          ],
       q(slt) => [
-         q(6108),
+         q(6110),
          q(0),
          ],
       q(slu) => [
-         q(6109),
+         q(6111),
          q(0),
          ],
       q(slv) => [
@@ -82282,19 +82300,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(slw) => [
-         q(6110),
+         q(6112),
          q(0),
          ],
       q(slx) => [
-         q(6111),
+         q(6113),
          q(0),
          ],
       q(sly) => [
-         q(6112),
+         q(6114),
          q(0),
          ],
       q(slz) => [
-         q(6113),
+         q(6115),
          q(0),
          ],
       q(sma) => [
@@ -82302,15 +82320,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smb) => [
-         q(6114),
+         q(6116),
          q(0),
          ],
       q(smc) => [
-         q(6115),
+         q(6117),
          q(0),
          ],
       q(smd) => [
-         q(6116),
+         q(6118),
          q(0),
          ],
       q(sme) => [
@@ -82318,15 +82336,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smf) => [
-         q(6117),
+         q(6119),
          q(0),
          ],
       q(smg) => [
-         q(6118),
+         q(6120),
          q(0),
          ],
       q(smh) => [
-         q(6119),
+         q(6121),
          q(0),
          ],
       q(smi) => [
@@ -82338,15 +82356,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smk) => [
-         q(6120),
+         q(6122),
          q(0),
          ],
       q(sml) => [
-         q(6121),
+         q(6123),
          q(0),
          ],
       q(smm) => [
-         q(6122),
+         q(6124),
          q(0),
          ],
       q(smn) => [
@@ -82358,15 +82376,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smp) => [
-         q(6123),
+         q(6125),
          q(0),
          ],
       q(smq) => [
-         q(6124),
+         q(6126),
          q(0),
          ],
       q(smr) => [
-         q(6125),
+         q(6127),
          q(0),
          ],
       q(sms) => [
@@ -82374,31 +82392,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(smt) => [
-         q(6126),
+         q(6128),
          q(0),
          ],
       q(smu) => [
-         q(6127),
+         q(6129),
          q(0),
          ],
       q(smv) => [
-         q(6128),
+         q(6130),
          q(0),
          ],
       q(smw) => [
-         q(6129),
+         q(6131),
          q(0),
          ],
       q(smx) => [
-         q(6130),
+         q(6132),
          q(0),
          ],
       q(smy) => [
-         q(6131),
+         q(6133),
          q(0),
          ],
       q(smz) => [
-         q(6132),
+         q(6134),
          q(0),
          ],
       q(sna) => [
@@ -82406,11 +82424,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(snb) => [
-         q(6133),
+         q(6135),
          q(0),
          ],
       q(snc) => [
-         q(6134),
+         q(6136),
          q(0),
          ],
       q(snd) => [
@@ -82418,27 +82436,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sne) => [
-         q(6135),
+         q(6137),
          q(0),
          ],
       q(snf) => [
-         q(6136),
+         q(6138),
          q(0),
          ],
       q(sng) => [
-         q(6137),
+         q(6139),
          q(0),
          ],
       q(snh) => [
-         q(6138),
+         q(6140),
          q(0),
          ],
       q(sni) => [
-         q(6139),
+         q(6141),
          q(0),
          ],
       q(snj) => [
-         q(6140),
+         q(6142),
          q(0),
          ],
       q(snk) => [
@@ -82446,79 +82464,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(snl) => [
-         q(6141),
+         q(6143),
          q(0),
          ],
       q(snm) => [
-         q(6142),
+         q(6144),
          q(0),
          ],
       q(snn) => [
-         q(6143),
+         q(6145),
          q(0),
          ],
       q(sno) => [
-         q(6144),
+         q(6146),
          q(0),
          ],
       q(snp) => [
-         q(6145),
+         q(6147),
          q(0),
          ],
       q(snq) => [
-         q(6146),
+         q(6148),
          q(0),
          ],
       q(snr) => [
-         q(6147),
+         q(6149),
          q(0),
          ],
       q(sns) => [
-         q(6148),
+         q(6150),
          q(0),
          ],
       q(snu) => [
-         q(6149),
+         q(6151),
          q(0),
          ],
       q(snv) => [
-         q(6150),
+         q(6152),
          q(0),
          ],
       q(snw) => [
-         q(6151),
+         q(6153),
          q(0),
          ],
       q(snx) => [
-         q(6152),
+         q(6154),
          q(0),
          ],
       q(sny) => [
-         q(6153),
+         q(6155),
          q(0),
          ],
       q(snz) => [
-         q(6154),
+         q(6156),
          q(0),
          ],
       q(soa) => [
-         q(6155),
+         q(6157),
          q(0),
          ],
       q(sob) => [
-         q(6156),
+         q(6158),
          q(0),
          ],
       q(soc) => [
-         q(6157),
+         q(6159),
          q(0),
          ],
       q(sod) => [
-         q(6158),
+         q(6160),
          q(0),
          ],
       q(soe) => [
-         q(6159),
+         q(6161),
          q(0),
          ],
       q(sog) => [
@@ -82526,23 +82544,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(soh) => [
-         q(6160),
+         q(6162),
          q(0),
          ],
       q(soi) => [
-         q(6161),
+         q(6163),
          q(0),
          ],
       q(soj) => [
-         q(6162),
+         q(6164),
          q(0),
          ],
       q(sok) => [
-         q(6163),
+         q(6165),
          q(0),
          ],
       q(sol) => [
-         q(6164),
+         q(6166),
          q(0),
          ],
       q(som) => [
@@ -82554,23 +82572,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(soo) => [
-         q(6165),
+         q(6167),
          q(0),
          ],
       q(sop) => [
-         q(6166),
+         q(6168),
          q(0),
          ],
       q(soq) => [
-         q(6167),
+         q(6169),
          q(0),
          ],
       q(sor) => [
-         q(6168),
+         q(6170),
          q(0),
          ],
       q(sos) => [
-         q(6169),
+         q(6171),
          q(0),
          ],
       q(sot) => [
@@ -82578,27 +82596,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sou) => [
-         q(6170),
+         q(6172),
          q(0),
          ],
       q(sov) => [
-         q(6171),
+         q(6173),
          q(0),
          ],
       q(sow) => [
-         q(6172),
+         q(6174),
          q(0),
          ],
       q(sox) => [
-         q(6173),
+         q(6175),
          q(0),
          ],
       q(soy) => [
-         q(6174),
+         q(6176),
          q(0),
          ],
       q(soz) => [
-         q(6175),
+         q(6177),
          q(0),
          ],
       q(spa) => [
@@ -82606,91 +82624,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(spb) => [
-         q(6176),
+         q(6178),
          q(0),
          ],
       q(spc) => [
-         q(6177),
+         q(6179),
          q(0),
          ],
       q(spd) => [
-         q(6178),
+         q(6180),
          q(0),
          ],
       q(spe) => [
-         q(6179),
+         q(6181),
          q(0),
          ],
       q(spg) => [
-         q(6180),
+         q(6182),
          q(0),
          ],
       q(spi) => [
-         q(6181),
+         q(6183),
          q(0),
          ],
       q(spk) => [
-         q(6182),
+         q(6184),
          q(0),
          ],
       q(spl) => [
-         q(6183),
+         q(6185),
          q(0),
          ],
       q(spm) => [
-         q(6184),
+         q(6186),
          q(0),
          ],
       q(spn) => [
-         q(6185),
+         q(6187),
          q(0),
          ],
       q(spo) => [
-         q(6186),
+         q(6188),
          q(0),
          ],
       q(spp) => [
-         q(6187),
+         q(6189),
          q(0),
          ],
       q(spq) => [
-         q(6188),
+         q(6190),
          q(0),
          ],
       q(spr) => [
-         q(6189),
+         q(6191),
          q(0),
          ],
       q(sps) => [
-         q(6190),
+         q(6192),
          q(0),
          ],
       q(spt) => [
-         q(6191),
+         q(6193),
          q(0),
          ],
       q(spu) => [
-         q(6192),
+         q(6194),
          q(0),
          ],
       q(spv) => [
-         q(6193),
+         q(6195),
          q(0),
          ],
       q(spx) => [
-         q(6194),
+         q(6196),
          q(0),
          ],
       q(spy) => [
-         q(6195),
+         q(6197),
          q(0),
          ],
       q(sqa) => [
-         q(6196),
+         q(6198),
          q(0),
          ],
       q(sqh) => [
-         q(6197),
+         q(6199),
          q(0),
          ],
       q(sqj) => [
@@ -82698,51 +82716,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sqk) => [
-         q(6198),
+         q(6200),
          q(0),
          ],
       q(sqm) => [
-         q(6199),
+         q(6201),
          q(0),
          ],
       q(sqn) => [
-         q(6200),
+         q(6202),
          q(0),
          ],
       q(sqo) => [
-         q(6201),
+         q(6203),
          q(0),
          ],
       q(sqq) => [
-         q(6202),
+         q(6204),
          q(0),
          ],
       q(sqr) => [
-         q(6203),
+         q(6205),
          q(0),
          ],
       q(sqs) => [
-         q(6204),
+         q(6206),
          q(0),
          ],
       q(sqt) => [
-         q(6205),
+         q(6207),
          q(0),
          ],
       q(squ) => [
-         q(6206),
+         q(6208),
          q(0),
          ],
       q(sra) => [
-         q(6207),
+         q(6209),
          q(0),
          ],
       q(srb) => [
-         q(6208),
+         q(6210),
          q(0),
          ],
       q(src) => [
-         q(6209),
+         q(6211),
          q(0),
          ],
       q(srd) => [
@@ -82750,35 +82768,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sre) => [
-         q(6210),
+         q(6212),
          q(0),
          ],
       q(srf) => [
-         q(6211),
+         q(6213),
          q(0),
          ],
       q(srg) => [
-         q(6212),
+         q(6214),
          q(0),
          ],
       q(srh) => [
-         q(6213),
+         q(6215),
          q(0),
          ],
       q(sri) => [
-         q(6214),
+         q(6216),
          q(0),
          ],
       q(srk) => [
-         q(6215),
+         q(6217),
          q(0),
          ],
       q(srl) => [
-         q(6216),
+         q(6218),
          q(0),
          ],
       q(srm) => [
-         q(6217),
+         q(6219),
          q(0),
          ],
       q(srn) => [
@@ -82786,7 +82804,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sro) => [
-         q(6218),
+         q(6220),
          q(0),
          ],
       q(srp) => [
@@ -82794,7 +82812,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(srq) => [
-         q(6219),
+         q(6221),
          q(0),
          ],
       q(srr) => [
@@ -82802,35 +82820,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(srs) => [
-         q(6220),
+         q(6222),
          q(0),
          ],
       q(srt) => [
-         q(6221),
+         q(6223),
          q(0),
          ],
       q(sru) => [
-         q(6222),
+         q(6224),
          q(0),
          ],
       q(srv) => [
-         q(6223),
+         q(6225),
          q(0),
          ],
       q(srw) => [
-         q(6224),
+         q(6226),
          q(0),
          ],
       q(srx) => [
-         q(6225),
+         q(6227),
          q(0),
          ],
       q(sry) => [
-         q(6226),
+         q(6228),
          q(0),
          ],
       q(srz) => [
-         q(6227),
+         q(6229),
          q(0),
          ],
       q(ssa) => [
@@ -82838,87 +82856,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ssb) => [
-         q(6228),
+         q(6230),
          q(0),
          ],
       q(ssc) => [
-         q(6229),
+         q(6231),
          q(0),
          ],
       q(ssd) => [
-         q(6230),
+         q(6232),
          q(0),
          ],
       q(sse) => [
-         q(6231),
+         q(6233),
          q(0),
          ],
       q(ssf) => [
-         q(6232),
+         q(6234),
          q(0),
          ],
       q(ssg) => [
-         q(6233),
+         q(6235),
          q(0),
          ],
       q(ssh) => [
-         q(6234),
+         q(6236),
          q(0),
          ],
       q(ssi) => [
-         q(6235),
+         q(6237),
          q(0),
          ],
       q(ssj) => [
-         q(6236),
+         q(6238),
          q(0),
          ],
       q(ssk) => [
-         q(6237),
+         q(6239),
          q(0),
          ],
       q(ssl) => [
-         q(6238),
+         q(6240),
          q(0),
          ],
       q(ssm) => [
-         q(6239),
+         q(6241),
          q(0),
          ],
       q(ssn) => [
-         q(6240),
+         q(6242),
          q(0),
          ],
       q(sso) => [
-         q(6241),
+         q(6243),
          q(0),
          ],
       q(ssp) => [
-         q(6242),
+         q(6244),
          q(0),
          ],
       q(ssq) => [
-         q(6243),
+         q(6245),
          q(0),
          ],
       q(ssr) => [
-         q(6244),
+         q(6246),
          q(0),
          ],
       q(sss) => [
-         q(6245),
+         q(6247),
          q(0),
          ],
       q(sst) => [
-         q(6246),
+         q(6248),
          q(0),
          ],
       q(ssu) => [
-         q(6247),
+         q(6249),
          q(0),
          ],
       q(ssv) => [
-         q(6248),
+         q(6250),
          q(0),
          ],
       q(ssw) => [
@@ -82926,135 +82944,135 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ssx) => [
-         q(6249),
+         q(6251),
          q(0),
          ],
       q(ssy) => [
-         q(6250),
+         q(6252),
          q(0),
          ],
       q(ssz) => [
-         q(6251),
+         q(6253),
          q(0),
          ],
       q(sta) => [
-         q(6252),
+         q(6254),
          q(0),
          ],
       q(stb) => [
-         q(6253),
+         q(6255),
          q(0),
          ],
       q(std) => [
-         q(6254),
+         q(6256),
          q(0),
          ],
       q(ste) => [
-         q(6255),
+         q(6257),
          q(0),
          ],
       q(stf) => [
-         q(6256),
+         q(6258),
          q(0),
          ],
       q(stg) => [
-         q(6257),
+         q(6259),
          q(0),
          ],
       q(sth) => [
-         q(6258),
+         q(6260),
          q(0),
          ],
       q(sti) => [
-         q(6259),
+         q(6261),
          q(0),
          ],
       q(stj) => [
-         q(6260),
+         q(6262),
          q(0),
          ],
       q(stk) => [
-         q(6261),
+         q(6263),
          q(0),
          ],
       q(stl) => [
-         q(6262),
+         q(6264),
          q(0),
          ],
       q(stm) => [
-         q(6263),
+         q(6265),
          q(0),
          ],
       q(stn) => [
-         q(6264),
+         q(6266),
          q(0),
          ],
       q(sto) => [
-         q(6265),
+         q(6267),
          q(0),
          ],
       q(stp) => [
-         q(6266),
+         q(6268),
          q(0),
          ],
       q(stq) => [
-         q(6267),
+         q(6269),
          q(0),
          ],
       q(str) => [
-         q(6268),
+         q(6270),
          q(0),
          ],
       q(sts) => [
-         q(6269),
+         q(6271),
          q(0),
          ],
       q(stt) => [
-         q(6270),
+         q(6272),
          q(0),
          ],
       q(stu) => [
-         q(6271),
+         q(6273),
          q(0),
          ],
       q(stv) => [
-         q(6272),
+         q(6274),
          q(0),
          ],
       q(stw) => [
-         q(6273),
+         q(6275),
          q(0),
          ],
       q(sty) => [
-         q(6274),
+         q(6276),
          q(0),
          ],
       q(sua) => [
-         q(6275),
+         q(6277),
          q(0),
          ],
       q(sub) => [
-         q(6276),
+         q(6278),
          q(0),
          ],
       q(suc) => [
-         q(6277),
+         q(6279),
          q(0),
          ],
       q(sue) => [
-         q(6278),
+         q(6280),
          q(0),
          ],
       q(sug) => [
-         q(6279),
+         q(6281),
          q(0),
          ],
       q(sui) => [
-         q(6280),
+         q(6282),
          q(0),
          ],
       q(suj) => [
-         q(6281),
+         q(6283),
          q(0),
          ],
       q(suk) => [
@@ -83066,11 +83084,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(suq) => [
-         q(6282),
+         q(6284),
          q(0),
          ],
       q(sur) => [
-         q(6283),
+         q(6285),
          q(0),
          ],
       q(sus) => [
@@ -83078,15 +83096,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sut) => [
-         q(6284),
+         q(6286),
          q(0),
          ],
       q(suv) => [
-         q(6285),
+         q(6287),
          q(0),
          ],
       q(suw) => [
-         q(6286),
+         q(6288),
          q(0),
          ],
       q(sux) => [
@@ -83094,47 +83112,47 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(suy) => [
-         q(6287),
+         q(6289),
          q(0),
          ],
       q(suz) => [
-         q(6288),
+         q(6290),
          q(0),
          ],
       q(sva) => [
-         q(6289),
+         q(6291),
          q(0),
          ],
       q(svb) => [
-         q(6290),
+         q(6292),
          q(0),
          ],
       q(svc) => [
-         q(6291),
+         q(6293),
          q(0),
          ],
       q(sve) => [
-         q(6292),
+         q(6294),
          q(0),
          ],
       q(svk) => [
-         q(6293),
+         q(6295),
          q(0),
          ],
       q(svm) => [
-         q(6294),
+         q(6296),
          q(0),
          ],
       q(svr) => [
-         q(6295),
+         q(6297),
          q(0),
          ],
       q(svs) => [
-         q(6296),
+         q(6298),
          q(0),
          ],
       q(svx) => [
-         q(6297),
+         q(6299),
          q(0),
          ],
       q(swa) => [
@@ -83142,11 +83160,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(swb) => [
-         q(6298),
+         q(6300),
          q(0),
          ],
       q(swc) => [
-         q(6299),
+         q(6301),
          q(0),
          ],
       q(swe) => [
@@ -83154,143 +83172,143 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(swf) => [
-         q(6300),
+         q(6302),
          q(0),
          ],
       q(swg) => [
-         q(6301),
+         q(6303),
          q(0),
          ],
       q(swh) => [
-         q(6302),
+         q(6304),
          q(0),
          ],
       q(swi) => [
-         q(6303),
+         q(6305),
          q(0),
          ],
       q(swj) => [
-         q(6304),
+         q(6306),
          q(0),
          ],
       q(swk) => [
-         q(6305),
+         q(6307),
          q(0),
          ],
       q(swl) => [
-         q(6306),
+         q(6308),
          q(0),
          ],
       q(swm) => [
-         q(6307),
+         q(6309),
          q(0),
          ],
       q(swn) => [
-         q(6308),
+         q(6310),
          q(0),
          ],
       q(swo) => [
-         q(6309),
+         q(6311),
          q(0),
          ],
       q(swp) => [
-         q(6310),
+         q(6312),
          q(0),
          ],
       q(swq) => [
-         q(6311),
+         q(6313),
          q(0),
          ],
       q(swr) => [
-         q(6312),
+         q(6314),
          q(0),
          ],
       q(sws) => [
-         q(6313),
+         q(6315),
          q(0),
          ],
       q(swt) => [
-         q(6314),
+         q(6316),
          q(0),
          ],
       q(swu) => [
-         q(6315),
+         q(6317),
          q(0),
          ],
       q(swv) => [
-         q(6316),
+         q(6318),
          q(0),
          ],
       q(sww) => [
-         q(6317),
+         q(6319),
          q(0),
          ],
       q(swx) => [
-         q(6318),
+         q(6320),
          q(0),
          ],
       q(swy) => [
-         q(6319),
+         q(6321),
          q(0),
          ],
       q(sxb) => [
-         q(6320),
+         q(6322),
          q(0),
          ],
       q(sxc) => [
-         q(6321),
+         q(6323),
          q(0),
          ],
       q(sxe) => [
-         q(6322),
+         q(6324),
          q(0),
          ],
       q(sxg) => [
-         q(6323),
+         q(6325),
          q(0),
          ],
       q(sxk) => [
-         q(6324),
+         q(6326),
          q(0),
          ],
       q(sxl) => [
-         q(6325),
+         q(6327),
          q(0),
          ],
       q(sxm) => [
-         q(6326),
+         q(6328),
          q(0),
          ],
       q(sxn) => [
-         q(6327),
+         q(6329),
          q(0),
          ],
       q(sxo) => [
-         q(6328),
+         q(6330),
          q(0),
          ],
       q(sxr) => [
-         q(6329),
+         q(6331),
          q(0),
          ],
       q(sxs) => [
-         q(6330),
+         q(6332),
          q(0),
          ],
       q(sxu) => [
-         q(6331),
+         q(6333),
          q(0),
          ],
       q(sxw) => [
-         q(6332),
+         q(6334),
          q(0),
          ],
       q(sya) => [
-         q(6333),
+         q(6335),
          q(0),
          ],
       q(syb) => [
-         q(6334),
+         q(6336),
          q(0),
          ],
       q(syc) => [
@@ -83302,27 +83320,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(syi) => [
-         q(6335),
+         q(6337),
          q(0),
          ],
       q(syk) => [
-         q(6336),
+         q(6338),
          q(0),
          ],
       q(syl) => [
-         q(6337),
+         q(6339),
          q(0),
          ],
       q(sym) => [
-         q(6338),
+         q(6340),
          q(0),
          ],
       q(syn) => [
-         q(6339),
+         q(6341),
          q(0),
          ],
       q(syo) => [
-         q(6340),
+         q(6342),
          q(0),
          ],
       q(syr) => [
@@ -83330,91 +83348,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(sys) => [
-         q(6341),
+         q(6343),
          q(0),
          ],
       q(syw) => [
-         q(6342),
+         q(6344),
          q(0),
          ],
       q(syx) => [
-         q(6343),
+         q(6345),
          q(0),
          ],
       q(syy) => [
-         q(6344),
+         q(6346),
          q(0),
          ],
       q(sza) => [
-         q(6345),
+         q(6347),
          q(0),
          ],
       q(szb) => [
-         q(6346),
+         q(6348),
          q(0),
          ],
       q(szc) => [
-         q(6347),
+         q(6349),
          q(0),
          ],
       q(szd) => [
-         q(6348),
+         q(6350),
          q(0),
          ],
       q(sze) => [
-         q(6349),
+         q(6351),
          q(0),
          ],
       q(szg) => [
-         q(6350),
+         q(6352),
          q(0),
          ],
       q(szl) => [
-         q(6351),
+         q(6353),
          q(0),
          ],
       q(szn) => [
-         q(6352),
+         q(6354),
          q(0),
          ],
       q(szp) => [
-         q(6353),
+         q(6355),
          q(0),
          ],
       q(szv) => [
-         q(6354),
+         q(6356),
          q(0),
          ],
       q(szw) => [
-         q(6355),
+         q(6357),
          q(0),
          ],
       q(taa) => [
-         q(6356),
+         q(6358),
          q(0),
          ],
       q(tab) => [
-         q(6357),
+         q(6359),
          q(0),
          ],
       q(tac) => [
-         q(6358),
+         q(6360),
          q(0),
          ],
       q(tad) => [
-         q(6359),
+         q(6361),
          q(0),
          ],
       q(tae) => [
-         q(6360),
+         q(6362),
          q(0),
          ],
       q(taf) => [
-         q(6361),
+         q(6363),
          q(0),
          ],
       q(tag) => [
-         q(6362),
+         q(6364),
          q(0),
          ],
       q(tah) => [
@@ -83426,15 +83444,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(taj) => [
-         q(6363),
+         q(6365),
          q(0),
          ],
       q(tak) => [
-         q(6364),
+         q(6366),
          q(0),
          ],
       q(tal) => [
-         q(6365),
+         q(6367),
          q(0),
          ],
       q(tam) => [
@@ -83442,27 +83460,27 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tan) => [
-         q(6366),
+         q(6368),
          q(0),
          ],
       q(tao) => [
-         q(6367),
+         q(6369),
          q(0),
          ],
       q(tap) => [
-         q(6368),
+         q(6370),
          q(0),
          ],
       q(taq) => [
-         q(6369),
+         q(6371),
          q(0),
          ],
       q(tar) => [
-         q(6370),
+         q(6372),
          q(0),
          ],
       q(tas) => [
-         q(6371),
+         q(6373),
          q(0),
          ],
       q(tat) => [
@@ -83470,91 +83488,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tau) => [
-         q(6372),
+         q(6374),
          q(0),
          ],
       q(tav) => [
-         q(6373),
+         q(6375),
          q(0),
          ],
       q(taw) => [
-         q(6374),
+         q(6376),
          q(0),
          ],
       q(tax) => [
-         q(6375),
+         q(6377),
          q(0),
          ],
       q(tay) => [
-         q(6376),
+         q(6378),
          q(0),
          ],
       q(taz) => [
-         q(6377),
+         q(6379),
          q(0),
          ],
       q(tba) => [
-         q(6378),
+         q(6380),
          q(0),
          ],
       q(tbb) => [
-         q(6379),
+         q(6381),
          q(0),
          ],
       q(tbc) => [
-         q(6380),
+         q(6382),
          q(0),
          ],
       q(tbd) => [
-         q(6381),
+         q(6383),
          q(0),
          ],
       q(tbe) => [
-         q(6382),
+         q(6384),
          q(0),
          ],
       q(tbf) => [
-         q(6383),
+         q(6385),
          q(0),
          ],
       q(tbg) => [
-         q(6384),
+         q(6386),
          q(0),
          ],
       q(tbh) => [
-         q(6385),
+         q(6387),
          q(0),
          ],
       q(tbi) => [
-         q(6386),
+         q(6388),
          q(0),
          ],
       q(tbj) => [
-         q(6387),
+         q(6389),
          q(0),
          ],
       q(tbk) => [
-         q(6388),
+         q(6390),
          q(0),
          ],
       q(tbl) => [
-         q(6389),
+         q(6391),
          q(0),
          ],
       q(tbm) => [
-         q(6390),
+         q(6392),
          q(0),
          ],
       q(tbn) => [
-         q(6391),
+         q(6393),
          q(0),
          ],
       q(tbo) => [
-         q(6392),
+         q(6394),
          q(0),
          ],
       q(tbp) => [
-         q(6393),
+         q(6395),
          q(0),
          ],
       q(tbq) => [
@@ -83562,259 +83580,259 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tbr) => [
-         q(6394),
+         q(6396),
          q(0),
          ],
       q(tbs) => [
-         q(6395),
+         q(6397),
          q(0),
          ],
       q(tbt) => [
-         q(6396),
+         q(6398),
          q(0),
          ],
       q(tbu) => [
-         q(6397),
+         q(6399),
          q(0),
          ],
       q(tbv) => [
-         q(6398),
+         q(6400),
          q(0),
          ],
       q(tbw) => [
-         q(6399),
+         q(6401),
          q(0),
          ],
       q(tbx) => [
-         q(6400),
+         q(6402),
          q(0),
          ],
       q(tby) => [
-         q(6401),
+         q(6403),
          q(0),
          ],
       q(tbz) => [
-         q(6402),
+         q(6404),
          q(0),
          ],
       q(tca) => [
-         q(6403),
+         q(6405),
          q(0),
          ],
       q(tcb) => [
-         q(6404),
+         q(6406),
          q(0),
          ],
       q(tcc) => [
-         q(6405),
+         q(6407),
          q(0),
          ],
       q(tcd) => [
-         q(6406),
+         q(6408),
          q(0),
          ],
       q(tce) => [
-         q(6407),
+         q(6409),
          q(0),
          ],
       q(tcf) => [
-         q(6408),
+         q(6410),
          q(0),
          ],
       q(tcg) => [
-         q(6409),
+         q(6411),
          q(0),
          ],
       q(tch) => [
-         q(6410),
+         q(6412),
          q(0),
          ],
       q(tci) => [
-         q(6411),
+         q(6413),
          q(0),
          ],
       q(tck) => [
-         q(6412),
+         q(6414),
          q(0),
          ],
       q(tcl) => [
-         q(6413),
+         q(6415),
          q(0),
          ],
       q(tcm) => [
-         q(6414),
+         q(6416),
          q(0),
          ],
       q(tcn) => [
-         q(6415),
+         q(6417),
          q(0),
          ],
       q(tco) => [
-         q(6416),
+         q(6418),
          q(0),
          ],
       q(tcp) => [
-         q(6417),
+         q(6419),
          q(0),
          ],
       q(tcq) => [
-         q(6418),
+         q(6420),
          q(0),
          ],
       q(tcs) => [
-         q(6419),
+         q(6421),
          q(0),
          ],
       q(tct) => [
-         q(6420),
+         q(6422),
          q(0),
          ],
       q(tcu) => [
-         q(6421),
+         q(6423),
          q(0),
          ],
       q(tcw) => [
-         q(6422),
+         q(6424),
          q(0),
          ],
       q(tcx) => [
-         q(6423),
+         q(6425),
          q(0),
          ],
       q(tcy) => [
-         q(6424),
+         q(6426),
          q(0),
          ],
       q(tcz) => [
-         q(6425),
+         q(6427),
          q(0),
          ],
       q(tda) => [
-         q(6426),
+         q(6428),
          q(0),
          ],
       q(tdb) => [
-         q(6427),
+         q(6429),
          q(0),
          ],
       q(tdc) => [
-         q(6428),
+         q(6430),
          q(0),
          ],
       q(tdd) => [
-         q(6429),
+         q(6431),
          q(0),
          ],
       q(tde) => [
-         q(6430),
+         q(6432),
          q(0),
          ],
       q(tdf) => [
-         q(6431),
+         q(6433),
          q(0),
          ],
       q(tdg) => [
-         q(6432),
+         q(6434),
          q(0),
          ],
       q(tdh) => [
-         q(6433),
+         q(6435),
          q(0),
          ],
       q(tdi) => [
-         q(6434),
+         q(6436),
          q(0),
          ],
       q(tdj) => [
-         q(6435),
+         q(6437),
          q(0),
          ],
       q(tdk) => [
-         q(6436),
+         q(6438),
          q(0),
          ],
       q(tdl) => [
-         q(6437),
+         q(6439),
          q(0),
          ],
       q(tdn) => [
-         q(6438),
+         q(6440),
          q(0),
          ],
       q(tdo) => [
-         q(6439),
+         q(6441),
          q(0),
          ],
       q(tdq) => [
-         q(6440),
+         q(6442),
          q(0),
          ],
       q(tdr) => [
-         q(6441),
+         q(6443),
          q(0),
          ],
       q(tds) => [
-         q(6442),
+         q(6444),
          q(0),
          ],
       q(tdt) => [
-         q(6443),
+         q(6445),
          q(0),
          ],
       q(tdu) => [
-         q(6444),
+         q(6446),
          q(0),
          ],
       q(tdv) => [
-         q(6445),
+         q(6447),
          q(0),
          ],
       q(tdx) => [
-         q(6446),
+         q(6448),
          q(0),
          ],
       q(tdy) => [
-         q(6447),
+         q(6449),
          q(0),
          ],
       q(tea) => [
-         q(6448),
+         q(6450),
          q(0),
          ],
       q(teb) => [
-         q(6449),
+         q(6451),
          q(0),
          ],
       q(tec) => [
-         q(6450),
+         q(6452),
          q(0),
          ],
       q(ted) => [
-         q(6451),
+         q(6453),
          q(0),
          ],
       q(tee) => [
-         q(6452),
+         q(6454),
          q(0),
          ],
       q(tef) => [
-         q(6453),
+         q(6455),
          q(0),
          ],
       q(teg) => [
-         q(6454),
+         q(6456),
          q(0),
          ],
       q(teh) => [
-         q(6455),
+         q(6457),
          q(0),
          ],
       q(tei) => [
-         q(6456),
+         q(6458),
          q(0),
          ],
       q(tek) => [
-         q(6457),
+         q(6459),
          q(0),
          ],
       q(tel) => [
@@ -83826,19 +83844,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ten) => [
-         q(6458),
+         q(6460),
          q(0),
          ],
       q(teo) => [
-         q(6459),
+         q(6461),
          q(0),
          ],
       q(tep) => [
-         q(6460),
+         q(6462),
          q(0),
          ],
       q(teq) => [
-         q(6461),
+         q(6463),
          q(0),
          ],
       q(ter) => [
@@ -83846,7 +83864,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tes) => [
-         q(6462),
+         q(6464),
          q(0),
          ],
       q(tet) => [
@@ -83854,79 +83872,79 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(teu) => [
-         q(6463),
+         q(6465),
          q(0),
          ],
       q(tev) => [
-         q(6464),
+         q(6466),
          q(0),
          ],
       q(tew) => [
-         q(6465),
+         q(6467),
          q(0),
          ],
       q(tex) => [
-         q(6466),
+         q(6468),
          q(0),
          ],
       q(tey) => [
-         q(6467),
+         q(6469),
          q(0),
          ],
       q(tfi) => [
-         q(6468),
+         q(6470),
          q(0),
          ],
       q(tfn) => [
-         q(6469),
+         q(6471),
          q(0),
          ],
       q(tfo) => [
-         q(6470),
+         q(6472),
          q(0),
          ],
       q(tfr) => [
-         q(6471),
+         q(6473),
          q(0),
          ],
       q(tft) => [
-         q(6472),
+         q(6474),
          q(0),
          ],
       q(tga) => [
-         q(6473),
+         q(6475),
          q(0),
          ],
       q(tgb) => [
-         q(6474),
+         q(6476),
          q(0),
          ],
       q(tgc) => [
-         q(6475),
+         q(6477),
          q(0),
          ],
       q(tgd) => [
-         q(6476),
+         q(6478),
          q(0),
          ],
       q(tge) => [
-         q(6477),
+         q(6479),
          q(0),
          ],
       q(tgf) => [
-         q(6478),
+         q(6480),
          q(0),
          ],
       q(tgh) => [
-         q(6479),
+         q(6481),
          q(0),
          ],
       q(tgi) => [
-         q(6480),
+         q(6482),
          q(0),
          ],
       q(tgj) => [
-         q(6481),
+         q(6483),
          q(0),
          ],
       q(tgk) => [
@@ -83938,55 +83956,55 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tgn) => [
-         q(6482),
+         q(6484),
          q(0),
          ],
       q(tgo) => [
-         q(6483),
+         q(6485),
          q(0),
          ],
       q(tgp) => [
-         q(6484),
+         q(6486),
          q(0),
          ],
       q(tgq) => [
-         q(6485),
+         q(6487),
          q(0),
          ],
       q(tgr) => [
-         q(6486),
+         q(6488),
          q(0),
          ],
       q(tgs) => [
-         q(6487),
+         q(6489),
          q(0),
          ],
       q(tgt) => [
-         q(6488),
+         q(6490),
          q(0),
          ],
       q(tgu) => [
-         q(6489),
+         q(6491),
          q(0),
          ],
       q(tgv) => [
-         q(6490),
+         q(6492),
          q(0),
          ],
       q(tgw) => [
-         q(6491),
+         q(6493),
          q(0),
          ],
       q(tgx) => [
-         q(6492),
+         q(6494),
          q(0),
          ],
       q(tgy) => [
-         q(6493),
+         q(6495),
          q(0),
          ],
       q(tgz) => [
-         q(6494),
+         q(6496),
          q(0),
          ],
       q(tha) => [
@@ -83994,87 +84012,87 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(thc) => [
-         q(6495),
+         q(6497),
          q(0),
          ],
       q(thd) => [
-         q(6496),
+         q(6498),
          q(0),
          ],
       q(the) => [
-         q(6497),
+         q(6499),
          q(0),
          ],
       q(thf) => [
-         q(6498),
+         q(6500),
          q(0),
          ],
       q(thh) => [
-         q(6499),
+         q(6501),
          q(0),
          ],
       q(thi) => [
-         q(6500),
+         q(6502),
          q(0),
          ],
       q(thk) => [
-         q(6501),
+         q(6503),
          q(0),
          ],
       q(thl) => [
-         q(6502),
+         q(6504),
          q(0),
          ],
       q(thm) => [
-         q(6503),
+         q(6505),
          q(0),
          ],
       q(thn) => [
-         q(6504),
+         q(6506),
          q(0),
          ],
       q(thp) => [
-         q(6505),
+         q(6507),
          q(0),
          ],
       q(thq) => [
-         q(6506),
+         q(6508),
          q(0),
          ],
       q(thr) => [
-         q(6507),
+         q(6509),
          q(0),
          ],
       q(ths) => [
-         q(6508),
+         q(6510),
          q(0),
          ],
       q(tht) => [
-         q(6509),
+         q(6511),
          q(0),
          ],
       q(thu) => [
-         q(6510),
+         q(6512),
          q(0),
          ],
       q(thv) => [
-         q(6511),
+         q(6513),
          q(0),
          ],
       q(thw) => [
-         q(6512),
+         q(6514),
          q(0),
          ],
       q(thy) => [
-         q(6513),
+         q(6515),
          q(0),
          ],
       q(thz) => [
-         q(6514),
+         q(6516),
          q(0),
          ],
       q(tia) => [
-         q(6515),
+         q(6517),
          q(0),
          ],
       q(tib) => [
@@ -84082,15 +84100,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tic) => [
-         q(6516),
+         q(6518),
          q(0),
          ],
       q(tid) => [
-         q(6517),
+         q(6519),
          q(0),
          ],
       q(tif) => [
-         q(6518),
+         q(6520),
          q(0),
          ],
       q(tig) => [
@@ -84098,43 +84116,43 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tih) => [
-         q(6519),
+         q(6521),
          q(0),
          ],
       q(tii) => [
-         q(6520),
+         q(6522),
          q(0),
          ],
       q(tij) => [
-         q(6521),
+         q(6523),
          q(0),
          ],
       q(tik) => [
-         q(6522),
+         q(6524),
          q(0),
          ],
       q(til) => [
-         q(6523),
+         q(6525),
          q(0),
          ],
       q(tim) => [
-         q(6524),
+         q(6526),
          q(0),
          ],
       q(tin) => [
-         q(6525),
+         q(6527),
          q(0),
          ],
       q(tio) => [
-         q(6526),
+         q(6528),
          q(0),
          ],
       q(tip) => [
-         q(6527),
+         q(6529),
          q(0),
          ],
       q(tiq) => [
-         q(6528),
+         q(6530),
          q(0),
          ],
       q(tir) => [
@@ -84142,15 +84160,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tis) => [
-         q(6529),
+         q(6531),
          q(0),
          ],
       q(tit) => [
-         q(6530),
+         q(6532),
          q(0),
          ],
       q(tiu) => [
-         q(6531),
+         q(6533),
          q(0),
          ],
       q(tiv) => [
@@ -84158,83 +84176,83 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tiw) => [
-         q(6532),
+         q(6534),
          q(0),
          ],
       q(tix) => [
-         q(6533),
+         q(6535),
          q(0),
          ],
       q(tiy) => [
-         q(6534),
+         q(6536),
          q(0),
          ],
       q(tiz) => [
-         q(6535),
+         q(6537),
          q(0),
          ],
       q(tja) => [
-         q(6536),
+         q(6538),
          q(0),
          ],
       q(tjg) => [
-         q(6537),
+         q(6539),
          q(0),
          ],
       q(tji) => [
-         q(6538),
+         q(6540),
          q(0),
          ],
       q(tjl) => [
-         q(6539),
+         q(6541),
          q(0),
          ],
       q(tjm) => [
-         q(6540),
+         q(6542),
          q(0),
          ],
       q(tjn) => [
-         q(6541),
+         q(6543),
          q(0),
          ],
       q(tjo) => [
-         q(6542),
+         q(6544),
          q(0),
          ],
       q(tjs) => [
-         q(6543),
+         q(6545),
          q(0),
          ],
       q(tju) => [
-         q(6544),
+         q(6546),
          q(0),
          ],
       q(tjw) => [
-         q(6545),
+         q(6547),
          q(0),
          ],
       q(tka) => [
-         q(6546),
+         q(6548),
          q(0),
          ],
       q(tkb) => [
-         q(6547),
+         q(6549),
          q(0),
          ],
       q(tkd) => [
-         q(6548),
+         q(6550),
          q(0),
          ],
       q(tke) => [
-         q(6549),
+         q(6551),
          q(0),
          ],
       q(tkf) => [
-         q(6550),
+         q(6552),
          q(0),
          ],
       q(tkg) => [
-         q(6551),
+         q(6553),
          q(0),
          ],
       q(tkl) => [
@@ -84242,75 +84260,75 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tkm) => [
-         q(6552),
+         q(6554),
          q(0),
          ],
       q(tkn) => [
-         q(6553),
+         q(6555),
          q(0),
          ],
       q(tkp) => [
-         q(6554),
+         q(6556),
          q(0),
          ],
       q(tkq) => [
-         q(6555),
+         q(6557),
          q(0),
          ],
       q(tkr) => [
-         q(6556),
+         q(6558),
          q(0),
          ],
       q(tks) => [
-         q(6557),
+         q(6559),
          q(0),
          ],
       q(tkt) => [
-         q(6558),
+         q(6560),
          q(0),
          ],
       q(tku) => [
-         q(6559),
+         q(6561),
          q(0),
          ],
       q(tkv) => [
-         q(6560),
+         q(6562),
          q(0),
          ],
       q(tkw) => [
-         q(6561),
+         q(6563),
          q(0),
          ],
       q(tkx) => [
-         q(6562),
+         q(6564),
          q(0),
          ],
       q(tkz) => [
-         q(6563),
+         q(6565),
          q(0),
          ],
       q(tla) => [
-         q(6564),
+         q(6566),
          q(0),
          ],
       q(tlb) => [
-         q(6565),
+         q(6567),
          q(0),
          ],
       q(tlc) => [
-         q(6566),
+         q(6568),
          q(0),
          ],
       q(tld) => [
-         q(6567),
+         q(6569),
          q(0),
          ],
       q(tlf) => [
-         q(6568),
+         q(6570),
          q(0),
          ],
       q(tlg) => [
-         q(6569),
+         q(6571),
          q(0),
          ],
       q(tlh) => [
@@ -84322,91 +84340,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tlj) => [
-         q(6570),
+         q(6572),
          q(0),
          ],
       q(tlk) => [
-         q(6571),
+         q(6573),
          q(0),
          ],
       q(tll) => [
-         q(6572),
+         q(6574),
          q(0),
          ],
       q(tlm) => [
-         q(6573),
+         q(6575),
          q(0),
          ],
       q(tln) => [
-         q(6574),
+         q(6576),
          q(0),
          ],
       q(tlo) => [
-         q(6575),
+         q(6577),
          q(0),
          ],
       q(tlp) => [
-         q(6576),
+         q(6578),
          q(0),
          ],
       q(tlq) => [
-         q(6577),
+         q(6579),
          q(0),
          ],
       q(tlr) => [
-         q(6578),
+         q(6580),
          q(0),
          ],
       q(tls) => [
-         q(6579),
+         q(6581),
          q(0),
          ],
       q(tlt) => [
-         q(6580),
+         q(6582),
          q(0),
          ],
       q(tlu) => [
-         q(6581),
+         q(6583),
          q(0),
          ],
       q(tlv) => [
-         q(6582),
+         q(6584),
          q(0),
          ],
       q(tlx) => [
-         q(6583),
+         q(6585),
          q(0),
          ],
       q(tly) => [
-         q(6584),
+         q(6586),
          q(0),
          ],
       q(tma) => [
-         q(6585),
+         q(6587),
          q(0),
          ],
       q(tmb) => [
-         q(6586),
+         q(6588),
          q(0),
          ],
       q(tmc) => [
-         q(6587),
+         q(6589),
          q(0),
          ],
       q(tmd) => [
-         q(6588),
+         q(6590),
          q(0),
          ],
       q(tme) => [
-         q(6589),
+         q(6591),
          q(0),
          ],
       q(tmf) => [
-         q(6590),
+         q(6592),
          q(0),
          ],
       q(tmg) => [
-         q(6591),
+         q(6593),
          q(0),
          ],
       q(tmh) => [
@@ -84414,187 +84432,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tmi) => [
-         q(6592),
+         q(6594),
          q(0),
          ],
       q(tmj) => [
-         q(6593),
+         q(6595),
          q(0),
          ],
       q(tmk) => [
-         q(6594),
+         q(6596),
          q(0),
          ],
       q(tml) => [
-         q(6595),
+         q(6597),
          q(0),
          ],
       q(tmm) => [
-         q(6596),
+         q(6598),
          q(0),
          ],
       q(tmn) => [
-         q(6597),
+         q(6599),
          q(0),
          ],
       q(tmo) => [
-         q(6598),
+         q(6600),
          q(0),
          ],
       q(tmp) => [
-         q(6599),
+         q(6601),
          q(0),
          ],
       q(tmq) => [
-         q(6600),
+         q(6602),
          q(0),
          ],
       q(tmr) => [
-         q(6601),
+         q(6603),
          q(0),
          ],
       q(tms) => [
-         q(6602),
+         q(6604),
          q(0),
          ],
       q(tmt) => [
-         q(6603),
+         q(6605),
          q(0),
          ],
       q(tmu) => [
-         q(6604),
+         q(6606),
          q(0),
          ],
       q(tmv) => [
-         q(6605),
+         q(6607),
          q(0),
          ],
       q(tmw) => [
-         q(6606),
+         q(6608),
          q(0),
          ],
       q(tmy) => [
-         q(6607),
+         q(6609),
          q(0),
          ],
       q(tmz) => [
-         q(6608),
+         q(6610),
          q(0),
          ],
       q(tna) => [
-         q(6609),
+         q(6611),
          q(0),
          ],
       q(tnb) => [
-         q(6610),
+         q(6612),
          q(0),
          ],
       q(tnc) => [
-         q(6611),
+         q(6613),
          q(0),
          ],
       q(tnd) => [
-         q(6612),
+         q(6614),
          q(0),
          ],
       q(tne) => [
-         q(6613),
+         q(6615),
          q(0),
          ],
       q(tng) => [
-         q(6614),
+         q(6616),
          q(0),
          ],
       q(tnh) => [
-         q(6615),
+         q(6617),
          q(0),
          ],
       q(tni) => [
-         q(6616),
+         q(6618),
          q(0),
          ],
       q(tnk) => [
-         q(6617),
+         q(6619),
          q(0),
          ],
       q(tnl) => [
-         q(6618),
+         q(6620),
          q(0),
          ],
       q(tnm) => [
-         q(6619),
+         q(6621),
          q(0),
          ],
       q(tnn) => [
-         q(6620),
+         q(6622),
          q(0),
          ],
       q(tno) => [
-         q(6621),
+         q(6623),
          q(0),
          ],
       q(tnp) => [
-         q(6622),
+         q(6624),
          q(0),
          ],
       q(tnq) => [
-         q(6623),
+         q(6625),
          q(0),
          ],
       q(tnr) => [
-         q(6624),
+         q(6626),
          q(0),
          ],
       q(tns) => [
-         q(6625),
+         q(6627),
          q(0),
          ],
       q(tnt) => [
-         q(6626),
+         q(6628),
          q(0),
          ],
       q(tnu) => [
-         q(6627),
+         q(6629),
          q(0),
          ],
       q(tnv) => [
-         q(6628),
+         q(6630),
          q(0),
          ],
       q(tnw) => [
-         q(6629),
+         q(6631),
          q(0),
          ],
       q(tnx) => [
-         q(6630),
+         q(6632),
          q(0),
          ],
       q(tny) => [
-         q(6631),
+         q(6633),
          q(0),
          ],
       q(tnz) => [
-         q(6632),
+         q(6634),
          q(0),
          ],
       q(tob) => [
-         q(6633),
+         q(6635),
          q(0),
          ],
       q(toc) => [
-         q(6634),
+         q(6636),
          q(0),
          ],
       q(tod) => [
-         q(6635),
+         q(6637),
          q(0),
          ],
       q(toe) => [
-         q(6636),
+         q(6638),
          q(0),
          ],
       q(tof) => [
-         q(6637),
+         q(6639),
          q(0),
          ],
       q(tog) => [
@@ -84602,23 +84620,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(toh) => [
-         q(6638),
+         q(6640),
          q(0),
          ],
       q(toi) => [
-         q(6639),
+         q(6641),
          q(0),
          ],
       q(toj) => [
-         q(6640),
+         q(6642),
          q(0),
          ],
       q(tol) => [
-         q(6641),
+         q(6643),
          q(0),
          ],
       q(tom) => [
-         q(6642),
+         q(6644),
          q(0),
          ],
       q(ton) => [
@@ -84626,67 +84644,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(too) => [
-         q(6643),
+         q(6645),
          q(0),
          ],
       q(top) => [
-         q(6644),
+         q(6646),
          q(0),
          ],
       q(toq) => [
-         q(6645),
+         q(6647),
          q(0),
          ],
       q(tor) => [
-         q(6646),
+         q(6648),
          q(0),
          ],
       q(tos) => [
-         q(6647),
+         q(6649),
          q(0),
          ],
       q(tou) => [
-         q(6648),
+         q(6650),
          q(0),
          ],
       q(tov) => [
-         q(6649),
+         q(6651),
          q(0),
          ],
       q(tow) => [
-         q(6650),
+         q(6652),
          q(0),
          ],
       q(tox) => [
-         q(6651),
+         q(6653),
          q(0),
          ],
       q(toy) => [
-         q(6652),
+         q(6654),
          q(0),
          ],
       q(toz) => [
-         q(6653),
+         q(6655),
          q(0),
          ],
       q(tpa) => [
-         q(6654),
+         q(6656),
          q(0),
          ],
       q(tpc) => [
-         q(6655),
+         q(6657),
          q(0),
          ],
       q(tpe) => [
-         q(6656),
+         q(6658),
          q(0),
          ],
       q(tpf) => [
-         q(6657),
+         q(6659),
          q(0),
          ],
       q(tpg) => [
-         q(6658),
+         q(6660),
          q(0),
          ],
       q(tpi) => [
@@ -84694,151 +84712,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tpj) => [
-         q(6659),
+         q(6661),
          q(0),
          ],
       q(tpk) => [
-         q(6660),
+         q(6662),
          q(0),
          ],
       q(tpl) => [
-         q(6661),
+         q(6663),
          q(0),
          ],
       q(tpm) => [
-         q(6662),
+         q(6664),
          q(0),
          ],
       q(tpn) => [
-         q(6663),
+         q(6665),
          q(0),
          ],
       q(tpo) => [
-         q(6664),
+         q(6666),
          q(0),
          ],
       q(tpp) => [
-         q(6665),
+         q(6667),
          q(0),
          ],
       q(tpq) => [
-         q(6666),
+         q(6668),
          q(0),
          ],
       q(tpr) => [
-         q(6667),
+         q(6669),
          q(0),
          ],
       q(tpt) => [
-         q(6668),
+         q(6670),
          q(0),
          ],
       q(tpu) => [
-         q(6669),
+         q(6671),
          q(0),
          ],
       q(tpv) => [
-         q(6670),
+         q(6672),
          q(0),
          ],
       q(tpw) => [
-         q(6671),
+         q(6673),
          q(0),
          ],
       q(tpx) => [
-         q(6672),
+         q(6674),
          q(0),
          ],
       q(tpy) => [
-         q(6673),
+         q(6675),
          q(0),
          ],
       q(tpz) => [
-         q(6674),
+         q(6676),
          q(0),
          ],
       q(tqb) => [
-         q(6675),
+         q(6677),
          q(0),
          ],
       q(tql) => [
-         q(6676),
+         q(6678),
          q(0),
          ],
       q(tqm) => [
-         q(6677),
+         q(6679),
          q(0),
          ],
       q(tqn) => [
-         q(6678),
+         q(6680),
          q(0),
          ],
       q(tqo) => [
-         q(6679),
+         q(6681),
          q(0),
          ],
       q(tqp) => [
-         q(6680),
+         q(6682),
          q(0),
          ],
       q(tqq) => [
-         q(6681),
+         q(6683),
          q(0),
          ],
       q(tqr) => [
-         q(6682),
+         q(6684),
          q(0),
          ],
       q(tqt) => [
-         q(6683),
+         q(6685),
          q(0),
          ],
       q(tqu) => [
-         q(6684),
+         q(6686),
          q(0),
          ],
       q(tqw) => [
-         q(6685),
+         q(6687),
          q(0),
          ],
       q(tra) => [
-         q(6686),
+         q(6688),
          q(0),
          ],
       q(trb) => [
-         q(6687),
+         q(6689),
          q(0),
          ],
       q(trc) => [
-         q(6688),
+         q(6690),
          q(0),
          ],
       q(trd) => [
-         q(6689),
+         q(6691),
          q(0),
          ],
       q(tre) => [
-         q(6690),
+         q(6692),
          q(0),
          ],
       q(trf) => [
-         q(6691),
+         q(6693),
          q(0),
          ],
       q(trg) => [
-         q(6692),
+         q(6694),
          q(0),
          ],
       q(trh) => [
-         q(6693),
+         q(6695),
          q(0),
          ],
       q(tri) => [
-         q(6694),
+         q(6696),
          q(0),
          ],
       q(trj) => [
-         q(6695),
+         q(6697),
          q(0),
          ],
       q(trk) => [
@@ -84846,91 +84864,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(trl) => [
-         q(6696),
+         q(6698),
          q(0),
          ],
       q(trm) => [
-         q(6697),
+         q(6699),
          q(0),
          ],
       q(trn) => [
-         q(6698),
+         q(6700),
          q(0),
          ],
       q(tro) => [
-         q(6699),
+         q(6701),
          q(0),
          ],
       q(trp) => [
-         q(6700),
+         q(6702),
          q(0),
          ],
       q(trq) => [
-         q(6701),
+         q(6703),
          q(0),
          ],
       q(trr) => [
-         q(6702),
+         q(6704),
          q(0),
          ],
       q(trs) => [
-         q(6703),
+         q(6705),
          q(0),
          ],
       q(trt) => [
-         q(6704),
+         q(6706),
          q(0),
          ],
       q(tru) => [
-         q(6705),
+         q(6707),
          q(0),
          ],
       q(trv) => [
-         q(6706),
+         q(6708),
          q(0),
          ],
       q(trw) => [
-         q(6707),
+         q(6709),
          q(0),
          ],
       q(trx) => [
-         q(6708),
+         q(6710),
          q(0),
          ],
       q(try) => [
-         q(6709),
+         q(6711),
          q(0),
          ],
       q(trz) => [
-         q(6710),
+         q(6712),
          q(0),
          ],
       q(tsa) => [
-         q(6711),
+         q(6713),
          q(0),
          ],
       q(tsb) => [
-         q(6712),
+         q(6714),
          q(0),
          ],
       q(tsc) => [
-         q(6713),
+         q(6715),
          q(0),
          ],
       q(tsd) => [
-         q(6714),
+         q(6716),
          q(0),
          ],
       q(tse) => [
-         q(6715),
+         q(6717),
          q(0),
          ],
       q(tsg) => [
-         q(6716),
+         q(6718),
          q(0),
          ],
       q(tsh) => [
-         q(6717),
+         q(6719),
          q(0),
          ],
       q(tsi) => [
@@ -84938,19 +84956,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tsj) => [
-         q(6718),
+         q(6720),
          q(0),
          ],
       q(tsk) => [
-         q(6719),
+         q(6721),
          q(0),
          ],
       q(tsl) => [
-         q(6720),
+         q(6722),
          q(0),
          ],
       q(tsm) => [
-         q(6721),
+         q(6723),
          q(0),
          ],
       q(tsn) => [
@@ -84962,187 +84980,187 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tsp) => [
-         q(6722),
+         q(6724),
          q(0),
          ],
       q(tsq) => [
-         q(6723),
+         q(6725),
          q(0),
          ],
       q(tsr) => [
-         q(6724),
+         q(6726),
          q(0),
          ],
       q(tss) => [
-         q(6725),
+         q(6727),
          q(0),
          ],
       q(tst) => [
-         q(6726),
+         q(6728),
          q(0),
          ],
       q(tsu) => [
-         q(6727),
+         q(6729),
          q(0),
          ],
       q(tsv) => [
-         q(6728),
+         q(6730),
          q(0),
          ],
       q(tsw) => [
-         q(6729),
+         q(6731),
          q(0),
          ],
       q(tsx) => [
-         q(6730),
+         q(6732),
          q(0),
          ],
       q(tsy) => [
-         q(6731),
+         q(6733),
          q(0),
          ],
       q(tsz) => [
-         q(6732),
+         q(6734),
          q(0),
          ],
       q(tta) => [
-         q(6733),
+         q(6735),
          q(0),
          ],
       q(ttb) => [
-         q(6734),
+         q(6736),
          q(0),
          ],
       q(ttc) => [
-         q(6735),
+         q(6737),
          q(0),
          ],
       q(ttd) => [
-         q(6736),
+         q(6738),
          q(0),
          ],
       q(tte) => [
-         q(6737),
+         q(6739),
          q(0),
          ],
       q(ttf) => [
-         q(6738),
+         q(6740),
          q(0),
          ],
       q(ttg) => [
-         q(6739),
+         q(6741),
          q(0),
          ],
       q(tth) => [
-         q(6740),
+         q(6742),
          q(0),
          ],
       q(tti) => [
-         q(6741),
+         q(6743),
          q(0),
          ],
       q(ttj) => [
-         q(6742),
+         q(6744),
          q(0),
          ],
       q(ttk) => [
-         q(6743),
+         q(6745),
          q(0),
          ],
       q(ttl) => [
-         q(6744),
+         q(6746),
          q(0),
          ],
       q(ttm) => [
-         q(6745),
+         q(6747),
          q(0),
          ],
       q(ttn) => [
-         q(6746),
+         q(6748),
          q(0),
          ],
       q(tto) => [
-         q(6747),
+         q(6749),
          q(0),
          ],
       q(ttp) => [
-         q(6748),
+         q(6750),
          q(0),
          ],
       q(ttq) => [
-         q(6749),
+         q(6751),
          q(0),
          ],
       q(ttr) => [
-         q(6750),
+         q(6752),
          q(0),
          ],
       q(tts) => [
-         q(6751),
+         q(6753),
          q(0),
          ],
       q(ttt) => [
-         q(6752),
+         q(6754),
          q(0),
          ],
       q(ttu) => [
-         q(6753),
+         q(6755),
          q(0),
          ],
       q(ttv) => [
-         q(6754),
+         q(6756),
          q(0),
          ],
       q(ttw) => [
-         q(6755),
+         q(6757),
          q(0),
          ],
       q(tty) => [
-         q(6756),
+         q(6758),
          q(0),
          ],
       q(ttz) => [
-         q(6757),
+         q(6759),
          q(0),
          ],
       q(tua) => [
-         q(6758),
+         q(6760),
          q(0),
          ],
       q(tub) => [
-         q(6759),
+         q(6761),
          q(0),
          ],
       q(tuc) => [
-         q(6760),
+         q(6762),
          q(0),
          ],
       q(tud) => [
-         q(6761),
+         q(6763),
          q(0),
          ],
       q(tue) => [
-         q(6762),
+         q(6764),
          q(0),
          ],
       q(tuf) => [
-         q(6763),
+         q(6765),
          q(0),
          ],
       q(tug) => [
-         q(6764),
+         q(6766),
          q(0),
          ],
       q(tuh) => [
-         q(6765),
+         q(6767),
          q(0),
          ],
       q(tui) => [
-         q(6766),
+         q(6768),
          q(0),
          ],
       q(tuj) => [
-         q(6767),
+         q(6769),
          q(0),
          ],
       q(tuk) => [
@@ -85150,7 +85168,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tul) => [
-         q(6768),
+         q(6770),
          q(0),
          ],
       q(tum) => [
@@ -85158,11 +85176,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tun) => [
-         q(6769),
+         q(6771),
          q(0),
          ],
       q(tuo) => [
-         q(6770),
+         q(6772),
          q(0),
          ],
       q(tup) => [
@@ -85170,7 +85188,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tuq) => [
-         q(6771),
+         q(6773),
          q(0),
          ],
       q(tur) => [
@@ -85178,7 +85196,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tus) => [
-         q(6772),
+         q(6774),
          q(0),
          ],
       q(tut) => [
@@ -85186,11 +85204,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tuu) => [
-         q(6773),
+         q(6775),
          q(0),
          ],
       q(tuv) => [
-         q(6774),
+         q(6776),
          q(0),
          ],
       q(tuw) => [
@@ -85198,31 +85216,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tux) => [
-         q(6775),
+         q(6777),
          q(0),
          ],
       q(tuy) => [
-         q(6776),
+         q(6778),
          q(0),
          ],
       q(tuz) => [
-         q(6777),
+         q(6779),
          q(0),
          ],
       q(tva) => [
-         q(6778),
+         q(6780),
          q(0),
          ],
       q(tvd) => [
-         q(6779),
+         q(6781),
          q(0),
          ],
       q(tve) => [
-         q(6780),
+         q(6782),
          q(0),
          ],
       q(tvk) => [
-         q(6781),
+         q(6783),
          q(0),
          ],
       q(tvl) => [
@@ -85230,67 +85248,67 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tvm) => [
-         q(6782),
+         q(6784),
          q(0),
          ],
       q(tvn) => [
-         q(6783),
+         q(6785),
          q(0),
          ],
       q(tvo) => [
-         q(6784),
+         q(6786),
          q(0),
          ],
       q(tvs) => [
-         q(6785),
+         q(6787),
          q(0),
          ],
       q(tvt) => [
-         q(6786),
+         q(6788),
          q(0),
          ],
       q(tvu) => [
-         q(6787),
+         q(6789),
          q(0),
          ],
       q(tvw) => [
-         q(6788),
+         q(6790),
          q(0),
          ],
       q(tvy) => [
-         q(6789),
+         q(6791),
          q(0),
          ],
       q(twa) => [
-         q(6790),
+         q(6792),
          q(0),
          ],
       q(twb) => [
-         q(6791),
+         q(6793),
          q(0),
          ],
       q(twc) => [
-         q(6792),
+         q(6794),
          q(0),
          ],
       q(twd) => [
-         q(6793),
+         q(6795),
          q(0),
          ],
       q(twe) => [
-         q(6794),
+         q(6796),
          q(0),
          ],
       q(twf) => [
-         q(6795),
+         q(6797),
          q(0),
          ],
       q(twg) => [
-         q(6796),
+         q(6798),
          q(0),
          ],
       q(twh) => [
-         q(6797),
+         q(6799),
          q(0),
          ],
       q(twi) => [
@@ -85298,171 +85316,171 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(twl) => [
-         q(6798),
+         q(6800),
          q(0),
          ],
       q(twm) => [
-         q(6799),
+         q(6801),
          q(0),
          ],
       q(twn) => [
-         q(6800),
+         q(6802),
          q(0),
          ],
       q(two) => [
-         q(6801),
+         q(6803),
          q(0),
          ],
       q(twp) => [
-         q(6802),
+         q(6804),
          q(0),
          ],
       q(twq) => [
-         q(6803),
+         q(6805),
          q(0),
          ],
       q(twr) => [
-         q(6804),
+         q(6806),
          q(0),
          ],
       q(twt) => [
-         q(6805),
+         q(6807),
          q(0),
          ],
       q(twu) => [
-         q(6806),
+         q(6808),
          q(0),
          ],
       q(tww) => [
-         q(6807),
+         q(6809),
          q(0),
          ],
       q(twx) => [
-         q(6808),
+         q(6810),
          q(0),
          ],
       q(twy) => [
-         q(6809),
+         q(6811),
          q(0),
          ],
       q(txa) => [
-         q(6810),
+         q(6812),
          q(0),
          ],
       q(txb) => [
-         q(6811),
+         q(6813),
          q(0),
          ],
       q(txc) => [
-         q(6812),
+         q(6814),
          q(0),
          ],
       q(txe) => [
-         q(6813),
+         q(6815),
          q(0),
          ],
       q(txg) => [
-         q(6814),
+         q(6816),
          q(0),
          ],
       q(txh) => [
-         q(6815),
+         q(6817),
          q(0),
          ],
       q(txi) => [
-         q(6816),
+         q(6818),
          q(0),
          ],
       q(txj) => [
-         q(6817),
+         q(6819),
          q(0),
          ],
       q(txm) => [
-         q(6818),
+         q(6820),
          q(0),
          ],
       q(txn) => [
-         q(6819),
+         q(6821),
          q(0),
          ],
       q(txo) => [
-         q(6820),
+         q(6822),
          q(0),
          ],
       q(txq) => [
-         q(6821),
+         q(6823),
          q(0),
          ],
       q(txr) => [
-         q(6822),
+         q(6824),
          q(0),
          ],
       q(txs) => [
-         q(6823),
+         q(6825),
          q(0),
          ],
       q(txt) => [
-         q(6824),
+         q(6826),
          q(0),
          ],
       q(txu) => [
-         q(6825),
+         q(6827),
          q(0),
          ],
       q(txx) => [
-         q(6826),
+         q(6828),
          q(0),
          ],
       q(txy) => [
-         q(6827),
+         q(6829),
          q(0),
          ],
       q(tya) => [
-         q(6828),
+         q(6830),
          q(0),
          ],
       q(tye) => [
-         q(6829),
+         q(6831),
          q(0),
          ],
       q(tyh) => [
-         q(6830),
+         q(6832),
          q(0),
          ],
       q(tyi) => [
-         q(6831),
+         q(6833),
          q(0),
          ],
       q(tyj) => [
-         q(6832),
+         q(6834),
          q(0),
          ],
       q(tyl) => [
-         q(6833),
+         q(6835),
          q(0),
          ],
       q(tyn) => [
-         q(6834),
+         q(6836),
          q(0),
          ],
       q(typ) => [
-         q(6835),
+         q(6837),
          q(0),
          ],
       q(tyr) => [
-         q(6836),
+         q(6838),
          q(0),
          ],
       q(tys) => [
-         q(6837),
+         q(6839),
          q(0),
          ],
       q(tyt) => [
-         q(6838),
+         q(6840),
          q(0),
          ],
       q(tyu) => [
-         q(6839),
+         q(6841),
          q(0),
          ],
       q(tyv) => [
@@ -85470,103 +85488,103 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(tyx) => [
-         q(6840),
+         q(6842),
          q(0),
          ],
       q(tyz) => [
-         q(6841),
+         q(6843),
          q(0),
          ],
       q(tza) => [
-         q(6842),
+         q(6844),
          q(0),
          ],
       q(tzh) => [
-         q(6843),
+         q(6845),
          q(0),
          ],
       q(tzj) => [
-         q(6844),
+         q(6846),
          q(0),
          ],
       q(tzl) => [
-         q(6845),
+         q(6847),
          q(0),
          ],
       q(tzm) => [
-         q(6846),
+         q(6848),
          q(0),
          ],
       q(tzn) => [
-         q(6847),
+         q(6849),
          q(0),
          ],
       q(tzo) => [
-         q(6848),
+         q(6850),
          q(0),
          ],
       q(tzx) => [
-         q(6849),
+         q(6851),
          q(0),
          ],
       q(uam) => [
-         q(6850),
+         q(6852),
          q(0),
          ],
       q(uan) => [
-         q(6851),
+         q(6853),
          q(0),
          ],
       q(uar) => [
-         q(6852),
+         q(6854),
          q(0),
          ],
       q(uba) => [
-         q(6853),
+         q(6855),
          q(0),
          ],
       q(ubi) => [
-         q(6854),
+         q(6856),
          q(0),
          ],
       q(ubl) => [
-         q(6855),
+         q(6857),
          q(0),
          ],
       q(ubr) => [
-         q(6856),
+         q(6858),
          q(0),
          ],
       q(ubu) => [
-         q(6857),
+         q(6859),
          q(0),
          ],
       q(uby) => [
-         q(6858),
+         q(6860),
          q(0),
          ],
       q(uda) => [
-         q(6859),
+         q(6861),
          q(0),
          ],
       q(ude) => [
-         q(6860),
+         q(6862),
          q(0),
          ],
       q(udg) => [
-         q(6861),
+         q(6863),
          q(0),
          ],
       q(udi) => [
-         q(6862),
+         q(6864),
          q(0),
          ],
       q(udj) => [
-         q(6863),
+         q(6865),
          q(0),
          ],
       q(udl) => [
-         q(6864),
+         q(6866),
          q(0),
          ],
       q(udm) => [
@@ -85574,15 +85592,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(udu) => [
-         q(6865),
+         q(6867),
          q(0),
          ],
       q(ues) => [
-         q(6866),
+         q(6868),
          q(0),
          ],
       q(ufi) => [
-         q(6867),
+         q(6869),
          q(0),
          ],
       q(uga) => [
@@ -85590,31 +85608,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ugb) => [
-         q(6868),
+         q(6870),
          q(0),
          ],
       q(uge) => [
-         q(6869),
+         q(6871),
          q(0),
          ],
       q(ugn) => [
-         q(6870),
+         q(6872),
          q(0),
          ],
       q(ugo) => [
-         q(6871),
+         q(6873),
          q(0),
          ],
       q(ugy) => [
-         q(6872),
+         q(6874),
          q(0),
          ],
       q(uha) => [
-         q(6873),
+         q(6875),
          q(0),
          ],
       q(uhn) => [
-         q(6874),
+         q(6876),
          q(0),
          ],
       q(uig) => [
@@ -85622,39 +85640,39 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(uis) => [
-         q(6875),
+         q(6877),
          q(0),
          ],
       q(uiv) => [
-         q(6876),
+         q(6878),
          q(0),
          ],
       q(uji) => [
-         q(6877),
+         q(6879),
          q(0),
          ],
       q(uka) => [
-         q(6878),
+         q(6880),
          q(0),
          ],
       q(ukg) => [
-         q(6879),
+         q(6881),
          q(0),
          ],
       q(ukh) => [
-         q(6880),
+         q(6882),
          q(0),
          ],
       q(ukl) => [
-         q(6881),
+         q(6883),
          q(0),
          ],
       q(ukp) => [
-         q(6882),
+         q(6884),
          q(0),
          ],
       q(ukq) => [
-         q(6883),
+         q(6885),
          q(0),
          ],
       q(ukr) => [
@@ -85662,71 +85680,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(uks) => [
-         q(6884),
+         q(6886),
          q(0),
          ],
       q(uku) => [
-         q(6885),
+         q(6887),
          q(0),
          ],
       q(ukw) => [
-         q(6886),
+         q(6888),
          q(0),
          ],
       q(uky) => [
-         q(6887),
+         q(6889),
          q(0),
          ],
       q(ula) => [
-         q(6888),
+         q(6890),
          q(0),
          ],
       q(ulb) => [
-         q(6889),
+         q(6891),
          q(0),
          ],
       q(ulc) => [
-         q(6890),
+         q(6892),
          q(0),
          ],
       q(ule) => [
-         q(6891),
+         q(6893),
          q(0),
          ],
       q(ulf) => [
-         q(6892),
+         q(6894),
          q(0),
          ],
       q(uli) => [
-         q(6893),
+         q(6895),
          q(0),
          ],
       q(ulk) => [
-         q(6894),
+         q(6896),
          q(0),
          ],
       q(ull) => [
-         q(6895),
+         q(6897),
          q(0),
          ],
       q(ulm) => [
-         q(6896),
+         q(6898),
          q(0),
          ],
       q(uln) => [
-         q(6897),
+         q(6899),
          q(0),
          ],
       q(ulu) => [
-         q(6898),
+         q(6900),
          q(0),
          ],
       q(ulw) => [
-         q(6899),
+         q(6901),
          q(0),
          ],
       q(uma) => [
-         q(6900),
+         q(6902),
          q(0),
          ],
       q(umb) => [
@@ -85734,51 +85752,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(umc) => [
-         q(6901),
+         q(6903),
          q(0),
          ],
       q(umd) => [
-         q(6902),
+         q(6904),
          q(0),
          ],
       q(umg) => [
-         q(6903),
+         q(6905),
          q(0),
          ],
       q(umi) => [
-         q(6904),
+         q(6906),
          q(0),
          ],
       q(umm) => [
-         q(6905),
+         q(6907),
          q(0),
          ],
       q(umn) => [
-         q(6906),
+         q(6908),
          q(0),
          ],
       q(umo) => [
-         q(6907),
+         q(6909),
          q(0),
          ],
       q(ump) => [
-         q(6908),
+         q(6910),
          q(0),
          ],
       q(umr) => [
-         q(6909),
+         q(6911),
          q(0),
          ],
       q(ums) => [
-         q(6910),
+         q(6912),
          q(0),
          ],
       q(umu) => [
-         q(6911),
+         q(6913),
          q(0),
          ],
       q(una) => [
-         q(6912),
+         q(6914),
          q(0),
          ],
       q(und) => [
@@ -85786,59 +85804,59 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(une) => [
-         q(6913),
+         q(6915),
          q(0),
          ],
       q(ung) => [
-         q(6914),
+         q(6916),
          q(0),
          ],
       q(unk) => [
-         q(6915),
+         q(6917),
          q(0),
          ],
       q(unm) => [
-         q(6916),
+         q(6918),
          q(0),
          ],
       q(unn) => [
-         q(6917),
+         q(6919),
          q(0),
          ],
       q(unr) => [
-         q(6918),
+         q(6920),
          q(0),
          ],
       q(unu) => [
-         q(6919),
+         q(6921),
          q(0),
          ],
       q(unx) => [
-         q(6920),
+         q(6922),
          q(0),
          ],
       q(unz) => [
-         q(6921),
+         q(6923),
          q(0),
          ],
       q(upi) => [
-         q(6922),
+         q(6924),
          q(0),
          ],
       q(upv) => [
-         q(6923),
+         q(6925),
          q(0),
          ],
       q(ura) => [
-         q(6924),
+         q(6926),
          q(0),
          ],
       q(urb) => [
-         q(6925),
+         q(6927),
          q(0),
          ],
       q(urc) => [
-         q(6926),
+         q(6928),
          q(0),
          ],
       q(urd) => [
@@ -85846,23 +85864,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ure) => [
-         q(6927),
+         q(6929),
          q(0),
          ],
       q(urf) => [
-         q(6928),
+         q(6930),
          q(0),
          ],
       q(urg) => [
-         q(6929),
+         q(6931),
          q(0),
          ],
       q(urh) => [
-         q(6930),
+         q(6932),
          q(0),
          ],
       q(uri) => [
-         q(6931),
+         q(6933),
          q(0),
          ],
       q(urj) => [
@@ -85870,139 +85888,139 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(urk) => [
-         q(6932),
+         q(6934),
          q(0),
          ],
       q(url) => [
-         q(6933),
+         q(6935),
          q(0),
          ],
       q(urm) => [
-         q(6934),
+         q(6936),
          q(0),
          ],
       q(urn) => [
-         q(6935),
+         q(6937),
          q(0),
          ],
       q(uro) => [
-         q(6936),
+         q(6938),
          q(0),
          ],
       q(urp) => [
-         q(6937),
+         q(6939),
          q(0),
          ],
       q(urr) => [
-         q(6938),
+         q(6940),
          q(0),
          ],
       q(urt) => [
-         q(6939),
+         q(6941),
          q(0),
          ],
       q(uru) => [
-         q(6940),
+         q(6942),
          q(0),
          ],
       q(urv) => [
-         q(6941),
+         q(6943),
          q(0),
          ],
       q(urw) => [
-         q(6942),
+         q(6944),
          q(0),
          ],
       q(urx) => [
-         q(6943),
+         q(6945),
          q(0),
          ],
       q(ury) => [
-         q(6944),
+         q(6946),
          q(0),
          ],
       q(urz) => [
-         q(6945),
+         q(6947),
          q(0),
          ],
       q(usa) => [
-         q(6946),
+         q(6948),
          q(0),
          ],
       q(ush) => [
-         q(6947),
+         q(6949),
          q(0),
          ],
       q(usi) => [
-         q(6948),
+         q(6950),
          q(0),
          ],
       q(usk) => [
-         q(6949),
+         q(6951),
          q(0),
          ],
       q(usp) => [
-         q(6950),
+         q(6952),
          q(0),
          ],
       q(usu) => [
-         q(6951),
+         q(6953),
          q(0),
          ],
       q(uta) => [
-         q(6952),
+         q(6954),
          q(0),
          ],
       q(ute) => [
-         q(6953),
+         q(6955),
          q(0),
          ],
       q(utp) => [
-         q(6954),
+         q(6956),
          q(0),
          ],
       q(utr) => [
-         q(6955),
+         q(6957),
          q(0),
          ],
       q(utu) => [
-         q(6956),
+         q(6958),
          q(0),
          ],
       q(uum) => [
-         q(6957),
+         q(6959),
          q(0),
          ],
       q(uun) => [
-         q(6958),
+         q(6960),
          q(0),
          ],
       q(uur) => [
-         q(6959),
+         q(6961),
          q(0),
          ],
       q(uuu) => [
-         q(6960),
+         q(6962),
          q(0),
          ],
       q(uve) => [
-         q(6961),
+         q(6963),
          q(0),
          ],
       q(uvh) => [
-         q(6962),
+         q(6964),
          q(0),
          ],
       q(uvl) => [
-         q(6963),
+         q(6965),
          q(0),
          ],
       q(uwa) => [
-         q(6964),
+         q(6966),
          q(0),
          ],
       q(uya) => [
-         q(6965),
+         q(6967),
          q(0),
          ],
       q(uzb) => [
@@ -86010,31 +86028,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(uzn) => [
-         q(6966),
+         q(6968),
          q(0),
          ],
       q(uzs) => [
-         q(6967),
+         q(6969),
          q(0),
          ],
       q(vaa) => [
-         q(6968),
+         q(6970),
          q(0),
          ],
       q(vae) => [
-         q(6969),
+         q(6971),
          q(0),
          ],
       q(vaf) => [
-         q(6970),
+         q(6972),
          q(0),
          ],
       q(vag) => [
-         q(6971),
+         q(6973),
          q(0),
          ],
       q(vah) => [
-         q(6972),
+         q(6974),
          q(0),
          ],
       q(vai) => [
@@ -86042,71 +86060,71 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vaj) => [
-         q(6973),
+         q(6975),
          q(0),
          ],
       q(val) => [
-         q(6974),
+         q(6976),
          q(0),
          ],
       q(vam) => [
-         q(6975),
+         q(6977),
          q(0),
          ],
       q(van) => [
-         q(6976),
+         q(6978),
          q(0),
          ],
       q(vao) => [
-         q(6977),
+         q(6979),
          q(0),
          ],
       q(vap) => [
-         q(6978),
+         q(6980),
          q(0),
          ],
       q(var) => [
-         q(6979),
+         q(6981),
          q(0),
          ],
       q(vas) => [
-         q(6980),
+         q(6982),
          q(0),
          ],
       q(vau) => [
-         q(6981),
+         q(6983),
          q(0),
          ],
       q(vav) => [
-         q(6982),
+         q(6984),
          q(0),
          ],
       q(vay) => [
-         q(6983),
+         q(6985),
          q(0),
          ],
       q(vbb) => [
-         q(6984),
+         q(6986),
          q(0),
          ],
       q(vbk) => [
-         q(6985),
+         q(6987),
          q(0),
          ],
       q(vec) => [
-         q(6986),
+         q(6988),
          q(0),
          ],
       q(ved) => [
-         q(6987),
+         q(6989),
          q(0),
          ],
       q(vel) => [
-         q(6988),
+         q(6990),
          q(0),
          ],
       q(vem) => [
-         q(6989),
+         q(6991),
          q(0),
          ],
       q(ven) => [
@@ -86114,31 +86132,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(veo) => [
-         q(6990),
+         q(6992),
          q(0),
          ],
       q(vep) => [
-         q(6991),
+         q(6993),
          q(0),
          ],
       q(ver) => [
-         q(6992),
+         q(6994),
          q(0),
          ],
       q(vgr) => [
-         q(6993),
+         q(6995),
          q(0),
          ],
       q(vgt) => [
-         q(6994),
+         q(6996),
          q(0),
          ],
       q(vic) => [
-         q(6995),
+         q(6997),
          q(0),
          ],
       q(vid) => [
-         q(6996),
+         q(6998),
          q(0),
          ],
       q(vie) => [
@@ -86146,183 +86164,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vif) => [
-         q(6997),
+         q(6999),
          q(0),
          ],
       q(vig) => [
-         q(6998),
+         q(7000),
          q(0),
          ],
       q(vil) => [
-         q(6999),
+         q(7001),
          q(0),
          ],
       q(vin) => [
-         q(7000),
+         q(7002),
          q(0),
          ],
       q(vis) => [
-         q(7001),
+         q(7003),
          q(0),
          ],
       q(vit) => [
-         q(7002),
+         q(7004),
          q(0),
          ],
       q(viv) => [
-         q(7003),
+         q(7005),
          q(0),
          ],
       q(vka) => [
-         q(7004),
+         q(7006),
          q(0),
          ],
       q(vki) => [
-         q(7005),
+         q(7007),
          q(0),
          ],
       q(vkj) => [
-         q(7006),
+         q(7008),
          q(0),
          ],
       q(vkk) => [
-         q(7007),
+         q(7009),
          q(0),
          ],
       q(vkl) => [
-         q(7008),
+         q(7010),
          q(0),
          ],
       q(vkm) => [
-         q(7009),
+         q(7011),
          q(0),
          ],
       q(vko) => [
-         q(7010),
+         q(7012),
          q(0),
          ],
       q(vkp) => [
-         q(7011),
+         q(7013),
          q(0),
          ],
       q(vkt) => [
-         q(7012),
+         q(7014),
          q(0),
          ],
       q(vku) => [
-         q(7013),
+         q(7015),
          q(0),
          ],
       q(vlp) => [
-         q(7014),
+         q(7016),
          q(0),
          ],
       q(vls) => [
-         q(7015),
+         q(7017),
          q(0),
          ],
       q(vma) => [
-         q(7016),
+         q(7018),
          q(0),
          ],
       q(vmb) => [
-         q(7017),
+         q(7019),
          q(0),
          ],
       q(vmc) => [
-         q(7018),
+         q(7020),
          q(0),
          ],
       q(vmd) => [
-         q(7019),
+         q(7021),
          q(0),
          ],
       q(vme) => [
-         q(7020),
+         q(7022),
          q(0),
          ],
       q(vmf) => [
-         q(7021),
+         q(7023),
          q(0),
          ],
       q(vmg) => [
-         q(7022),
+         q(7024),
          q(0),
          ],
       q(vmh) => [
-         q(7023),
+         q(7025),
          q(0),
          ],
       q(vmi) => [
-         q(7024),
+         q(7026),
          q(0),
          ],
       q(vmj) => [
-         q(7025),
+         q(7027),
          q(0),
          ],
       q(vmk) => [
-         q(7026),
+         q(7028),
          q(0),
          ],
       q(vml) => [
-         q(7027),
+         q(7029),
          q(0),
          ],
       q(vmm) => [
-         q(7028),
+         q(7030),
          q(0),
          ],
       q(vmp) => [
-         q(7029),
+         q(7031),
          q(0),
          ],
       q(vmq) => [
-         q(7030),
+         q(7032),
          q(0),
          ],
       q(vmr) => [
-         q(7031),
+         q(7033),
          q(0),
          ],
       q(vms) => [
-         q(7032),
+         q(7034),
          q(0),
          ],
       q(vmu) => [
-         q(7033),
+         q(7035),
          q(0),
          ],
       q(vmv) => [
-         q(7034),
+         q(7036),
          q(0),
          ],
       q(vmw) => [
-         q(7035),
+         q(7037),
          q(0),
          ],
       q(vmx) => [
-         q(7036),
+         q(7038),
          q(0),
          ],
       q(vmy) => [
-         q(7037),
+         q(7039),
          q(0),
          ],
       q(vmz) => [
-         q(7038),
+         q(7040),
          q(0),
          ],
       q(vnk) => [
-         q(7039),
+         q(7041),
          q(0),
          ],
       q(vnm) => [
-         q(7040),
+         q(7042),
          q(0),
          ],
       q(vnp) => [
-         q(7041),
+         q(7043),
          q(0),
          ],
       q(vol) => [
@@ -86330,7 +86348,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vor) => [
-         q(7042),
+         q(7044),
          q(0),
          ],
       q(vot) => [
@@ -86338,91 +86356,91 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(vra) => [
-         q(7043),
+         q(7045),
          q(0),
          ],
       q(vro) => [
-         q(7042),
+         q(7044),
          q(0),
          ],
       q(vrs) => [
-         q(7044),
+         q(7046),
          q(0),
          ],
       q(vrt) => [
-         q(7045),
+         q(7047),
          q(0),
          ],
       q(vsi) => [
-         q(7046),
+         q(7048),
          q(0),
          ],
       q(vsl) => [
-         q(7047),
+         q(7049),
          q(0),
          ],
       q(vsv) => [
-         q(7048),
+         q(7050),
          q(0),
          ],
       q(vto) => [
-         q(7049),
+         q(7051),
          q(0),
          ],
       q(vum) => [
-         q(7050),
+         q(7052),
          q(0),
          ],
       q(vun) => [
-         q(7051),
+         q(7053),
          q(0),
          ],
       q(vut) => [
-         q(7052),
+         q(7054),
          q(0),
          ],
       q(vwa) => [
-         q(7053),
+         q(7055),
          q(0),
          ],
       q(waa) => [
-         q(7054),
+         q(7056),
          q(0),
          ],
       q(wab) => [
-         q(7055),
+         q(7057),
          q(0),
          ],
       q(wac) => [
-         q(7056),
+         q(7058),
          q(0),
          ],
       q(wad) => [
-         q(7057),
+         q(7059),
          q(0),
          ],
       q(wae) => [
-         q(7058),
+         q(7060),
          q(0),
          ],
       q(waf) => [
-         q(7059),
+         q(7061),
          q(0),
          ],
       q(wag) => [
-         q(7060),
+         q(7062),
          q(0),
          ],
       q(wah) => [
-         q(7061),
+         q(7063),
          q(0),
          ],
       q(wai) => [
-         q(7062),
+         q(7064),
          q(0),
          ],
       q(waj) => [
-         q(7063),
+         q(7065),
          q(0),
          ],
       q(wak) => [
@@ -86434,23 +86452,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(1),
          ],
       q(wam) => [
-         q(7064),
+         q(7066),
          q(0),
          ],
       q(wan) => [
-         q(7065),
+         q(7067),
          q(0),
          ],
       q(wao) => [
-         q(7066),
+         q(7068),
          q(0),
          ],
       q(wap) => [
-         q(7067),
+         q(7069),
          q(0),
          ],
       q(waq) => [
-         q(7068),
+         q(7070),
          q(0),
          ],
       q(war) => [
@@ -86462,151 +86480,151 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wat) => [
-         q(7069),
+         q(7071),
          q(0),
          ],
       q(wau) => [
-         q(7070),
+         q(7072),
          q(0),
          ],
       q(wav) => [
-         q(7071),
+         q(7073),
          q(0),
          ],
       q(waw) => [
-         q(7072),
+         q(7074),
          q(0),
          ],
       q(wax) => [
-         q(7073),
+         q(7075),
          q(0),
          ],
       q(way) => [
-         q(7074),
+         q(7076),
          q(0),
          ],
       q(waz) => [
-         q(7075),
+         q(7077),
          q(0),
          ],
       q(wba) => [
-         q(7076),
+         q(7078),
          q(0),
          ],
       q(wbb) => [
-         q(7077),
+         q(7079),
          q(0),
          ],
       q(wbe) => [
-         q(7078),
+         q(7080),
          q(0),
          ],
       q(wbf) => [
-         q(6411),
+         q(6413),
          q(0),
          ],
       q(wbh) => [
-         q(7079),
+         q(7081),
          q(0),
          ],
       q(wbi) => [
-         q(7080),
+         q(7082),
          q(0),
          ],
       q(wbj) => [
-         q(7081),
+         q(7083),
          q(0),
          ],
       q(wbk) => [
-         q(7082),
+         q(7084),
          q(0),
          ],
       q(wbl) => [
-         q(7083),
+         q(7085),
          q(0),
          ],
       q(wbm) => [
-         q(7084),
+         q(7086),
          q(0),
          ],
       q(wbp) => [
-         q(7085),
+         q(7087),
          q(0),
          ],
       q(wbq) => [
-         q(7086),
+         q(7088),
          q(0),
          ],
       q(wbr) => [
-         q(7087),
+         q(7089),
          q(0),
          ],
       q(wbt) => [
-         q(7088),
+         q(7090),
          q(0),
          ],
       q(wbv) => [
-         q(7089),
+         q(7091),
          q(0),
          ],
       q(wbw) => [
-         q(7090),
+         q(7092),
          q(0),
          ],
       q(wca) => [
-         q(7091),
+         q(7093),
          q(0),
          ],
       q(wci) => [
-         q(7092),
+         q(7094),
          q(0),
          ],
       q(wdd) => [
-         q(7093),
+         q(7095),
          q(0),
          ],
       q(wdg) => [
-         q(7094),
+         q(7096),
          q(0),
          ],
       q(wdj) => [
-         q(7095),
+         q(7097),
          q(0),
          ],
       q(wdk) => [
-         q(7096),
+         q(7098),
          q(0),
          ],
       q(wdu) => [
-         q(7097),
+         q(7099),
          q(0),
          ],
       q(wdy) => [
-         q(7098),
+         q(7100),
          q(0),
          ],
       q(wea) => [
-         q(7099),
+         q(7101),
          q(0),
          ],
       q(wec) => [
-         q(7100),
+         q(7102),
          q(0),
          ],
       q(wed) => [
-         q(7101),
+         q(7103),
          q(0),
          ],
       q(weg) => [
-         q(7102),
+         q(7104),
          q(0),
          ],
       q(weh) => [
-         q(7103),
+         q(7105),
          q(0),
          ],
       q(wei) => [
-         q(7104),
+         q(7106),
          q(0),
          ],
       q(wel) => [
@@ -86614,7 +86632,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wem) => [
-         q(7105),
+         q(7107),
          q(0),
          ],
       q(wen) => [
@@ -86622,211 +86640,211 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(weo) => [
-         q(7106),
+         q(7108),
          q(0),
          ],
       q(wep) => [
-         q(7107),
+         q(7109),
          q(0),
          ],
       q(wer) => [
-         q(7108),
+         q(7110),
          q(0),
          ],
       q(wes) => [
-         q(7109),
+         q(7111),
          q(0),
          ],
       q(wet) => [
-         q(7110),
+         q(7112),
          q(0),
          ],
       q(weu) => [
-         q(7111),
+         q(7113),
          q(0),
          ],
       q(wew) => [
-         q(7112),
+         q(7114),
          q(0),
          ],
       q(wfg) => [
-         q(7113),
+         q(7115),
          q(0),
          ],
       q(wga) => [
-         q(7114),
+         q(7116),
          q(0),
          ],
       q(wgb) => [
-         q(7115),
+         q(7117),
          q(0),
          ],
       q(wgg) => [
-         q(7116),
+         q(7118),
          q(0),
          ],
       q(wgi) => [
-         q(7117),
+         q(7119),
          q(0),
          ],
       q(wgo) => [
-         q(7118),
+         q(7120),
          q(0),
          ],
       q(wgu) => [
-         q(7119),
+         q(7121),
          q(0),
          ],
       q(wgy) => [
-         q(7120),
+         q(7122),
          q(0),
          ],
       q(wha) => [
-         q(7121),
+         q(7123),
          q(0),
          ],
       q(whg) => [
-         q(7122),
+         q(7124),
          q(0),
          ],
       q(whk) => [
-         q(7123),
+         q(7125),
          q(0),
          ],
       q(whu) => [
-         q(7124),
+         q(7126),
          q(0),
          ],
       q(wib) => [
-         q(7125),
+         q(7127),
          q(0),
          ],
       q(wic) => [
-         q(7126),
+         q(7128),
          q(0),
          ],
       q(wie) => [
-         q(7127),
+         q(7129),
          q(0),
          ],
       q(wif) => [
-         q(7128),
+         q(7130),
          q(0),
          ],
       q(wig) => [
-         q(7129),
+         q(7131),
          q(0),
          ],
       q(wih) => [
-         q(7130),
+         q(7132),
          q(0),
          ],
       q(wii) => [
-         q(7131),
+         q(7133),
          q(0),
          ],
       q(wij) => [
-         q(7132),
+         q(7134),
          q(0),
          ],
       q(wik) => [
-         q(7133),
+         q(7135),
          q(0),
          ],
       q(wil) => [
-         q(7134),
+         q(7136),
          q(0),
          ],
       q(wim) => [
-         q(7135),
+         q(7137),
          q(0),
          ],
       q(win) => [
-         q(7136),
+         q(7138),
          q(0),
          ],
       q(wir) => [
-         q(7137),
+         q(7139),
          q(0),
          ],
       q(wiu) => [
-         q(7138),
+         q(7140),
          q(0),
          ],
       q(wiv) => [
-         q(7139),
+         q(7141),
          q(0),
          ],
       q(wiy) => [
-         q(7140),
+         q(7142),
          q(0),
          ],
       q(wja) => [
-         q(7141),
+         q(7143),
          q(0),
          ],
       q(wji) => [
-         q(7142),
+         q(7144),
          q(0),
          ],
       q(wka) => [
-         q(7143),
+         q(7145),
          q(0),
          ],
       q(wkb) => [
-         q(7144),
+         q(7146),
          q(0),
          ],
       q(wkd) => [
-         q(7145),
+         q(7147),
          q(0),
          ],
       q(wkl) => [
-         q(7146),
+         q(7148),
          q(0),
          ],
       q(wku) => [
-         q(7147),
+         q(7149),
          q(0),
          ],
       q(wkw) => [
-         q(7148),
+         q(7150),
          q(0),
          ],
       q(wky) => [
-         q(7149),
+         q(7151),
          q(0),
          ],
       q(wla) => [
-         q(7150),
+         q(7152),
          q(0),
          ],
       q(wlc) => [
-         q(7151),
+         q(7153),
          q(0),
          ],
       q(wle) => [
-         q(7152),
+         q(7154),
          q(0),
          ],
       q(wlg) => [
-         q(7153),
+         q(7155),
          q(0),
          ],
       q(wli) => [
-         q(7154),
+         q(7156),
          q(0),
          ],
       q(wlk) => [
-         q(7155),
+         q(7157),
          q(0),
          ],
       q(wll) => [
-         q(7156),
+         q(7158),
          q(0),
          ],
       q(wlm) => [
-         q(7157),
+         q(7159),
          q(0),
          ],
       q(wln) => [
@@ -86834,183 +86852,183 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wlo) => [
-         q(7158),
+         q(7160),
          q(0),
          ],
       q(wlr) => [
-         q(7159),
+         q(7161),
          q(0),
          ],
       q(wls) => [
-         q(7160),
+         q(7162),
          q(0),
          ],
       q(wlu) => [
-         q(7161),
+         q(7163),
          q(0),
          ],
       q(wlv) => [
-         q(7162),
+         q(7164),
          q(0),
          ],
       q(wlw) => [
-         q(7163),
+         q(7165),
          q(0),
          ],
       q(wlx) => [
-         q(7164),
+         q(7166),
          q(0),
          ],
       q(wly) => [
-         q(7165),
+         q(7167),
          q(0),
          ],
       q(wma) => [
-         q(7166),
+         q(7168),
          q(0),
          ],
       q(wmb) => [
-         q(7167),
+         q(7169),
          q(0),
          ],
       q(wmc) => [
-         q(7168),
+         q(7170),
          q(0),
          ],
       q(wmd) => [
-         q(7169),
+         q(7171),
          q(0),
          ],
       q(wme) => [
-         q(7170),
+         q(7172),
          q(0),
          ],
       q(wmh) => [
-         q(7171),
+         q(7173),
          q(0),
          ],
       q(wmi) => [
-         q(7172),
+         q(7174),
          q(0),
          ],
       q(wmm) => [
-         q(7173),
+         q(7175),
          q(0),
          ],
       q(wmn) => [
-         q(7174),
+         q(7176),
          q(0),
          ],
       q(wmo) => [
-         q(7175),
+         q(7177),
          q(0),
          ],
       q(wms) => [
-         q(7176),
+         q(7178),
          q(0),
          ],
       q(wmt) => [
-         q(7177),
+         q(7179),
          q(0),
          ],
       q(wmw) => [
-         q(7178),
+         q(7180),
          q(0),
          ],
       q(wmx) => [
-         q(7179),
+         q(7181),
          q(0),
          ],
       q(wnb) => [
-         q(7180),
+         q(7182),
          q(0),
          ],
       q(wnc) => [
-         q(7181),
+         q(7183),
          q(0),
          ],
       q(wnd) => [
-         q(7182),
+         q(7184),
          q(0),
          ],
       q(wne) => [
-         q(7183),
+         q(7185),
          q(0),
          ],
       q(wng) => [
-         q(7184),
+         q(7186),
          q(0),
          ],
       q(wni) => [
-         q(7185),
+         q(7187),
          q(0),
          ],
       q(wnk) => [
-         q(7186),
+         q(7188),
          q(0),
          ],
       q(wnm) => [
-         q(7187),
+         q(7189),
          q(0),
          ],
       q(wnn) => [
-         q(7188),
+         q(7190),
          q(0),
          ],
       q(wno) => [
-         q(7189),
+         q(7191),
          q(0),
          ],
       q(wnp) => [
-         q(7190),
+         q(7192),
          q(0),
          ],
       q(wnu) => [
-         q(7191),
+         q(7193),
          q(0),
          ],
       q(wnw) => [
-         q(7192),
+         q(7194),
          q(0),
          ],
       q(wny) => [
-         q(7193),
+         q(7195),
          q(0),
          ],
       q(woa) => [
-         q(7194),
+         q(7196),
          q(0),
          ],
       q(wob) => [
-         q(7195),
+         q(7197),
          q(0),
          ],
       q(woc) => [
-         q(7196),
+         q(7198),
          q(0),
          ],
       q(wod) => [
-         q(7197),
+         q(7199),
          q(0),
          ],
       q(woe) => [
-         q(7198),
+         q(7200),
          q(0),
          ],
       q(wof) => [
-         q(7199),
+         q(7201),
          q(0),
          ],
       q(wog) => [
-         q(7200),
+         q(7202),
          q(0),
          ],
       q(woi) => [
-         q(7201),
+         q(7203),
          q(0),
          ],
       q(wok) => [
-         q(7202),
+         q(7204),
          q(0),
          ],
       q(wol) => [
@@ -87018,303 +87036,303 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(wom) => [
-         q(7203),
+         q(7205),
          q(0),
          ],
       q(won) => [
-         q(7204),
+         q(7206),
          q(0),
          ],
       q(woo) => [
-         q(7205),
+         q(7207),
          q(0),
          ],
       q(wor) => [
-         q(7206),
+         q(7208),
          q(0),
          ],
       q(wos) => [
-         q(7207),
+         q(7209),
          q(0),
          ],
       q(wow) => [
-         q(7208),
+         q(7210),
          q(0),
          ],
       q(woy) => [
-         q(7209),
+         q(7211),
          q(0),
          ],
       q(wpc) => [
-         q(7210),
+         q(7212),
          q(0),
          ],
       q(wra) => [
-         q(7211),
+         q(7213),
          q(0),
          ],
       q(wrb) => [
-         q(7212),
+         q(7214),
          q(0),
          ],
       q(wrd) => [
-         q(7213),
+         q(7215),
          q(0),
          ],
       q(wrg) => [
-         q(7214),
+         q(7216),
          q(0),
          ],
       q(wrh) => [
-         q(7215),
+         q(7217),
          q(0),
          ],
       q(wri) => [
-         q(7216),
+         q(7218),
          q(0),
          ],
       q(wrk) => [
-         q(7217),
+         q(7219),
          q(0),
          ],
       q(wrl) => [
-         q(7218),
+         q(7220),
          q(0),
          ],
       q(wrm) => [
-         q(7219),
+         q(7221),
          q(0),
          ],
       q(wrn) => [
-         q(7220),
+         q(7222),
          q(0),
          ],
       q(wro) => [
-         q(7221),
+         q(7223),
          q(0),
          ],
       q(wrp) => [
-         q(7222),
+         q(7224),
          q(0),
          ],
       q(wrr) => [
-         q(7223),
+         q(7225),
          q(0),
          ],
       q(wrs) => [
-         q(7224),
+         q(7226),
          q(0),
          ],
       q(wru) => [
-         q(7225),
+         q(7227),
          q(0),
          ],
       q(wrv) => [
-         q(7226),
+         q(7228),
          q(0),
          ],
       q(wrw) => [
-         q(7227),
+         q(7229),
          q(0),
          ],
       q(wrx) => [
-         q(7228),
+         q(7230),
          q(0),
          ],
       q(wry) => [
-         q(7229),
+         q(7231),
          q(0),
          ],
       q(wrz) => [
-         q(7230),
+         q(7232),
          q(0),
          ],
       q(wsa) => [
-         q(7231),
+         q(7233),
          q(0),
          ],
       q(wsi) => [
-         q(7232),
+         q(7234),
          q(0),
          ],
       q(wsk) => [
-         q(7233),
+         q(7235),
          q(0),
          ],
       q(wsr) => [
-         q(7234),
+         q(7236),
          q(0),
          ],
       q(wss) => [
-         q(7235),
+         q(7237),
          q(0),
          ],
       q(wsu) => [
-         q(7236),
+         q(7238),
          q(0),
          ],
       q(wsv) => [
-         q(7237),
+         q(7239),
          q(0),
          ],
       q(wtf) => [
-         q(7238),
+         q(7240),
          q(0),
          ],
       q(wth) => [
-         q(7239),
+         q(7241),
          q(0),
          ],
       q(wti) => [
-         q(7240),
+         q(7242),
          q(0),
          ],
       q(wtk) => [
-         q(7241),
+         q(7243),
          q(0),
          ],
       q(wtm) => [
-         q(7242),
+         q(7244),
          q(0),
          ],
       q(wtw) => [
-         q(7243),
+         q(7245),
          q(0),
          ],
       q(wua) => [
-         q(7244),
+         q(7246),
          q(0),
          ],
       q(wub) => [
-         q(7245),
+         q(7247),
          q(0),
          ],
       q(wud) => [
-         q(7246),
+         q(7248),
          q(0),
          ],
       q(wuh) => [
-         q(7247),
+         q(7249),
          q(0),
          ],
       q(wul) => [
-         q(7248),
+         q(7250),
          q(0),
          ],
       q(wum) => [
-         q(7249),
+         q(7251),
          q(0),
          ],
       q(wun) => [
-         q(7250),
+         q(7252),
          q(0),
          ],
       q(wur) => [
-         q(7251),
+         q(7253),
          q(0),
          ],
       q(wut) => [
-         q(7252),
+         q(7254),
          q(0),
          ],
       q(wuu) => [
-         q(7253),
+         q(7255),
          q(0),
          ],
       q(wuv) => [
-         q(7254),
+         q(7256),
          q(0),
          ],
       q(wux) => [
-         q(7255),
+         q(7257),
          q(0),
          ],
       q(wuy) => [
-         q(7256),
+         q(7258),
          q(0),
          ],
       q(wwa) => [
-         q(7257),
+         q(7259),
          q(0),
          ],
       q(wwb) => [
-         q(7258),
+         q(7260),
          q(0),
          ],
       q(wwo) => [
-         q(7259),
+         q(7261),
          q(0),
          ],
       q(wwr) => [
-         q(7260),
+         q(7262),
          q(0),
          ],
       q(www) => [
-         q(7261),
+         q(7263),
          q(0),
          ],
       q(wxa) => [
-         q(7262),
+         q(7264),
          q(0),
          ],
       q(wxw) => [
-         q(7263),
+         q(7265),
          q(0),
          ],
       q(wya) => [
-         q(7264),
+         q(7266),
          q(0),
          ],
       q(wyb) => [
-         q(7265),
+         q(7267),
          q(0),
          ],
       q(wyi) => [
-         q(7266),
+         q(7268),
          q(0),
          ],
       q(wym) => [
-         q(7267),
+         q(7269),
          q(0),
          ],
       q(wyr) => [
-         q(7268),
+         q(7270),
          q(0),
          ],
       q(wyy) => [
-         q(7269),
+         q(7271),
          q(0),
          ],
       q(xaa) => [
-         q(7270),
+         q(7272),
          q(0),
          ],
       q(xab) => [
-         q(7271),
+         q(7273),
          q(0),
          ],
       q(xac) => [
-         q(7272),
+         q(7274),
          q(0),
          ],
       q(xad) => [
-         q(7273),
+         q(7275),
          q(0),
          ],
       q(xae) => [
-         q(7274),
+         q(7276),
          q(0),
          ],
       q(xag) => [
-         q(7275),
+         q(7277),
          q(0),
          ],
       q(xai) => [
-         q(7276),
+         q(7278),
          q(0),
          ],
       q(xaj) => [
-         q(7277),
+         q(7279),
          q(0),
          ],
       q(xal) => [
@@ -87322,271 +87340,271 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xam) => [
-         q(7278),
+         q(7280),
          q(0),
          ],
       q(xan) => [
-         q(7279),
+         q(7281),
          q(0),
          ],
       q(xao) => [
-         q(7280),
+         q(7282),
          q(0),
          ],
       q(xap) => [
-         q(7281),
+         q(7283),
          q(0),
          ],
       q(xaq) => [
-         q(7282),
+         q(7284),
          q(0),
          ],
       q(xar) => [
-         q(7283),
+         q(7285),
          q(0),
          ],
       q(xas) => [
-         q(7284),
+         q(7286),
          q(0),
          ],
       q(xat) => [
-         q(7285),
+         q(7287),
          q(0),
          ],
       q(xau) => [
-         q(7286),
+         q(7288),
          q(0),
          ],
       q(xav) => [
-         q(7287),
+         q(7289),
          q(0),
          ],
       q(xaw) => [
-         q(7288),
+         q(7290),
          q(0),
          ],
       q(xay) => [
-         q(7289),
+         q(7291),
          q(0),
          ],
       q(xba) => [
-         q(7290),
+         q(7292),
          q(0),
          ],
       q(xbb) => [
-         q(7291),
+         q(7293),
          q(0),
          ],
       q(xbc) => [
-         q(7292),
+         q(7294),
          q(0),
          ],
       q(xbd) => [
-         q(7293),
+         q(7295),
          q(0),
          ],
       q(xbe) => [
-         q(7294),
+         q(7296),
          q(0),
          ],
       q(xbg) => [
-         q(7295),
+         q(7297),
          q(0),
          ],
       q(xbi) => [
-         q(7296),
+         q(7298),
          q(0),
          ],
       q(xbj) => [
-         q(7297),
+         q(7299),
          q(0),
          ],
       q(xbm) => [
-         q(7298),
+         q(7300),
          q(0),
          ],
       q(xbn) => [
-         q(7299),
+         q(7301),
          q(0),
          ],
       q(xbo) => [
-         q(7300),
+         q(7302),
          q(0),
          ],
       q(xbp) => [
-         q(7301),
+         q(7303),
          q(0),
          ],
       q(xbr) => [
-         q(7302),
+         q(7304),
          q(0),
          ],
       q(xbw) => [
-         q(7303),
+         q(7305),
          q(0),
          ],
       q(xbx) => [
-         q(7304),
+         q(7306),
          q(0),
          ],
       q(xby) => [
-         q(7305),
+         q(7307),
          q(0),
          ],
       q(xcb) => [
-         q(7306),
+         q(7308),
          q(0),
          ],
       q(xcc) => [
-         q(7307),
+         q(7309),
          q(0),
          ],
       q(xce) => [
-         q(7308),
+         q(7310),
          q(0),
          ],
       q(xcg) => [
-         q(7309),
+         q(7311),
          q(0),
          ],
       q(xch) => [
-         q(7310),
+         q(7312),
          q(0),
          ],
       q(xcl) => [
-         q(7311),
+         q(7313),
          q(0),
          ],
       q(xcm) => [
-         q(7312),
+         q(7314),
          q(0),
          ],
       q(xcn) => [
-         q(7313),
+         q(7315),
          q(0),
          ],
       q(xco) => [
-         q(7314),
+         q(7316),
          q(0),
          ],
       q(xcr) => [
-         q(7315),
+         q(7317),
          q(0),
          ],
       q(xct) => [
-         q(7316),
+         q(7318),
          q(0),
          ],
       q(xcu) => [
-         q(7317),
+         q(7319),
          q(0),
          ],
       q(xcv) => [
-         q(7318),
+         q(7320),
          q(0),
          ],
       q(xcw) => [
-         q(7319),
+         q(7321),
          q(0),
          ],
       q(xcy) => [
-         q(7320),
+         q(7322),
          q(0),
          ],
       q(xda) => [
-         q(7321),
+         q(7323),
          q(0),
          ],
       q(xdc) => [
-         q(7322),
+         q(7324),
          q(0),
          ],
       q(xdk) => [
-         q(7323),
+         q(7325),
          q(0),
          ],
       q(xdm) => [
-         q(7324),
+         q(7326),
          q(0),
          ],
       q(xdy) => [
-         q(7325),
+         q(7327),
          q(0),
          ],
       q(xeb) => [
-         q(7326),
+         q(7328),
          q(0),
          ],
       q(xed) => [
-         q(7327),
+         q(7329),
          q(0),
          ],
       q(xeg) => [
-         q(7328),
+         q(7330),
          q(0),
          ],
       q(xel) => [
-         q(7329),
+         q(7331),
          q(0),
          ],
       q(xem) => [
-         q(7330),
+         q(7332),
          q(0),
          ],
       q(xep) => [
-         q(7331),
+         q(7333),
          q(0),
          ],
       q(xer) => [
-         q(7332),
+         q(7334),
          q(0),
          ],
       q(xes) => [
-         q(7333),
+         q(7335),
          q(0),
          ],
       q(xet) => [
-         q(7334),
+         q(7336),
          q(0),
          ],
       q(xeu) => [
-         q(7335),
+         q(7337),
          q(0),
          ],
       q(xfa) => [
-         q(7336),
+         q(7338),
          q(0),
          ],
       q(xga) => [
-         q(7337),
+         q(7339),
          q(0),
          ],
       q(xgb) => [
-         q(7338),
+         q(7340),
          q(0),
          ],
       q(xgd) => [
-         q(7339),
+         q(7341),
          q(0),
          ],
       q(xgf) => [
-         q(7340),
+         q(7342),
          q(0),
          ],
       q(xgg) => [
-         q(7341),
+         q(7343),
          q(0),
          ],
       q(xgi) => [
-         q(7342),
+         q(7344),
          q(0),
          ],
       q(xgl) => [
-         q(7343),
+         q(7345),
          q(0),
          ],
       q(xgm) => [
-         q(7344),
+         q(7346),
          q(0),
          ],
       q(xgn) => [
@@ -87594,31 +87612,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xgr) => [
-         q(7345),
+         q(7347),
          q(0),
          ],
       q(xgu) => [
-         q(7346),
+         q(7348),
          q(0),
          ],
       q(xgw) => [
-         q(7347),
+         q(7349),
          q(0),
          ],
       q(xha) => [
-         q(7348),
+         q(7350),
          q(0),
          ],
       q(xhc) => [
-         q(7349),
+         q(7351),
          q(0),
          ],
       q(xhd) => [
-         q(7350),
+         q(7352),
          q(0),
          ],
       q(xhe) => [
-         q(7351),
+         q(7353),
          q(0),
          ],
       q(xho) => [
@@ -87626,323 +87644,323 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xhr) => [
-         q(7352),
+         q(7354),
          q(0),
          ],
       q(xht) => [
-         q(7353),
+         q(7355),
          q(0),
          ],
       q(xhu) => [
-         q(7354),
+         q(7356),
          q(0),
          ],
       q(xhv) => [
-         q(7355),
+         q(7357),
          q(0),
          ],
       q(xib) => [
-         q(7356),
+         q(7358),
          q(0),
          ],
       q(xii) => [
-         q(7357),
+         q(7359),
          q(0),
          ],
       q(xil) => [
-         q(7358),
+         q(7360),
          q(0),
          ],
       q(xin) => [
-         q(7359),
+         q(7361),
          q(0),
          ],
       q(xip) => [
-         q(7360),
+         q(7362),
          q(0),
          ],
       q(xir) => [
-         q(7361),
+         q(7363),
          q(0),
          ],
       q(xis) => [
-         q(7362),
+         q(7364),
          q(0),
          ],
       q(xiv) => [
-         q(7363),
+         q(7365),
          q(0),
          ],
       q(xiy) => [
-         q(7364),
+         q(7366),
          q(0),
          ],
       q(xjb) => [
-         q(7365),
+         q(7367),
          q(0),
          ],
       q(xjt) => [
-         q(7366),
+         q(7368),
          q(0),
          ],
       q(xka) => [
-         q(7367),
+         q(7369),
          q(0),
          ],
       q(xkb) => [
-         q(7368),
+         q(7370),
          q(0),
          ],
       q(xkc) => [
-         q(7369),
+         q(7371),
          q(0),
          ],
       q(xkd) => [
-         q(7370),
+         q(7372),
          q(0),
          ],
       q(xke) => [
-         q(7371),
+         q(7373),
          q(0),
          ],
       q(xkf) => [
-         q(7372),
+         q(7374),
          q(0),
          ],
       q(xkg) => [
-         q(7373),
+         q(7375),
          q(0),
          ],
       q(xkh) => [
-         q(7374),
+         q(7376),
          q(0),
          ],
       q(xki) => [
-         q(7375),
+         q(7377),
          q(0),
          ],
       q(xkj) => [
-         q(7376),
+         q(7378),
          q(0),
          ],
       q(xkk) => [
-         q(7377),
+         q(7379),
          q(0),
          ],
       q(xkl) => [
-         q(7378),
+         q(7380),
          q(0),
          ],
       q(xkn) => [
-         q(7379),
+         q(7381),
          q(0),
          ],
       q(xko) => [
-         q(7380),
+         q(7382),
          q(0),
          ],
       q(xkp) => [
-         q(7381),
+         q(7383),
          q(0),
          ],
       q(xkq) => [
-         q(7382),
+         q(7384),
          q(0),
          ],
       q(xkr) => [
-         q(7383),
+         q(7385),
          q(0),
          ],
       q(xks) => [
-         q(7384),
+         q(7386),
          q(0),
          ],
       q(xkt) => [
-         q(7385),
+         q(7387),
          q(0),
          ],
       q(xku) => [
-         q(7386),
+         q(7388),
          q(0),
          ],
       q(xkv) => [
-         q(7387),
+         q(7389),
          q(0),
          ],
       q(xkw) => [
-         q(7388),
+         q(7390),
          q(0),
          ],
       q(xkx) => [
-         q(7389),
+         q(7391),
          q(0),
          ],
       q(xky) => [
-         q(7390),
+         q(7392),
          q(0),
          ],
       q(xkz) => [
-         q(7391),
+         q(7393),
          q(0),
          ],
       q(xla) => [
-         q(7392),
+         q(7394),
          q(0),
          ],
       q(xlb) => [
-         q(7393),
+         q(7395),
          q(0),
          ],
       q(xlc) => [
-         q(7394),
+         q(7396),
          q(0),
          ],
       q(xld) => [
-         q(7395),
+         q(7397),
          q(0),
          ],
       q(xle) => [
-         q(7396),
+         q(7398),
          q(0),
          ],
       q(xlg) => [
-         q(7397),
+         q(7399),
          q(0),
          ],
       q(xli) => [
-         q(7398),
+         q(7400),
          q(0),
          ],
       q(xln) => [
-         q(7399),
+         q(7401),
          q(0),
          ],
       q(xlo) => [
-         q(7400),
+         q(7402),
          q(0),
          ],
       q(xlp) => [
-         q(7401),
+         q(7403),
          q(0),
          ],
       q(xls) => [
-         q(7402),
+         q(7404),
          q(0),
          ],
       q(xlu) => [
-         q(7403),
+         q(7405),
          q(0),
          ],
       q(xly) => [
-         q(7404),
+         q(7406),
          q(0),
          ],
       q(xma) => [
-         q(7405),
+         q(7407),
          q(0),
          ],
       q(xmb) => [
-         q(7406),
+         q(7408),
          q(0),
          ],
       q(xmc) => [
-         q(7407),
+         q(7409),
          q(0),
          ],
       q(xmd) => [
-         q(7408),
+         q(7410),
          q(0),
          ],
       q(xme) => [
-         q(7409),
+         q(7411),
          q(0),
          ],
       q(xmf) => [
-         q(7410),
+         q(7412),
          q(0),
          ],
       q(xmg) => [
-         q(7411),
+         q(7413),
          q(0),
          ],
       q(xmh) => [
-         q(7412),
+         q(7414),
          q(0),
          ],
       q(xmj) => [
-         q(7413),
+         q(7415),
          q(0),
          ],
       q(xmk) => [
-         q(7414),
+         q(7416),
          q(0),
          ],
       q(xml) => [
-         q(7415),
+         q(7417),
          q(0),
          ],
       q(xmm) => [
-         q(7416),
+         q(7418),
          q(0),
          ],
       q(xmn) => [
-         q(7417),
+         q(7419),
          q(0),
          ],
       q(xmo) => [
-         q(7418),
+         q(7420),
          q(0),
          ],
       q(xmp) => [
-         q(7419),
+         q(7421),
          q(0),
          ],
       q(xmq) => [
-         q(7420),
+         q(7422),
          q(0),
          ],
       q(xmr) => [
-         q(7421),
+         q(7423),
          q(0),
          ],
       q(xms) => [
-         q(7422),
+         q(7424),
          q(0),
          ],
       q(xmt) => [
-         q(7423),
+         q(7425),
          q(0),
          ],
       q(xmu) => [
-         q(7424),
+         q(7426),
          q(0),
          ],
       q(xmv) => [
-         q(7425),
+         q(7427),
          q(0),
          ],
       q(xmw) => [
-         q(7426),
+         q(7428),
          q(0),
          ],
       q(xmx) => [
-         q(7427),
+         q(7429),
          q(0),
          ],
       q(xmy) => [
-         q(7428),
+         q(7430),
          q(0),
          ],
       q(xmz) => [
-         q(7429),
+         q(7431),
          q(0),
          ],
       q(xna) => [
-         q(7430),
+         q(7432),
          q(0),
          ],
       q(xnb) => [
-         q(7431),
+         q(7433),
          q(0),
          ],
       q(xnd) => [
@@ -87950,623 +87968,623 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(xng) => [
-         q(7432),
+         q(7434),
          q(0),
          ],
       q(xnh) => [
-         q(7433),
+         q(7435),
          q(0),
          ],
       q(xni) => [
-         q(7434),
+         q(7436),
          q(0),
          ],
       q(xnk) => [
-         q(7435),
+         q(7437),
          q(0),
          ],
       q(xnn) => [
-         q(7436),
+         q(7438),
          q(0),
          ],
       q(xno) => [
-         q(7437),
+         q(7439),
          q(0),
          ],
       q(xnr) => [
-         q(7438),
+         q(7440),
          q(0),
          ],
       q(xns) => [
-         q(7439),
+         q(7441),
          q(0),
          ],
       q(xnt) => [
-         q(7440),
+         q(7442),
          q(0),
          ],
       q(xnu) => [
-         q(7441),
+         q(7443),
          q(0),
          ],
       q(xny) => [
-         q(7442),
+         q(7444),
          q(0),
          ],
       q(xnz) => [
-         q(7443),
+         q(7445),
          q(0),
          ],
       q(xoc) => [
-         q(7444),
+         q(7446),
          q(0),
          ],
       q(xod) => [
-         q(7445),
+         q(7447),
          q(0),
          ],
       q(xog) => [
-         q(7446),
+         q(7448),
          q(0),
          ],
       q(xoi) => [
-         q(7447),
+         q(7449),
          q(0),
          ],
       q(xok) => [
-         q(7448),
+         q(7450),
          q(0),
          ],
       q(xom) => [
-         q(7449),
+         q(7451),
          q(0),
          ],
       q(xon) => [
-         q(7450),
+         q(7452),
          q(0),
          ],
       q(xoo) => [
-         q(7451),
+         q(7453),
          q(0),
          ],
       q(xop) => [
-         q(7452),
+         q(7454),
          q(0),
          ],
       q(xor) => [
-         q(7453),
+         q(7455),
          q(0),
          ],
       q(xow) => [
-         q(7454),
+         q(7456),
          q(0),
          ],
       q(xpa) => [
-         q(7455),
+         q(7457),
          q(0),
          ],
       q(xpc) => [
-         q(7456),
+         q(7458),
          q(0),
          ],
       q(xpe) => [
-         q(7457),
+         q(7459),
          q(0),
          ],
       q(xpg) => [
-         q(7458),
+         q(7460),
          q(0),
          ],
       q(xpi) => [
-         q(7459),
+         q(7461),
          q(0),
          ],
       q(xpj) => [
-         q(7460),
+         q(7462),
          q(0),
          ],
       q(xpk) => [
-         q(7461),
+         q(7463),
          q(0),
          ],
       q(xpm) => [
-         q(7462),
+         q(7464),
          q(0),
          ],
       q(xpn) => [
-         q(7463),
+         q(7465),
          q(0),
          ],
       q(xpo) => [
-         q(7464),
+         q(7466),
          q(0),
          ],
       q(xpp) => [
-         q(7465),
+         q(7467),
          q(0),
          ],
       q(xpq) => [
-         q(7466),
+         q(7468),
          q(0),
          ],
       q(xpr) => [
-         q(7467),
+         q(7469),
          q(0),
          ],
       q(xps) => [
-         q(7468),
+         q(7470),
          q(0),
          ],
       q(xpt) => [
-         q(7469),
+         q(7471),
          q(0),
          ],
       q(xpu) => [
-         q(7470),
+         q(7472),
          q(0),
          ],
       q(xpy) => [
-         q(7471),
+         q(7473),
          q(0),
          ],
       q(xqa) => [
-         q(7472),
+         q(7474),
          q(0),
          ],
       q(xqt) => [
-         q(7473),
+         q(7475),
          q(0),
          ],
       q(xra) => [
-         q(7474),
+         q(7476),
          q(0),
          ],
       q(xrb) => [
-         q(7475),
+         q(7477),
          q(0),
          ],
       q(xrd) => [
-         q(7476),
+         q(7478),
          q(0),
          ],
       q(xre) => [
-         q(7477),
+         q(7479),
          q(0),
          ],
       q(xrg) => [
-         q(7478),
+         q(7480),
          q(0),
          ],
       q(xri) => [
-         q(7479),
+         q(7481),
          q(0),
          ],
       q(xrm) => [
-         q(7480),
+         q(7482),
          q(0),
          ],
       q(xrn) => [
-         q(7481),
+         q(7483),
          q(0),
          ],
       q(xrq) => [
-         q(7482),
+         q(7484),
          q(0),
          ],
       q(xrr) => [
-         q(7483),
+         q(7485),
          q(0),
          ],
       q(xrt) => [
-         q(7484),
+         q(7486),
          q(0),
          ],
       q(xru) => [
-         q(7485),
+         q(7487),
          q(0),
          ],
       q(xrw) => [
-         q(7486),
+         q(7488),
          q(0),
          ],
       q(xsa) => [
-         q(7487),
+         q(7489),
          q(0),
          ],
       q(xsb) => [
-         q(7488),
+         q(7490),
          q(0),
          ],
       q(xsc) => [
-         q(7489),
+         q(7491),
          q(0),
          ],
       q(xsd) => [
-         q(7490),
+         q(7492),
          q(0),
          ],
       q(xse) => [
-         q(7491),
+         q(7493),
          q(0),
          ],
       q(xsh) => [
-         q(7492),
+         q(7494),
          q(0),
          ],
       q(xsi) => [
-         q(7493),
+         q(7495),
          q(0),
          ],
       q(xsl) => [
-         q(7494),
+         q(7496),
          q(0),
          ],
       q(xsm) => [
-         q(7495),
+         q(7497),
          q(0),
          ],
       q(xsn) => [
-         q(7496),
+         q(7498),
          q(0),
          ],
       q(xso) => [
-         q(7497),
+         q(7499),
          q(0),
          ],
       q(xsp) => [
-         q(7498),
+         q(7500),
          q(0),
          ],
       q(xsq) => [
-         q(7499),
+         q(7501),
          q(0),
          ],
       q(xsr) => [
-         q(7500),
+         q(7502),
          q(0),
          ],
       q(xss) => [
-         q(7501),
+         q(7503),
          q(0),
          ],
       q(xsu) => [
-         q(7502),
+         q(7504),
          q(0),
          ],
       q(xsv) => [
-         q(7503),
+         q(7505),
          q(0),
          ],
       q(xsy) => [
-         q(7504),
+         q(7506),
          q(0),
          ],
       q(xta) => [
-         q(7505),
+         q(7507),
          q(0),
          ],
       q(xtb) => [
-         q(7506),
+         q(7508),
          q(0),
          ],
       q(xtc) => [
-         q(7507),
+         q(7509),
          q(0),
          ],
       q(xtd) => [
-         q(7508),
+         q(7510),
          q(0),
          ],
       q(xte) => [
-         q(7509),
+         q(7511),
          q(0),
          ],
       q(xtg) => [
-         q(7510),
+         q(7512),
          q(0),
          ],
       q(xth) => [
-         q(7511),
+         q(7513),
          q(0),
          ],
       q(xti) => [
-         q(7512),
+         q(7514),
          q(0),
          ],
       q(xtj) => [
-         q(7513),
+         q(7515),
          q(0),
          ],
       q(xtl) => [
-         q(7514),
+         q(7516),
          q(0),
          ],
       q(xtm) => [
-         q(7515),
+         q(7517),
          q(0),
          ],
       q(xtn) => [
-         q(7516),
+         q(7518),
          q(0),
          ],
       q(xto) => [
-         q(7517),
+         q(7519),
          q(0),
          ],
       q(xtp) => [
-         q(7518),
+         q(7520),
          q(0),
          ],
       q(xtq) => [
-         q(7519),
+         q(7521),
          q(0),
          ],
       q(xtr) => [
-         q(7520),
+         q(7522),
          q(0),
          ],
       q(xts) => [
-         q(7521),
+         q(7523),
          q(0),
          ],
       q(xtt) => [
-         q(7522),
+         q(7524),
          q(0),
          ],
       q(xtu) => [
-         q(7523),
+         q(7525),
          q(0),
          ],
       q(xtv) => [
-         q(7524),
+         q(7526),
          q(0),
          ],
       q(xtw) => [
-         q(7525),
+         q(7527),
          q(0),
          ],
       q(xty) => [
-         q(7526),
+         q(7528),
          q(0),
          ],
       q(xtz) => [
-         q(7527),
+         q(7529),
          q(0),
          ],
       q(xua) => [
-         q(7528),
+         q(7530),
          q(0),
          ],
       q(xub) => [
-         q(7529),
+         q(7531),
          q(0),
          ],
       q(xud) => [
-         q(7530),
+         q(7532),
          q(0),
          ],
       q(xug) => [
-         q(7531),
+         q(7533),
          q(0),
          ],
       q(xuj) => [
-         q(7532),
+         q(7534),
          q(0),
          ],
       q(xul) => [
-         q(7533),
+         q(7535),
          q(0),
          ],
       q(xum) => [
-         q(7534),
+         q(7536),
          q(0),
          ],
       q(xun) => [
-         q(7535),
+         q(7537),
          q(0),
          ],
       q(xuo) => [
-         q(7536),
+         q(7538),
          q(0),
          ],
       q(xup) => [
-         q(7537),
+         q(7539),
          q(0),
          ],
       q(xur) => [
-         q(7538),
+         q(7540),
          q(0),
          ],
       q(xut) => [
-         q(7539),
+         q(7541),
          q(0),
          ],
       q(xuu) => [
-         q(7540),
+         q(7542),
          q(0),
          ],
       q(xve) => [
-         q(7541),
+         q(7543),
          q(0),
          ],
       q(xvi) => [
-         q(7542),
+         q(7544),
          q(0),
          ],
       q(xvn) => [
-         q(7543),
+         q(7545),
          q(0),
          ],
       q(xvo) => [
-         q(7544),
+         q(7546),
          q(0),
          ],
       q(xvs) => [
-         q(7545),
+         q(7547),
          q(0),
          ],
       q(xwa) => [
-         q(7546),
+         q(7548),
          q(0),
          ],
       q(xwc) => [
-         q(7547),
+         q(7549),
          q(0),
          ],
       q(xwd) => [
-         q(7548),
+         q(7550),
          q(0),
          ],
       q(xwe) => [
-         q(7549),
+         q(7551),
          q(0),
          ],
       q(xwg) => [
-         q(7550),
+         q(7552),
          q(0),
          ],
       q(xwj) => [
-         q(7551),
+         q(7553),
          q(0),
          ],
       q(xwk) => [
-         q(7552),
+         q(7554),
          q(0),
          ],
       q(xwl) => [
-         q(7553),
+         q(7555),
          q(0),
          ],
       q(xwo) => [
-         q(7554),
+         q(7556),
          q(0),
          ],
       q(xwr) => [
-         q(7555),
+         q(7557),
          q(0),
          ],
       q(xwt) => [
-         q(7556),
+         q(7558),
          q(0),
          ],
       q(xww) => [
-         q(7557),
+         q(7559),
          q(0),
          ],
       q(xxb) => [
-         q(7558),
+         q(7560),
          q(0),
          ],
       q(xxk) => [
-         q(7559),
+         q(7561),
          q(0),
          ],
       q(xxm) => [
-         q(7560),
+         q(7562),
          q(0),
          ],
       q(xxr) => [
-         q(7561),
+         q(7563),
          q(0),
          ],
       q(xxt) => [
-         q(7562),
+         q(7564),
          q(0),
          ],
       q(xya) => [
-         q(7563),
+         q(7565),
          q(0),
          ],
       q(xyb) => [
-         q(7564),
+         q(7566),
          q(0),
          ],
       q(xyj) => [
-         q(7565),
+         q(7567),
          q(0),
          ],
       q(xyk) => [
-         q(7566),
+         q(7568),
          q(0),
          ],
       q(xyl) => [
-         q(7567),
+         q(7569),
          q(0),
          ],
       q(xyt) => [
-         q(7568),
+         q(7570),
          q(0),
          ],
       q(xyy) => [
-         q(7569),
+         q(7571),
          q(0),
          ],
       q(xzh) => [
-         q(7570),
+         q(7572),
          q(0),
          ],
       q(xzm) => [
-         q(7571),
+         q(7573),
          q(0),
          ],
       q(xzp) => [
-         q(7572),
+         q(7574),
          q(0),
          ],
       q(yaa) => [
-         q(7573),
+         q(7575),
          q(0),
          ],
       q(yab) => [
-         q(7574),
+         q(7576),
          q(0),
          ],
       q(yac) => [
-         q(7575),
+         q(7577),
          q(0),
          ],
       q(yad) => [
-         q(7576),
+         q(7578),
          q(0),
          ],
       q(yae) => [
-         q(7577),
+         q(7579),
          q(0),
          ],
       q(yaf) => [
-         q(7578),
+         q(7580),
          q(0),
          ],
       q(yag) => [
-         q(7579),
+         q(7581),
          q(0),
          ],
       q(yah) => [
-         q(7580),
+         q(7582),
          q(0),
          ],
       q(yai) => [
-         q(7581),
+         q(7583),
          q(0),
          ],
       q(yaj) => [
-         q(7582),
+         q(7584),
          q(0),
          ],
       q(yak) => [
-         q(7583),
+         q(7585),
          q(0),
          ],
       q(yal) => [
-         q(7584),
+         q(7586),
          q(0),
          ],
       q(yam) => [
-         q(7585),
+         q(7587),
          q(0),
          ],
       q(yan) => [
-         q(7586),
+         q(7588),
          q(0),
          ],
       q(yao) => [
@@ -88578,235 +88596,235 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(yaq) => [
-         q(7587),
+         q(7589),
          q(0),
          ],
       q(yar) => [
-         q(7588),
+         q(7590),
          q(0),
          ],
       q(yas) => [
-         q(7589),
+         q(7591),
          q(0),
          ],
       q(yat) => [
-         q(7590),
+         q(7592),
          q(0),
          ],
       q(yau) => [
-         q(7591),
+         q(7593),
          q(0),
          ],
       q(yav) => [
-         q(7592),
+         q(7594),
          q(0),
          ],
       q(yaw) => [
-         q(7593),
+         q(7595),
          q(0),
          ],
       q(yax) => [
-         q(7594),
+         q(7596),
          q(0),
          ],
       q(yay) => [
-         q(7595),
+         q(7597),
          q(0),
          ],
       q(yaz) => [
-         q(7596),
+         q(7598),
          q(0),
          ],
       q(yba) => [
-         q(7597),
+         q(7599),
          q(0),
          ],
       q(ybb) => [
-         q(7598),
+         q(7600),
          q(0),
          ],
       q(ybe) => [
-         q(7599),
+         q(7601),
          q(0),
          ],
       q(ybh) => [
-         q(7600),
+         q(7602),
          q(0),
          ],
       q(ybi) => [
-         q(7601),
+         q(7603),
          q(0),
          ],
       q(ybj) => [
-         q(7602),
+         q(7604),
          q(0),
          ],
       q(ybk) => [
-         q(7603),
+         q(7605),
          q(0),
          ],
       q(ybl) => [
-         q(7604),
+         q(7606),
          q(0),
          ],
       q(ybm) => [
-         q(7605),
+         q(7607),
          q(0),
          ],
       q(ybn) => [
-         q(7606),
+         q(7608),
          q(0),
          ],
       q(ybo) => [
-         q(7607),
+         q(7609),
          q(0),
          ],
       q(ybx) => [
-         q(7608),
+         q(7610),
          q(0),
          ],
       q(yby) => [
-         q(7609),
+         q(7611),
          q(0),
          ],
       q(ych) => [
-         q(7610),
+         q(7612),
          q(0),
          ],
       q(ycl) => [
-         q(7611),
+         q(7613),
          q(0),
          ],
       q(ycn) => [
-         q(7612),
+         q(7614),
          q(0),
          ],
       q(ycp) => [
-         q(7613),
+         q(7615),
          q(0),
          ],
       q(yda) => [
-         q(7614),
+         q(7616),
          q(0),
          ],
       q(ydd) => [
-         q(7615),
+         q(7617),
          q(0),
          ],
       q(yde) => [
-         q(7616),
+         q(7618),
          q(0),
          ],
       q(ydg) => [
-         q(7617),
+         q(7619),
          q(0),
          ],
       q(ydk) => [
-         q(7618),
+         q(7620),
          q(0),
          ],
       q(yea) => [
-         q(7619),
+         q(7621),
          q(0),
          ],
       q(yec) => [
-         q(7620),
+         q(7622),
          q(0),
          ],
       q(yee) => [
-         q(7621),
+         q(7623),
          q(0),
          ],
       q(yei) => [
-         q(7622),
+         q(7624),
          q(0),
          ],
       q(yej) => [
-         q(7623),
+         q(7625),
          q(0),
          ],
       q(yel) => [
-         q(7624),
+         q(7626),
          q(0),
          ],
       q(yer) => [
-         q(7625),
+         q(7627),
          q(0),
          ],
       q(yes) => [
-         q(7626),
+         q(7628),
          q(0),
          ],
       q(yet) => [
-         q(7627),
+         q(7629),
          q(0),
          ],
       q(yeu) => [
-         q(7628),
+         q(7630),
          q(0),
          ],
       q(yev) => [
-         q(7629),
+         q(7631),
          q(0),
          ],
       q(yey) => [
-         q(7630),
+         q(7632),
          q(0),
          ],
       q(yga) => [
-         q(7631),
+         q(7633),
          q(0),
          ],
       q(ygi) => [
-         q(7632),
+         q(7634),
          q(0),
          ],
       q(ygl) => [
-         q(7633),
+         q(7635),
          q(0),
          ],
       q(ygm) => [
-         q(7634),
+         q(7636),
          q(0),
          ],
       q(ygp) => [
-         q(7635),
+         q(7637),
          q(0),
          ],
       q(ygr) => [
-         q(7636),
+         q(7638),
          q(0),
          ],
       q(ygs) => [
-         q(7637),
+         q(7639),
          q(0),
          ],
       q(ygu) => [
-         q(7638),
+         q(7640),
          q(0),
          ],
       q(ygw) => [
-         q(7639),
+         q(7641),
          q(0),
          ],
       q(yha) => [
-         q(7640),
+         q(7642),
          q(0),
          ],
       q(yhd) => [
-         q(7641),
+         q(7643),
          q(0),
          ],
       q(yhl) => [
-         q(7642),
+         q(7644),
          q(0),
          ],
       q(yhs) => [
-         q(7643),
+         q(7645),
          q(0),
          ],
       q(yia) => [
-         q(7644),
+         q(7646),
          q(0),
          ],
       q(yid) => [
@@ -88814,315 +88832,315 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(yif) => [
-         q(2656),
+         q(2657),
          q(0),
          ],
       q(yig) => [
-         q(7645),
+         q(7647),
          q(0),
          ],
       q(yih) => [
-         q(7646),
+         q(7648),
          q(0),
          ],
       q(yii) => [
-         q(7647),
+         q(7649),
          q(0),
          ],
       q(yij) => [
-         q(7648),
+         q(7650),
          q(0),
          ],
       q(yik) => [
-         q(7649),
+         q(7651),
          q(0),
          ],
       q(yil) => [
-         q(7650),
+         q(7652),
          q(0),
          ],
       q(yim) => [
-         q(7651),
+         q(7653),
          q(0),
          ],
       q(yin) => [
-         q(7652),
+         q(7654),
          q(0),
          ],
       q(yip) => [
-         q(7653),
+         q(7655),
          q(0),
          ],
       q(yiq) => [
-         q(7654),
+         q(7656),
          q(0),
          ],
       q(yir) => [
-         q(7655),
+         q(7657),
          q(0),
          ],
       q(yis) => [
-         q(7656),
+         q(7658),
          q(0),
          ],
       q(yit) => [
-         q(7657),
+         q(7659),
          q(0),
          ],
       q(yiu) => [
-         q(7658),
+         q(7660),
          q(0),
          ],
       q(yiv) => [
-         q(7659),
+         q(7661),
          q(0),
          ],
       q(yix) => [
-         q(7660),
+         q(7662),
          q(0),
          ],
       q(yiz) => [
-         q(7661),
+         q(7663),
          q(0),
          ],
       q(yka) => [
-         q(7662),
+         q(7664),
          q(0),
          ],
       q(ykg) => [
-         q(7663),
+         q(7665),
          q(0),
          ],
       q(yki) => [
-         q(7664),
+         q(7666),
          q(0),
          ],
       q(ykk) => [
-         q(7665),
+         q(7667),
          q(0),
          ],
       q(ykl) => [
-         q(7666),
+         q(7668),
          q(0),
          ],
       q(ykm) => [
-         q(7667),
+         q(7669),
          q(0),
          ],
       q(ykn) => [
-         q(7668),
+         q(7670),
          q(0),
          ],
       q(yko) => [
-         q(7669),
+         q(7671),
          q(0),
          ],
       q(ykr) => [
-         q(7670),
+         q(7672),
          q(0),
          ],
       q(ykt) => [
-         q(7671),
+         q(7673),
          q(0),
          ],
       q(yku) => [
-         q(7672),
+         q(7674),
          q(0),
          ],
       q(yky) => [
-         q(7673),
+         q(7675),
          q(0),
          ],
       q(yla) => [
-         q(7674),
+         q(7676),
          q(0),
          ],
       q(ylb) => [
-         q(7675),
+         q(7677),
          q(0),
          ],
       q(yle) => [
-         q(7676),
+         q(7678),
          q(0),
          ],
       q(ylg) => [
-         q(7677),
+         q(7679),
          q(0),
          ],
       q(yli) => [
-         q(7678),
+         q(7680),
          q(0),
          ],
       q(yll) => [
-         q(7679),
+         q(7681),
          q(0),
          ],
       q(ylm) => [
-         q(7680),
+         q(7682),
          q(0),
          ],
       q(yln) => [
-         q(7681),
+         q(7683),
          q(0),
          ],
       q(ylo) => [
-         q(7682),
+         q(7684),
          q(0),
          ],
       q(ylr) => [
-         q(7683),
+         q(7685),
          q(0),
          ],
       q(ylu) => [
-         q(7684),
+         q(7686),
          q(0),
          ],
       q(yly) => [
-         q(7685),
+         q(7687),
          q(0),
          ],
       q(ymb) => [
-         q(7686),
+         q(7688),
          q(0),
          ],
       q(ymc) => [
-         q(7687),
+         q(7689),
          q(0),
          ],
       q(ymd) => [
-         q(7688),
+         q(7690),
          q(0),
          ],
       q(yme) => [
-         q(7689),
+         q(7691),
          q(0),
          ],
       q(ymg) => [
-         q(7690),
+         q(7692),
          q(0),
          ],
       q(ymh) => [
-         q(7691),
+         q(7693),
          q(0),
          ],
       q(ymi) => [
-         q(7692),
+         q(7694),
          q(0),
          ],
       q(ymk) => [
-         q(7693),
+         q(7695),
          q(0),
          ],
       q(yml) => [
-         q(7694),
+         q(7696),
          q(0),
          ],
       q(ymm) => [
-         q(7695),
+         q(7697),
          q(0),
          ],
       q(ymn) => [
-         q(7696),
+         q(7698),
          q(0),
          ],
       q(ymo) => [
-         q(7697),
+         q(7699),
          q(0),
          ],
       q(ymp) => [
-         q(7698),
+         q(7700),
          q(0),
          ],
       q(ymq) => [
-         q(7699),
+         q(7701),
          q(0),
          ],
       q(ymr) => [
-         q(7700),
+         q(7702),
          q(0),
          ],
       q(yms) => [
-         q(7701),
+         q(7703),
          q(0),
          ],
       q(ymx) => [
-         q(7702),
+         q(7704),
          q(0),
          ],
       q(ymz) => [
-         q(7703),
+         q(7705),
          q(0),
          ],
       q(yna) => [
-         q(7704),
+         q(7706),
          q(0),
          ],
       q(ynd) => [
-         q(7705),
+         q(7707),
          q(0),
          ],
       q(yne) => [
-         q(7706),
+         q(7708),
          q(0),
          ],
       q(yng) => [
-         q(7707),
+         q(7709),
          q(0),
          ],
       q(ynk) => [
-         q(7708),
+         q(7710),
          q(0),
          ],
       q(ynl) => [
-         q(7709),
+         q(7711),
          q(0),
          ],
       q(ynn) => [
-         q(7710),
+         q(7712),
          q(0),
          ],
       q(yno) => [
-         q(7711),
+         q(7713),
          q(0),
          ],
       q(ynq) => [
-         q(7712),
+         q(7714),
          q(0),
          ],
       q(yns) => [
-         q(7713),
+         q(7715),
          q(0),
          ],
       q(ynu) => [
-         q(7714),
+         q(7716),
          q(0),
          ],
       q(yob) => [
-         q(7715),
+         q(7717),
          q(0),
          ],
       q(yog) => [
-         q(7716),
+         q(7718),
          q(0),
          ],
       q(yoi) => [
-         q(7717),
+         q(7719),
          q(0),
          ],
       q(yok) => [
-         q(7718),
+         q(7720),
          q(0),
          ],
       q(yol) => [
-         q(7719),
+         q(7721),
          q(0),
          ],
       q(yom) => [
-         q(7720),
+         q(7722),
          q(0),
          ],
       q(yon) => [
-         q(7721),
+         q(7723),
          q(0),
          ],
       q(yor) => [
@@ -89130,31 +89148,31 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(yot) => [
-         q(7722),
+         q(7724),
          q(0),
          ],
       q(yox) => [
-         q(7723),
+         q(7725),
          q(0),
          ],
       q(yoy) => [
-         q(7724),
+         q(7726),
          q(0),
          ],
       q(ypa) => [
-         q(7725),
+         q(7727),
          q(0),
          ],
       q(ypb) => [
-         q(7726),
+         q(7728),
          q(0),
          ],
       q(ypg) => [
-         q(7727),
+         q(7729),
          q(0),
          ],
       q(yph) => [
-         q(7728),
+         q(7730),
          q(0),
          ],
       q(ypk) => [
@@ -89162,355 +89180,355 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(ypm) => [
-         q(7729),
+         q(7731),
          q(0),
          ],
       q(ypn) => [
-         q(7730),
+         q(7732),
          q(0),
          ],
       q(ypo) => [
-         q(7731),
+         q(7733),
          q(0),
          ],
       q(ypp) => [
-         q(7732),
+         q(7734),
          q(0),
          ],
       q(ypz) => [
-         q(7733),
+         q(7735),
          q(0),
          ],
       q(yra) => [
-         q(7734),
+         q(7736),
          q(0),
          ],
       q(yrb) => [
-         q(7735),
+         q(7737),
          q(0),
          ],
       q(yre) => [
-         q(7736),
+         q(7738),
          q(0),
          ],
       q(yri) => [
-         q(7737),
+         q(7739),
          q(0),
          ],
       q(yrk) => [
-         q(7738),
+         q(7740),
          q(0),
          ],
       q(yrl) => [
-         q(7739),
+         q(7741),
          q(0),
          ],
       q(yrm) => [
-         q(7740),
+         q(7742),
          q(0),
          ],
       q(yrn) => [
-         q(7741),
+         q(7743),
          q(0),
          ],
       q(yrs) => [
-         q(7742),
+         q(7744),
          q(0),
          ],
       q(yrw) => [
-         q(7743),
+         q(7745),
          q(0),
          ],
       q(yry) => [
-         q(7744),
+         q(7746),
          q(0),
          ],
       q(ysc) => [
-         q(7745),
+         q(7747),
          q(0),
          ],
       q(ysd) => [
-         q(7746),
+         q(7748),
          q(0),
          ],
       q(ysg) => [
-         q(7747),
+         q(7749),
          q(0),
          ],
       q(ysl) => [
-         q(7748),
+         q(7750),
          q(0),
          ],
       q(ysn) => [
-         q(7749),
+         q(7751),
          q(0),
          ],
       q(yso) => [
-         q(7750),
+         q(7752),
          q(0),
          ],
       q(ysp) => [
-         q(7751),
+         q(7753),
          q(0),
          ],
       q(ysr) => [
-         q(7752),
+         q(7754),
          q(0),
          ],
       q(yss) => [
-         q(7753),
+         q(7755),
          q(0),
          ],
       q(ysy) => [
-         q(7754),
+         q(7756),
          q(0),
          ],
       q(yta) => [
-         q(7755),
+         q(7757),
          q(0),
          ],
       q(ytl) => [
-         q(7756),
+         q(7758),
          q(0),
          ],
       q(ytp) => [
-         q(7757),
+         q(7759),
          q(0),
          ],
       q(ytw) => [
-         q(7758),
+         q(7760),
          q(0),
          ],
       q(yty) => [
-         q(7759),
+         q(7761),
          q(0),
          ],
       q(yua) => [
-         q(7760),
+         q(7762),
          q(0),
          ],
       q(yub) => [
-         q(7761),
+         q(7763),
          q(0),
          ],
       q(yuc) => [
-         q(7762),
+         q(7764),
          q(0),
          ],
       q(yud) => [
-         q(7763),
+         q(7765),
          q(0),
          ],
       q(yue) => [
-         q(7764),
+         q(7766),
          q(0),
          ],
       q(yuf) => [
-         q(7765),
+         q(7767),
          q(0),
          ],
       q(yug) => [
-         q(7766),
+         q(7768),
          q(0),
          ],
       q(yui) => [
-         q(7767),
+         q(7769),
          q(0),
          ],
       q(yuj) => [
-         q(7768),
+         q(7770),
          q(0),
          ],
       q(yuk) => [
-         q(7769),
+         q(7771),
          q(0),
          ],
       q(yul) => [
-         q(7770),
+         q(7772),
          q(0),
          ],
       q(yum) => [
-         q(7771),
+         q(7773),
          q(0),
          ],
       q(yun) => [
-         q(7772),
+         q(7774),
          q(0),
          ],
       q(yup) => [
-         q(7773),
+         q(7775),
          q(0),
          ],
       q(yuq) => [
-         q(7774),
+         q(7776),
          q(0),
          ],
       q(yur) => [
-         q(7775),
+         q(7777),
          q(0),
          ],
       q(yut) => [
-         q(7776),
+         q(7778),
          q(0),
          ],
       q(yuw) => [
-         q(7777),
+         q(7779),
          q(0),
          ],
       q(yux) => [
-         q(7778),
+         q(7780),
          q(0),
          ],
       q(yuy) => [
-         q(7779),
+         q(7781),
          q(0),
          ],
       q(yuz) => [
-         q(7780),
+         q(7782),
          q(0),
          ],
       q(yva) => [
-         q(7781),
+         q(7783),
          q(0),
          ],
       q(yvt) => [
-         q(7782),
+         q(7784),
          q(0),
          ],
       q(ywa) => [
-         q(7783),
+         q(7785),
          q(0),
          ],
       q(ywg) => [
-         q(7784),
+         q(7786),
          q(0),
          ],
       q(ywl) => [
-         q(7785),
+         q(7787),
          q(0),
          ],
       q(ywn) => [
-         q(7786),
+         q(7788),
          q(0),
          ],
       q(ywq) => [
-         q(7787),
+         q(7789),
          q(0),
          ],
       q(ywr) => [
-         q(7788),
+         q(7790),
          q(0),
          ],
       q(ywt) => [
-         q(7789),
+         q(7791),
          q(0),
          ],
       q(ywu) => [
-         q(7790),
+         q(7792),
          q(0),
          ],
       q(yww) => [
-         q(7791),
+         q(7793),
          q(0),
          ],
       q(yxa) => [
-         q(7792),
+         q(7794),
          q(0),
          ],
       q(yxg) => [
-         q(7793),
+         q(7795),
          q(0),
          ],
       q(yxl) => [
-         q(7794),
+         q(7796),
          q(0),
          ],
       q(yxm) => [
-         q(7795),
+         q(7797),
          q(0),
          ],
       q(yxu) => [
-         q(7796),
+         q(7798),
          q(0),
          ],
       q(yxy) => [
-         q(7797),
+         q(7799),
          q(0),
          ],
       q(yyr) => [
-         q(7798),
+         q(7800),
          q(0),
          ],
       q(yyu) => [
-         q(7799),
+         q(7801),
          q(0),
          ],
       q(yyz) => [
-         q(7800),
+         q(7802),
          q(0),
          ],
       q(yzg) => [
-         q(7801),
+         q(7803),
          q(0),
          ],
       q(yzk) => [
-         q(7802),
+         q(7804),
          q(0),
          ],
       q(zaa) => [
-         q(7803),
+         q(7805),
          q(0),
          ],
       q(zab) => [
-         q(7804),
+         q(7806),
          q(0),
          ],
       q(zac) => [
-         q(7805),
+         q(7807),
          q(0),
          ],
       q(zad) => [
-         q(7806),
+         q(7808),
          q(0),
          ],
       q(zae) => [
-         q(7807),
+         q(7809),
          q(0),
          ],
       q(zaf) => [
-         q(7808),
+         q(7810),
          q(0),
          ],
       q(zag) => [
-         q(7809),
+         q(7811),
          q(0),
          ],
       q(zah) => [
-         q(7810),
+         q(7812),
          q(0),
          ],
       q(zai) => [
-         q(7811),
+         q(7813),
          q(0),
          ],
       q(zaj) => [
-         q(7812),
+         q(7814),
          q(0),
          ],
       q(zak) => [
-         q(7813),
+         q(7815),
          q(0),
          ],
       q(zal) => [
-         q(7814),
+         q(7816),
          q(0),
          ],
       q(zam) => [
-         q(7815),
+         q(7817),
          q(0),
          ],
       q(zao) => [
-         q(7816),
+         q(7818),
          q(0),
          ],
       q(zap) => [
@@ -89518,51 +89536,51 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zaq) => [
-         q(7817),
+         q(7819),
          q(0),
          ],
       q(zar) => [
-         q(7818),
+         q(7820),
          q(0),
          ],
       q(zas) => [
-         q(7819),
+         q(7821),
          q(0),
          ],
       q(zat) => [
-         q(7820),
+         q(7822),
          q(0),
          ],
       q(zau) => [
-         q(7821),
+         q(7823),
          q(0),
          ],
       q(zav) => [
-         q(7822),
+         q(7824),
          q(0),
          ],
       q(zaw) => [
-         q(7823),
+         q(7825),
          q(0),
          ],
       q(zax) => [
-         q(7824),
+         q(7826),
          q(0),
          ],
       q(zay) => [
-         q(7825),
+         q(7827),
          q(0),
          ],
       q(zaz) => [
-         q(7826),
+         q(7828),
          q(0),
          ],
       q(zbc) => [
-         q(7827),
+         q(7829),
          q(0),
          ],
       q(zbe) => [
-         q(7828),
+         q(7830),
          q(0),
          ],
       q(zbl) => [
@@ -89570,35 +89588,35 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zbt) => [
-         q(7829),
+         q(7831),
          q(0),
          ],
       q(zbw) => [
-         q(7830),
+         q(7832),
          q(0),
          ],
       q(zca) => [
-         q(7831),
+         q(7833),
          q(0),
          ],
       q(zch) => [
-         q(7832),
+         q(7834),
          q(0),
          ],
       q(zdj) => [
-         q(7833),
+         q(7835),
          q(0),
          ],
       q(zea) => [
-         q(7834),
+         q(7836),
          q(0),
          ],
       q(zeg) => [
-         q(7835),
+         q(7837),
          q(0),
          ],
       q(zeh) => [
-         q(7836),
+         q(7838),
          q(0),
          ],
       q(zen) => [
@@ -89606,11 +89624,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zga) => [
-         q(7837),
+         q(7839),
          q(0),
          ],
       q(zgb) => [
-         q(7838),
+         q(7840),
          q(0),
          ],
       q(zgh) => [
@@ -89618,15 +89636,15 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zgm) => [
-         q(7839),
+         q(7841),
          q(0),
          ],
       q(zgn) => [
-         q(7840),
+         q(7842),
          q(0),
          ],
       q(zgr) => [
-         q(7841),
+         q(7843),
          q(0),
          ],
       q(zha) => [
@@ -89634,23 +89652,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zhb) => [
-         q(7842),
+         q(7844),
          q(0),
          ],
       q(zhd) => [
-         q(7843),
+         q(7845),
          q(0),
          ],
       q(zhi) => [
-         q(7844),
+         q(7846),
          q(0),
          ],
       q(zhn) => [
-         q(7845),
+         q(7847),
          q(0),
          ],
       q(zhw) => [
-         q(7846),
+         q(7848),
          q(0),
          ],
       q(zhx) => [
@@ -89658,95 +89676,95 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zia) => [
-         q(7847),
+         q(7849),
          q(0),
          ],
       q(zib) => [
-         q(7848),
+         q(7850),
          q(0),
          ],
       q(zik) => [
-         q(7849),
+         q(7851),
          q(0),
          ],
       q(zil) => [
-         q(7850),
+         q(7852),
          q(0),
          ],
       q(zim) => [
-         q(7851),
+         q(7853),
          q(0),
          ],
       q(zin) => [
-         q(7852),
+         q(7854),
          q(0),
          ],
       q(zir) => [
-         q(7853),
+         q(7855),
          q(0),
          ],
       q(ziw) => [
-         q(7854),
+         q(7856),
          q(0),
          ],
       q(ziz) => [
-         q(7855),
+         q(7857),
          q(0),
          ],
       q(zka) => [
-         q(7856),
+         q(7858),
          q(0),
          ],
       q(zkb) => [
-         q(7857),
+         q(7859),
          q(0),
          ],
       q(zkd) => [
-         q(7858),
+         q(7860),
          q(0),
          ],
       q(zkg) => [
-         q(7859),
+         q(7861),
          q(0),
          ],
       q(zkh) => [
-         q(7860),
+         q(7862),
          q(0),
          ],
       q(zkk) => [
-         q(7861),
+         q(7863),
          q(0),
          ],
       q(zkn) => [
-         q(7862),
+         q(7864),
          q(0),
          ],
       q(zko) => [
-         q(7863),
+         q(7865),
          q(0),
          ],
       q(zkp) => [
-         q(7864),
+         q(7866),
          q(0),
          ],
       q(zkr) => [
-         q(7865),
+         q(7867),
          q(0),
          ],
       q(zkt) => [
-         q(7866),
+         q(7868),
          q(0),
          ],
       q(zku) => [
-         q(7867),
+         q(7869),
          q(0),
          ],
       q(zkv) => [
-         q(7868),
+         q(7870),
          q(0),
          ],
       q(zkz) => [
-         q(7869),
+         q(7871),
          q(0),
          ],
       q(zle) => [
@@ -89754,19 +89772,19 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zlj) => [
-         q(7870),
+         q(7872),
          q(0),
          ],
       q(zlm) => [
-         q(7871),
+         q(7873),
          q(0),
          ],
       q(zln) => [
-         q(7872),
+         q(7874),
          q(0),
          ],
       q(zlq) => [
-         q(7873),
+         q(7875),
          q(0),
          ],
       q(zls) => [
@@ -89778,111 +89796,111 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zma) => [
-         q(7874),
+         q(7876),
          q(0),
          ],
       q(zmb) => [
-         q(7875),
+         q(7877),
          q(0),
          ],
       q(zmc) => [
-         q(7876),
+         q(7878),
          q(0),
          ],
       q(zmd) => [
-         q(7877),
+         q(7879),
          q(0),
          ],
       q(zme) => [
-         q(7878),
+         q(7880),
          q(0),
          ],
       q(zmf) => [
-         q(7879),
+         q(7881),
          q(0),
          ],
       q(zmg) => [
-         q(7880),
+         q(7882),
          q(0),
          ],
       q(zmh) => [
-         q(7881),
+         q(7883),
          q(0),
          ],
       q(zmi) => [
-         q(7882),
+         q(7884),
          q(0),
          ],
       q(zmj) => [
-         q(7883),
+         q(7885),
          q(0),
          ],
       q(zmk) => [
-         q(7884),
+         q(7886),
          q(0),
          ],
       q(zml) => [
-         q(7885),
+         q(7887),
          q(0),
          ],
       q(zmm) => [
-         q(7886),
+         q(7888),
          q(0),
          ],
       q(zmn) => [
-         q(7887),
+         q(7889),
          q(0),
          ],
       q(zmo) => [
-         q(7888),
+         q(7890),
          q(0),
          ],
       q(zmp) => [
-         q(7889),
+         q(7891),
          q(0),
          ],
       q(zmq) => [
-         q(7890),
+         q(7892),
          q(0),
          ],
       q(zmr) => [
-         q(7891),
+         q(7893),
          q(0),
          ],
       q(zms) => [
-         q(7892),
+         q(7894),
          q(0),
          ],
       q(zmt) => [
-         q(7893),
+         q(7895),
          q(0),
          ],
       q(zmu) => [
-         q(7894),
+         q(7896),
          q(0),
          ],
       q(zmv) => [
-         q(7895),
+         q(7897),
          q(0),
          ],
       q(zmw) => [
-         q(7896),
+         q(7898),
          q(0),
          ],
       q(zmx) => [
-         q(7897),
+         q(7899),
          q(0),
          ],
       q(zmy) => [
-         q(7898),
+         q(7900),
          q(0),
          ],
       q(zmz) => [
-         q(7899),
+         q(7901),
          q(0),
          ],
       q(zna) => [
-         q(7900),
+         q(7902),
          q(0),
          ],
       q(znd) => [
@@ -89890,259 +89908,259 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zne) => [
-         q(7901),
+         q(7903),
          q(0),
          ],
       q(zng) => [
-         q(7902),
+         q(7904),
          q(0),
          ],
       q(znk) => [
-         q(7903),
+         q(7905),
          q(0),
          ],
       q(zns) => [
-         q(7904),
+         q(7906),
          q(0),
          ],
       q(zoc) => [
-         q(7905),
+         q(7907),
          q(0),
          ],
       q(zoh) => [
-         q(7906),
+         q(7908),
          q(0),
          ],
       q(zom) => [
-         q(7907),
+         q(7909),
          q(0),
          ],
       q(zoo) => [
-         q(7908),
+         q(7910),
          q(0),
          ],
       q(zoq) => [
-         q(7909),
+         q(7911),
          q(0),
          ],
       q(zor) => [
-         q(7910),
+         q(7912),
          q(0),
          ],
       q(zos) => [
-         q(7911),
+         q(7913),
          q(0),
          ],
       q(zpa) => [
-         q(7912),
+         q(7914),
          q(0),
          ],
       q(zpb) => [
-         q(7913),
+         q(7915),
          q(0),
          ],
       q(zpc) => [
-         q(7914),
+         q(7916),
          q(0),
          ],
       q(zpd) => [
-         q(7915),
+         q(7917),
          q(0),
          ],
       q(zpe) => [
-         q(7916),
+         q(7918),
          q(0),
          ],
       q(zpf) => [
-         q(7917),
+         q(7919),
          q(0),
          ],
       q(zpg) => [
-         q(7918),
+         q(7920),
          q(0),
          ],
       q(zph) => [
-         q(7919),
+         q(7921),
          q(0),
          ],
       q(zpi) => [
-         q(7920),
+         q(7922),
          q(0),
          ],
       q(zpj) => [
-         q(7921),
+         q(7923),
          q(0),
          ],
       q(zpk) => [
-         q(7922),
+         q(7924),
          q(0),
          ],
       q(zpl) => [
-         q(7923),
+         q(7925),
          q(0),
          ],
       q(zpm) => [
-         q(7924),
+         q(7926),
          q(0),
          ],
       q(zpn) => [
-         q(7925),
+         q(7927),
          q(0),
          ],
       q(zpo) => [
-         q(7926),
+         q(7928),
          q(0),
          ],
       q(zpp) => [
-         q(7927),
+         q(7929),
          q(0),
          ],
       q(zpq) => [
-         q(7928),
+         q(7930),
          q(0),
          ],
       q(zpr) => [
-         q(7929),
+         q(7931),
          q(0),
          ],
       q(zps) => [
-         q(7930),
+         q(7932),
          q(0),
          ],
       q(zpt) => [
-         q(7931),
+         q(7933),
          q(0),
          ],
       q(zpu) => [
-         q(7932),
+         q(7934),
          q(0),
          ],
       q(zpv) => [
-         q(7933),
+         q(7935),
          q(0),
          ],
       q(zpw) => [
-         q(7934),
+         q(7936),
          q(0),
          ],
       q(zpx) => [
-         q(7935),
+         q(7937),
          q(0),
          ],
       q(zpy) => [
-         q(7936),
+         q(7938),
          q(0),
          ],
       q(zpz) => [
-         q(7937),
+         q(7939),
          q(0),
          ],
       q(zqe) => [
-         q(7938),
+         q(7940),
          q(0),
          ],
       q(zra) => [
-         q(7939),
+         q(7941),
          q(0),
          ],
       q(zrg) => [
-         q(7940),
+         q(7942),
          q(0),
          ],
       q(zrn) => [
-         q(7941),
+         q(7943),
          q(0),
          ],
       q(zro) => [
-         q(7942),
+         q(7944),
          q(0),
          ],
       q(zrp) => [
-         q(7943),
+         q(7945),
          q(0),
          ],
       q(zrs) => [
-         q(7944),
+         q(7946),
          q(0),
          ],
       q(zsa) => [
-         q(7945),
+         q(7947),
          q(0),
          ],
       q(zsk) => [
-         q(7946),
+         q(7948),
          q(0),
          ],
       q(zsl) => [
-         q(7947),
+         q(7949),
          q(0),
          ],
       q(zsm) => [
-         q(7948),
+         q(7950),
          q(0),
          ],
       q(zsr) => [
-         q(7949),
+         q(7951),
          q(0),
          ],
       q(zsu) => [
-         q(7950),
+         q(7952),
          q(0),
          ],
       q(zte) => [
-         q(7951),
+         q(7953),
          q(0),
          ],
       q(ztg) => [
-         q(7952),
+         q(7954),
          q(0),
          ],
       q(ztl) => [
-         q(7953),
+         q(7955),
          q(0),
          ],
       q(ztm) => [
-         q(7954),
+         q(7956),
          q(0),
          ],
       q(ztn) => [
-         q(7955),
+         q(7957),
          q(0),
          ],
       q(ztp) => [
-         q(7956),
+         q(7958),
          q(0),
          ],
       q(ztq) => [
-         q(7957),
+         q(7959),
          q(0),
          ],
       q(zts) => [
-         q(7958),
+         q(7960),
          q(0),
          ],
       q(ztt) => [
-         q(7959),
+         q(7961),
          q(0),
          ],
       q(ztu) => [
-         q(7960),
+         q(7962),
          q(0),
          ],
       q(ztx) => [
-         q(7961),
+         q(7963),
          q(0),
          ],
       q(zty) => [
-         q(7962),
+         q(7964),
          q(0),
          ],
       q(zua) => [
-         q(7963),
+         q(7965),
          q(0),
          ],
       q(zuh) => [
-         q(7964),
+         q(7966),
          q(0),
          ],
       q(zul) => [
@@ -90150,7 +90168,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zum) => [
-         q(7965),
+         q(7967),
          q(0),
          ],
       q(zun) => [
@@ -90158,11 +90176,11 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zuy) => [
-         q(7966),
+         q(7968),
          q(0),
          ],
       q(zwa) => [
-         q(7967),
+         q(7969),
          q(0),
          ],
       q(zxx) => [
@@ -90170,23 +90188,23 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zyb) => [
-         q(7968),
+         q(7970),
          q(0),
          ],
       q(zyg) => [
-         q(7969),
+         q(7971),
          q(0),
          ],
       q(zyj) => [
-         q(7970),
+         q(7972),
          q(0),
          ],
       q(zyn) => [
-         q(7971),
+         q(7973),
          q(0),
          ],
       q(zyp) => [
-         q(7972),
+         q(7974),
          q(0),
          ],
       q(zza) => [
@@ -90194,7 +90212,7 @@ $Locale::Codes::Data{'language'}{'code2id'} = {
          q(0),
          ],
       q(zzj) => [
-         q(7973),
+         q(7975),
          q(0),
          ],
       },
@@ -93163,7 +93181,7 @@ $Locale::Codes::Data{'language'}{'id2code'} = {
       q(0827) => q(aon),
       q(0828) => q(aor),
       q(0829) => q(aos),
-      q(0830) => q(ato),
+      q(0830) => q(aot),
       q(0831) => q(aou),
       q(0832) => q(aox),
       q(0833) => q(aoz),
@@ -93254,7059 +93272,7061 @@ $Locale::Codes::Data{'language'}{'id2code'} = {
       q(0918) => q(atl),
       q(0919) => q(atm),
       q(0920) => q(atn),
-      q(0921) => q(atp),
-      q(0922) => q(atq),
-      q(0923) => q(atr),
-      q(0924) => q(ats),
-      q(0925) => q(att),
-      q(0926) => q(atu),
-      q(0927) => q(atv),
-      q(0928) => q(atw),
-      q(0929) => q(atx),
-      q(0930) => q(aty),
-      q(0931) => q(atz),
-      q(0932) => q(aua),
-      q(0933) => q(aub),
-      q(0934) => q(auc),
-      q(0935) => q(aud),
-      q(0936) => q(aug),
-      q(0937) => q(auh),
-      q(0938) => q(aui),
-      q(0939) => q(auj),
-      q(0940) => q(auk),
-      q(0941) => q(aul),
-      q(0942) => q(aum),
-      q(0943) => q(aun),
-      q(0944) => q(auo),
-      q(0945) => q(aup),
-      q(0946) => q(auq),
-      q(0947) => q(aur),
-      q(0948) => q(aut),
-      q(0949) => q(auu),
-      q(0950) => q(auw),
-      q(0951) => q(aux),
-      q(0952) => q(auy),
-      q(0953) => q(auz),
-      q(0954) => q(avb),
-      q(0955) => q(avd),
-      q(0956) => q(avi),
-      q(0957) => q(avk),
-      q(0958) => q(avl),
-      q(0959) => q(avm),
-      q(0960) => q(avn),
-      q(0961) => q(avo),
-      q(0962) => q(avs),
-      q(0963) => q(avt),
-      q(0964) => q(avu),
-      q(0965) => q(avv),
-      q(0966) => q(awb),
-      q(0967) => q(awc),
-      q(0968) => q(awe),
-      q(0969) => q(awg),
-      q(0970) => q(awh),
-      q(0971) => q(awi),
-      q(0972) => q(awk),
-      q(0973) => q(awm),
-      q(0974) => q(awn),
-      q(0975) => q(awo),
-      q(0976) => q(awr),
-      q(0977) => q(aws),
-      q(0978) => q(awt),
-      q(0979) => q(awu),
-      q(0980) => q(awv),
-      q(0981) => q(aww),
-      q(0982) => q(awx),
-      q(0983) => q(awy),
-      q(0984) => q(axb),
-      q(0985) => q(axe),
-      q(0986) => q(axg),
-      q(0987) => q(axk),
-      q(0988) => q(axl),
-      q(0989) => q(axm),
-      q(0990) => q(axx),
-      q(0991) => q(aya),
-      q(0992) => q(ayb),
-      q(0993) => q(ayc),
-      q(0994) => q(ayd),
-      q(0995) => q(aye),
-      q(0996) => q(ayg),
-      q(0997) => q(ayh),
-      q(0998) => q(ayi),
-      q(0999) => q(ayk),
-      q(1000) => q(ayl),
-      q(1001) => q(ayn),
-      q(1002) => q(ayo),
-      q(1003) => q(ayp),
-      q(1004) => q(ayq),
-      q(1005) => q(ayr),
-      q(1006) => q(ays),
-      q(1007) => q(ayt),
-      q(1008) => q(ayu),
-      q(1009) => q(ayy),
-      q(1010) => q(ayz),
-      q(1011) => q(aza),
-      q(1012) => q(azb),
-      q(1013) => q(azd),
-      q(1014) => q(azg),
-      q(1015) => q(azj),
-      q(1016) => q(azm),
-      q(1017) => q(azn),
-      q(1018) => q(azo),
-      q(1019) => q(azt),
-      q(1020) => q(azz),
-      q(1021) => q(baa),
-      q(1022) => q(bab),
-      q(1023) => q(bac),
-      q(1024) => q(bae),
-      q(1025) => q(baf),
-      q(1026) => q(bag),
-      q(1027) => q(bah),
-      q(1028) => q(baj),
-      q(1029) => q(bao),
-      q(1030) => q(bap),
-      q(1031) => q(bar),
-      q(1032) => q(bau),
-      q(1033) => q(bav),
-      q(1034) => q(baw),
-      q(1035) => q(bax),
-      q(1036) => q(bay),
-      q(1037) => q(bba),
-      q(1038) => q(bbb),
-      q(1039) => q(bbc),
-      q(1040) => q(bbd),
-      q(1041) => q(bbe),
-      q(1042) => q(bbf),
-      q(1043) => q(bbg),
-      q(1044) => q(bbh),
-      q(1045) => q(bbi),
-      q(1046) => q(bbj),
-      q(1047) => q(bbk),
-      q(1048) => q(bbl),
-      q(1049) => q(bbm),
-      q(1050) => q(bbn),
-      q(1051) => q(bbo),
-      q(1052) => q(bbp),
-      q(1053) => q(bbq),
-      q(1054) => q(bbr),
-      q(1055) => q(bbs),
-      q(1056) => q(bbt),
-      q(1057) => q(bbu),
-      q(1058) => q(bbv),
-      q(1059) => q(bbw),
-      q(1060) => q(bbx),
-      q(1061) => q(bby),
-      q(1062) => q(bbz),
-      q(1063) => q(bca),
-      q(1064) => q(bcb),
-      q(1065) => q(bcc),
-      q(1066) => q(bcd),
-      q(1067) => q(bce),
-      q(1068) => q(bcf),
-      q(1069) => q(bcg),
-      q(1070) => q(bch),
-      q(1071) => q(bci),
-      q(1072) => q(bcj),
-      q(1073) => q(bck),
-      q(1074) => q(bcl),
-      q(1075) => q(bcm),
-      q(1076) => q(bcn),
-      q(1077) => q(bco),
-      q(1078) => q(bcp),
-      q(1079) => q(bcq),
-      q(1080) => q(bcr),
-      q(1081) => q(bcs),
-      q(1082) => q(bct),
-      q(1083) => q(bcu),
-      q(1084) => q(bcv),
-      q(1085) => q(bcw),
-      q(1086) => q(bcy),
-      q(1087) => q(bcz),
-      q(1088) => q(bda),
-      q(1089) => q(bdb),
-      q(1090) => q(bdc),
-      q(1091) => q(bdd),
-      q(1092) => q(bde),
-      q(1093) => q(bdf),
-      q(1094) => q(bdg),
-      q(1095) => q(bdh),
-      q(1096) => q(bdi),
-      q(1097) => q(bdj),
-      q(1098) => q(bdk),
-      q(1099) => q(bdl),
-      q(1100) => q(bdm),
-      q(1101) => q(bdn),
-      q(1102) => q(bdo),
-      q(1103) => q(bdp),
-      q(1104) => q(bdq),
-      q(1105) => q(bdr),
-      q(1106) => q(bds),
-      q(1107) => q(bdt),
-      q(1108) => q(bdu),
-      q(1109) => q(bdv),
-      q(1110) => q(bdw),
-      q(1111) => q(bdx),
-      q(1112) => q(bdy),
-      q(1113) => q(bdz),
-      q(1114) => q(bea),
-      q(1115) => q(beb),
-      q(1116) => q(bec),
-      q(1117) => q(bed),
-      q(1118) => q(bee),
-      q(1119) => q(bef),
-      q(1120) => q(beg),
-      q(1121) => q(beh),
-      q(1122) => q(bei),
-      q(1123) => q(bek),
-      q(1124) => q(beo),
-      q(1125) => q(bep),
-      q(1126) => q(beq),
-      q(1127) => q(bes),
-      q(1128) => q(bet),
-      q(1129) => q(beu),
-      q(1130) => q(bev),
-      q(1131) => q(bew),
-      q(1132) => q(bex),
-      q(1133) => q(bey),
-      q(1134) => q(bez),
-      q(1135) => q(mot),
-      q(1136) => q(bfb),
-      q(1137) => q(bfc),
-      q(1138) => q(bfd),
-      q(1139) => q(bfe),
-      q(1140) => q(bff),
-      q(1141) => q(bfg),
-      q(1142) => q(bfh),
-      q(1143) => q(bfi),
-      q(1144) => q(bfj),
-      q(1145) => q(bfk),
-      q(1146) => q(bfl),
-      q(1147) => q(bfm),
-      q(1148) => q(bfn),
-      q(1149) => q(bfo),
-      q(1150) => q(bfp),
-      q(1151) => q(bfq),
-      q(1152) => q(bfr),
-      q(1153) => q(bfs),
-      q(1154) => q(bft),
-      q(1155) => q(bfu),
-      q(1156) => q(bfw),
-      q(1157) => q(bfx),
-      q(1158) => q(bfy),
-      q(1159) => q(bfz),
-      q(1160) => q(bga),
-      q(1161) => q(bgb),
-      q(1162) => q(bgc),
-      q(1163) => q(bgd),
-      q(1164) => q(bge),
-      q(1165) => q(bgf),
-      q(1166) => q(bgg),
-      q(1167) => q(bgi),
-      q(1168) => q(bgj),
-      q(1169) => q(bgk),
-      q(1170) => q(bgl),
-      q(1171) => q(bgm),
-      q(1172) => q(bgn),
-      q(1173) => q(bgo),
-      q(1174) => q(bgp),
-      q(1175) => q(bgq),
-      q(1176) => q(bgr),
-      q(1177) => q(bgs),
-      q(1178) => q(bgt),
-      q(1179) => q(bgu),
-      q(1180) => q(bgv),
-      q(1181) => q(bgw),
-      q(1182) => q(bgx),
-      q(1183) => q(bgy),
-      q(1184) => q(bgz),
-      q(1185) => q(bha),
-      q(1186) => q(bhb),
-      q(1187) => q(bhc),
-      q(1188) => q(bhd),
-      q(1189) => q(bhe),
-      q(1190) => q(bhf),
-      q(1191) => q(bhg),
-      q(1192) => q(bhh),
-      q(1193) => q(bhi),
-      q(1194) => q(bhj),
-      q(1195) => q(bhl),
-      q(1196) => q(bhm),
-      q(1197) => q(bhn),
-      q(1198) => q(bhp),
-      q(1199) => q(bhq),
-      q(1200) => q(bhr),
-      q(1201) => q(bhs),
-      q(1202) => q(bht),
-      q(1203) => q(bhu),
-      q(1204) => q(bhv),
-      q(1205) => q(bhw),
-      q(1206) => q(bhx),
-      q(1207) => q(bhy),
-      q(1208) => q(bhz),
-      q(1209) => q(bia),
-      q(1210) => q(bib),
-      q(1211) => q(bic),
-      q(1212) => q(bid),
-      q(1213) => q(bie),
-      q(1214) => q(bif),
-      q(1215) => q(big),
-      q(1216) => q(bij),
-      q(1217) => q(bil),
-      q(1218) => q(bim),
-      q(1219) => q(bio),
-      q(1220) => q(bip),
-      q(1221) => q(biq),
-      q(1222) => q(bir),
-      q(1223) => q(bit),
-      q(1224) => q(biu),
-      q(1225) => q(biv),
-      q(1226) => q(biw),
-      q(1227) => q(bix),
-      q(1228) => q(biy),
-      q(1229) => q(biz),
-      q(1230) => q(bja),
-      q(1231) => q(bjb),
-      q(1232) => q(bjc),
-      q(1233) => q(bje),
-      q(1234) => q(bjf),
-      q(1235) => q(bjg),
-      q(1236) => q(bjh),
-      q(1237) => q(bji),
-      q(1238) => q(bjj),
-      q(1239) => q(bjk),
-      q(1240) => q(bjl),
-      q(1241) => q(bjm),
-      q(1242) => q(bjn),
-      q(1243) => q(bjo),
-      q(1244) => q(bjp),
-      q(1245) => q(bjr),
-      q(1246) => q(bjs),
-      q(1247) => q(bjt),
-      q(1248) => q(bju),
-      q(1249) => q(bjv),
-      q(1250) => q(bjw),
-      q(1251) => q(bjx),
-      q(1252) => q(bjy),
-      q(1253) => q(bjz),
-      q(1254) => q(bka),
-      q(1255) => q(bkc),
-      q(1256) => q(bkd),
-      q(1257) => q(bkf),
-      q(1258) => q(bkg),
-      q(1259) => q(bkh),
-      q(1260) => q(bki),
-      q(1261) => q(bkj),
-      q(1262) => q(bkk),
-      q(1263) => q(bkl),
-      q(1264) => q(bkm),
-      q(1265) => q(bkn),
-      q(1266) => q(bko),
-      q(1267) => q(bkp),
-      q(1268) => q(bkq),
-      q(1269) => q(bkr),
-      q(1270) => q(bks),
-      q(1271) => q(bkt),
-      q(1272) => q(bku),
-      q(1273) => q(bkv),
-      q(1274) => q(bkw),
-      q(1275) => q(bkx),
-      q(1276) => q(bky),
-      q(1277) => q(bkz),
-      q(1278) => q(blb),
-      q(1279) => q(blc),
-      q(1280) => q(bld),
-      q(1281) => q(ble),
-      q(1282) => q(blf),
-      q(1283) => q(blg),
-      q(1284) => q(blh),
-      q(1285) => q(bli),
-      q(1286) => q(blj),
-      q(1287) => q(blk),
-      q(1288) => q(bll),
-      q(1289) => q(blm),
-      q(1290) => q(bln),
-      q(1291) => q(blo),
-      q(1292) => q(blp),
-      q(1293) => q(blq),
-      q(1294) => q(blr),
-      q(1295) => q(bls),
-      q(1296) => q(blt),
-      q(1297) => q(blv),
-      q(1298) => q(blw),
-      q(1299) => q(blx),
-      q(1300) => q(bly),
-      q(1301) => q(blz),
-      q(1302) => q(bma),
-      q(1303) => q(bmb),
-      q(1304) => q(bmc),
-      q(1305) => q(bmd),
-      q(1306) => q(bme),
-      q(1307) => q(bmf),
-      q(1308) => q(bmg),
-      q(1309) => q(bmh),
-      q(1310) => q(bmi),
-      q(1311) => q(bmj),
-      q(1312) => q(bmk),
-      q(1313) => q(bml),
-      q(1314) => q(bmm),
-      q(1315) => q(bmn),
-      q(1316) => q(bmo),
-      q(1317) => q(bmp),
-      q(1318) => q(bmq),
-      q(1319) => q(bmr),
-      q(1320) => q(bms),
-      q(1321) => q(bmt),
-      q(1322) => q(bmu),
-      q(1323) => q(bmv),
-      q(1324) => q(bmw),
-      q(1325) => q(bmx),
-      q(1326) => q(bmz),
-      q(1327) => q(bna),
-      q(1328) => q(bnb),
-      q(1329) => q(bnc),
-      q(1330) => q(bnd),
-      q(1331) => q(bne),
-      q(1332) => q(bnf),
-      q(1333) => q(bng),
-      q(1334) => q(bni),
-      q(1335) => q(bnj),
-      q(1336) => q(bnk),
-      q(1337) => q(bnl),
-      q(1338) => q(bnm),
-      q(1339) => q(bnn),
-      q(1340) => q(bno),
-      q(1341) => q(bnp),
-      q(1342) => q(bnq),
-      q(1343) => q(bnr),
-      q(1344) => q(bns),
-      q(1345) => q(bnu),
-      q(1346) => q(bnv),
-      q(1347) => q(bnw),
-      q(1348) => q(bnx),
-      q(1349) => q(bny),
-      q(1350) => q(bnz),
-      q(1351) => q(boa),
-      q(1352) => q(bob),
-      q(1353) => q(boe),
-      q(1354) => q(bof),
-      q(1355) => q(bog),
-      q(1356) => q(boh),
-      q(1357) => q(boi),
-      q(1358) => q(boj),
-      q(1359) => q(bok),
-      q(1360) => q(bol),
-      q(1361) => q(bom),
-      q(1362) => q(bon),
-      q(1363) => q(boo),
-      q(1364) => q(bop),
-      q(1365) => q(boq),
-      q(1366) => q(bor),
-      q(1367) => q(bot),
-      q(1368) => q(bou),
-      q(1369) => q(bov),
-      q(1370) => q(bow),
-      q(1371) => q(box),
-      q(1372) => q(boy),
-      q(1373) => q(boz),
-      q(1374) => q(bpa),
-      q(1375) => q(bpb),
-      q(1376) => q(bpd),
-      q(1377) => q(bpg),
-      q(1378) => q(bph),
-      q(1379) => q(bpi),
-      q(1380) => q(bpj),
-      q(1381) => q(bpk),
-      q(1382) => q(bpl),
-      q(1383) => q(bpm),
-      q(1384) => q(bpn),
-      q(1385) => q(bpo),
-      q(1386) => q(bpp),
-      q(1387) => q(bpq),
-      q(1388) => q(bpr),
-      q(1389) => q(bps),
-      q(1390) => q(bpt),
-      q(1391) => q(bpu),
-      q(1392) => q(bpv),
-      q(1393) => q(bpw),
-      q(1394) => q(bpx),
-      q(1395) => q(bpy),
-      q(1396) => q(bpz),
-      q(1397) => q(bqa),
-      q(1398) => q(bqb),
-      q(1399) => q(bqc),
-      q(1400) => q(bqd),
-      q(1401) => q(bqf),
-      q(1402) => q(bqg),
-      q(1403) => q(bqh),
-      q(1404) => q(bqi),
-      q(1405) => q(bqj),
-      q(1406) => q(bqk),
-      q(1407) => q(bql),
-      q(1408) => q(bqm),
-      q(1409) => q(bqn),
-      q(1410) => q(bqo),
-      q(1411) => q(bqp),
-      q(1412) => q(bqq),
-      q(1413) => q(bqr),
-      q(1414) => q(bqs),
-      q(1415) => q(bqt),
-      q(1416) => q(bqu),
-      q(1417) => q(bqv),
-      q(1418) => q(bqw),
-      q(1419) => q(bqx),
-      q(1420) => q(bqy),
-      q(1421) => q(bqz),
-      q(1422) => q(brb),
-      q(1423) => q(brc),
-      q(1424) => q(brd),
-      q(1425) => q(brf),
-      q(1426) => q(brg),
-      q(1427) => q(brh),
-      q(1428) => q(bri),
-      q(1429) => q(brj),
-      q(1430) => q(brk),
-      q(1431) => q(brl),
-      q(1432) => q(brm),
-      q(1433) => q(brn),
-      q(1434) => q(bro),
-      q(1435) => q(brp),
-      q(1436) => q(brq),
-      q(1437) => q(brr),
-      q(1438) => q(brs),
-      q(1439) => q(brt),
-      q(1440) => q(bru),
-      q(1441) => q(brv),
-      q(1442) => q(brw),
-      q(1443) => q(brx),
-      q(1444) => q(bry),
-      q(1445) => q(brz),
-      q(1446) => q(bsa),
-      q(1447) => q(bsb),
-      q(1448) => q(bsc),
-      q(1449) => q(bse),
-      q(1450) => q(bsf),
-      q(1451) => q(bsg),
-      q(1452) => q(bsh),
-      q(1453) => q(bsi),
-      q(1454) => q(bsj),
-      q(1455) => q(bsk),
-      q(1456) => q(bsl),
-      q(1457) => q(bsm),
-      q(1458) => q(bsn),
-      q(1459) => q(bso),
-      q(1460) => q(bsp),
-      q(1461) => q(bsq),
-      q(1462) => q(bsr),
-      q(1463) => q(bss),
-      q(1464) => q(bst),
-      q(1465) => q(bsu),
-      q(1466) => q(bsv),
-      q(1467) => q(bsw),
-      q(1468) => q(bsx),
-      q(1469) => q(bsy),
-      q(1470) => q(bta),
-      q(1471) => q(btc),
-      q(1472) => q(btd),
-      q(1473) => q(bte),
-      q(1474) => q(btf),
-      q(1475) => q(btg),
-      q(1476) => q(bth),
-      q(1477) => q(bti),
-      q(1478) => q(btj),
-      q(1479) => q(btl),
-      q(1480) => q(btm),
-      q(1481) => q(btn),
-      q(1482) => q(bto),
-      q(1483) => q(btp),
-      q(1484) => q(btq),
-      q(1485) => q(btr),
-      q(1486) => q(bts),
-      q(1487) => q(btt),
-      q(1488) => q(btu),
-      q(1489) => q(btv),
-      q(1490) => q(btw),
-      q(1491) => q(btx),
-      q(1492) => q(bty),
-      q(1493) => q(btz),
-      q(1494) => q(bub),
-      q(1495) => q(buc),
-      q(1496) => q(bud),
-      q(1497) => q(bue),
-      q(1498) => q(buf),
-      q(1499) => q(buh),
-      q(1500) => q(bui),
-      q(1501) => q(buj),
-      q(1502) => q(buk),
-      q(1503) => q(bum),
-      q(1504) => q(bun),
-      q(1505) => q(buo),
-      q(1506) => q(bup),
-      q(1507) => q(buq),
-      q(1508) => q(bus),
-      q(1509) => q(but),
-      q(1510) => q(buu),
-      q(1511) => q(buv),
-      q(1512) => q(buw),
-      q(1513) => q(bux),
-      q(1514) => q(buy),
-      q(1515) => q(buz),
-      q(1516) => q(bva),
-      q(1517) => q(bvb),
-      q(1518) => q(bvc),
-      q(1519) => q(bvd),
-      q(1520) => q(bve),
-      q(1521) => q(bvf),
-      q(1522) => q(bvg),
-      q(1523) => q(bvh),
-      q(1524) => q(bvi),
-      q(1525) => q(bvj),
-      q(1526) => q(bvk),
-      q(1527) => q(bvl),
-      q(1528) => q(bvm),
-      q(1529) => q(bvn),
-      q(1530) => q(bvo),
-      q(1531) => q(bvp),
-      q(1532) => q(bvq),
-      q(1533) => q(bvr),
-      q(1534) => q(bvt),
-      q(1535) => q(bvu),
-      q(1536) => q(bvv),
-      q(1537) => q(bvw),
-      q(1538) => q(bvx),
-      q(1539) => q(bvy),
-      q(1540) => q(bvz),
-      q(1541) => q(bwa),
-      q(1542) => q(bwb),
-      q(1543) => q(bwc),
-      q(1544) => q(bwd),
-      q(1545) => q(bwe),
-      q(1546) => q(bwf),
-      q(1547) => q(bwg),
-      q(1548) => q(bwh),
-      q(1549) => q(bwi),
-      q(1550) => q(bwj),
-      q(1551) => q(bwk),
-      q(1552) => q(bwl),
-      q(1553) => q(bwm),
-      q(1554) => q(bwn),
-      q(1555) => q(bwo),
-      q(1556) => q(bwp),
-      q(1557) => q(bwq),
-      q(1558) => q(bwr),
-      q(1559) => q(bws),
-      q(1560) => q(bwt),
-      q(1561) => q(bwu),
-      q(1562) => q(bww),
-      q(1563) => q(bwx),
-      q(1564) => q(bwy),
-      q(1565) => q(bwz),
-      q(1566) => q(bxa),
-      q(1567) => q(bxb),
-      q(1568) => q(bxc),
-      q(1569) => q(bxd),
-      q(1570) => q(bxe),
-      q(1571) => q(bxf),
-      q(1572) => q(bxg),
-      q(1573) => q(bxh),
-      q(1574) => q(bxi),
-      q(1575) => q(bxj),
-      q(1576) => q(bxk),
-      q(1577) => q(bxl),
-      q(1578) => q(bxm),
-      q(1579) => q(bxn),
-      q(1580) => q(bxo),
-      q(1581) => q(bxp),
-      q(1582) => q(bxq),
-      q(1583) => q(bxr),
-      q(1584) => q(bxs),
-      q(1585) => q(bxu),
-      q(1586) => q(bxv),
-      q(1587) => q(bxw),
-      q(1588) => q(bxz),
-      q(1589) => q(bya),
-      q(1590) => q(byb),
-      q(1591) => q(byc),
-      q(1592) => q(byd),
-      q(1593) => q(bye),
-      q(1594) => q(byf),
-      q(1595) => q(byg),
-      q(1596) => q(byh),
-      q(1597) => q(byi),
-      q(1598) => q(byj),
-      q(1599) => q(byk),
-      q(1600) => q(byl),
-      q(1601) => q(bym),
-      q(1602) => q(byo),
-      q(1603) => q(byp),
-      q(1604) => q(byq),
-      q(1605) => q(byr),
-      q(1606) => q(bys),
-      q(1607) => q(byt),
-      q(1608) => q(byv),
-      q(1609) => q(byw),
-      q(1610) => q(byx),
-      q(1611) => q(byz),
-      q(1612) => q(bza),
-      q(1613) => q(bzb),
-      q(1614) => q(bzc),
-      q(1615) => q(bzd),
-      q(1616) => q(bze),
-      q(1617) => q(bzf),
-      q(1618) => q(bzg),
-      q(1619) => q(bzh),
-      q(1620) => q(bzi),
-      q(1621) => q(bzj),
-      q(1622) => q(bzk),
-      q(1623) => q(bzl),
-      q(1624) => q(bzm),
-      q(1625) => q(bzn),
-      q(1626) => q(bzo),
-      q(1627) => q(bzp),
-      q(1628) => q(bzq),
-      q(1629) => q(bzr),
-      q(1630) => q(bzs),
-      q(1631) => q(bzt),
-      q(1632) => q(bzu),
-      q(1633) => q(bzv),
-      q(1634) => q(bzw),
-      q(1635) => q(bzx),
-      q(1636) => q(bzy),
-      q(1637) => q(bzz),
-      q(1638) => q(caa),
-      q(1639) => q(cab),
-      q(1640) => q(cac),
-      q(1641) => q(cae),
-      q(1642) => q(caf),
-      q(1643) => q(cag),
-      q(1644) => q(cah),
-      q(1645) => q(caj),
-      q(1646) => q(cak),
-      q(1647) => q(cal),
-      q(1648) => q(cam),
-      q(1649) => q(can),
-      q(1650) => q(cao),
-      q(1651) => q(cap),
-      q(1652) => q(caq),
-      q(1653) => q(cas),
-      q(1654) => q(cav),
-      q(1655) => q(caw),
-      q(1656) => q(cax),
-      q(1657) => q(cay),
-      q(1658) => q(caz),
-      q(1659) => q(cbb),
-      q(1660) => q(cbc),
-      q(1661) => q(cbd),
-      q(1662) => q(cbe),
-      q(1663) => q(cbg),
-      q(1664) => q(cbh),
-      q(1665) => q(cbi),
-      q(1666) => q(cbj),
-      q(1667) => q(cbk),
-      q(1668) => q(cbl),
-      q(1669) => q(cbn),
-      q(1670) => q(cbo),
-      q(1671) => q(cbq),
-      q(1672) => q(cbr),
-      q(1673) => q(cbs),
-      q(1674) => q(cbt),
-      q(1675) => q(cbu),
-      q(1676) => q(cbv),
-      q(1677) => q(cbw),
-      q(1678) => q(cby),
-      q(1679) => q(cca),
-      q(1680) => q(ccc),
-      q(1681) => q(ccd),
-      q(1682) => q(cce),
-      q(1683) => q(ccg),
-      q(1684) => q(cch),
-      q(1685) => q(ccj),
-      q(1686) => q(ccl),
-      q(1687) => q(ccm),
-      q(1688) => q(cco),
-      q(1689) => q(ccp),
-      q(1690) => q(ccr),
-      q(1691) => q(cda),
-      q(1692) => q(cde),
-      q(1693) => q(cdf),
-      q(1694) => q(cdg),
-      q(1695) => q(cdh),
-      q(1696) => q(cdi),
-      q(1697) => q(cdj),
-      q(1698) => q(cdm),
-      q(1699) => q(cdn),
-      q(1700) => q(cdo),
-      q(1701) => q(cdr),
-      q(1702) => q(cds),
-      q(1703) => q(cdy),
-      q(1704) => q(cdz),
-      q(1705) => q(cea),
-      q(1706) => q(ceg),
-      q(1707) => q(cek),
-      q(1708) => q(cen),
-      q(1709) => q(cet),
-      q(1710) => q(cfa),
-      q(1711) => q(cfd),
-      q(1712) => q(cfg),
-      q(1713) => q(cfm),
-      q(1714) => q(cga),
-      q(1715) => q(cgc),
-      q(1716) => q(cgg),
-      q(1717) => q(cgk),
-      q(1718) => q(chc),
-      q(1719) => q(chd),
-      q(1720) => q(chf),
-      q(1721) => q(chh),
-      q(1722) => q(chj),
-      q(1723) => q(chl),
-      q(1724) => q(chq),
-      q(1725) => q(cht),
-      q(1726) => q(chw),
-      q(1727) => q(chx),
-      q(1728) => q(chz),
-      q(1729) => q(cia),
-      q(1730) => q(cib),
-      q(1731) => q(cic),
-      q(1732) => q(cid),
-      q(1733) => q(cie),
-      q(1734) => q(cih),
-      q(1735) => q(cik),
-      q(1736) => q(cim),
-      q(1737) => q(cin),
-      q(1738) => q(cip),
-      q(1739) => q(cir),
-      q(1740) => q(ciw),
-      q(1741) => q(ciy),
-      q(1742) => q(cja),
-      q(1743) => q(cje),
-      q(1744) => q(cjh),
-      q(1745) => q(cji),
-      q(1746) => q(cjk),
-      q(1747) => q(cjm),
-      q(1748) => q(cjn),
-      q(1749) => q(cjo),
-      q(1750) => q(cjp),
-      q(1751) => q(cjs),
-      q(1752) => q(cjv),
-      q(1753) => q(cjy),
-      q(1754) => q(ckb),
-      q(1755) => q(ckh),
-      q(1756) => q(ckl),
-      q(1757) => q(ckn),
-      q(1758) => q(cko),
-      q(1759) => q(ckq),
-      q(1760) => q(ckr),
-      q(1761) => q(cks),
-      q(1762) => q(ckt),
-      q(1763) => q(cku),
-      q(1764) => q(ckv),
-      q(1765) => q(ckx),
-      q(1766) => q(cky),
-      q(1767) => q(ckz),
-      q(1768) => q(cla),
-      q(1769) => q(clc),
-      q(1770) => q(cld),
-      q(1771) => q(cle),
-      q(1772) => q(clh),
-      q(1773) => q(cli),
-      q(1774) => q(clj),
-      q(1775) => q(clk),
-      q(1776) => q(cll),
-      q(1777) => q(clm),
-      q(1778) => q(clo),
-      q(1779) => q(clt),
-      q(1780) => q(clu),
-      q(1781) => q(clw),
-      q(1782) => q(cly),
-      q(1783) => q(cma),
-      q(1784) => q(cme),
-      q(1785) => q(cmg),
-      q(1786) => q(cmi),
-      q(1787) => q(cml),
-      q(1788) => q(cmm),
-      q(1789) => q(cmn),
-      q(1790) => q(cmo),
-      q(1791) => q(cmr),
-      q(1792) => q(cms),
-      q(1793) => q(cmt),
-      q(1794) => q(cna),
-      q(1795) => q(cnb),
-      q(1796) => q(cnc),
-      q(1797) => q(cng),
-      q(1798) => q(cnh),
-      q(1799) => q(cni),
-      q(1800) => q(cnk),
-      q(1801) => q(cnl),
-      q(1802) => q(cno),
-      q(1803) => q(cns),
-      q(1804) => q(cnt),
-      q(1805) => q(cnu),
-      q(1806) => q(cnw),
-      q(1807) => q(cnx),
-      q(1808) => q(coa),
-      q(1809) => q(cob),
-      q(1810) => q(coc),
-      q(1811) => q(cod),
-      q(1812) => q(coe),
-      q(1813) => q(cof),
-      q(1814) => q(cog),
-      q(1815) => q(coh),
-      q(1816) => q(coj),
-      q(1817) => q(cok),
-      q(1818) => q(col),
-      q(1819) => q(com),
-      q(1820) => q(con),
-      q(1821) => q(coo),
-      q(1822) => q(coq),
-      q(1823) => q(cot),
-      q(1824) => q(cou),
-      q(1825) => q(cov),
-      q(1826) => q(cow),
-      q(1827) => q(cox),
-      q(1828) => q(coy),
-      q(1829) => q(coz),
-      q(1830) => q(cpa),
-      q(1831) => q(cpb),
-      q(1832) => q(cpc),
-      q(1833) => q(cpg),
-      q(1834) => q(cpi),
-      q(1835) => q(cpn),
-      q(1836) => q(cpo),
-      q(1837) => q(cps),
-      q(1838) => q(cpu),
-      q(1839) => q(cpx),
-      q(1840) => q(cpy),
-      q(1841) => q(cqd),
-      q(1842) => q(cqu),
-      q(1843) => q(cra),
-      q(1844) => q(crb),
-      q(1845) => q(crc),
-      q(1846) => q(crd),
-      q(1847) => q(crf),
-      q(1848) => q(crg),
-      q(1849) => q(cri),
-      q(1850) => q(crj),
-      q(1851) => q(crk),
-      q(1852) => q(crl),
-      q(1853) => q(crm),
-      q(1854) => q(crn),
-      q(1855) => q(cro),
-      q(1856) => q(crq),
-      q(1857) => q(crr),
-      q(1858) => q(crs),
-      q(1859) => q(crt),
-      q(1860) => q(crv),
-      q(1861) => q(crw),
-      q(1862) => q(crx),
-      q(1863) => q(cry),
-      q(1864) => q(crz),
-      q(1865) => q(csa),
-      q(1866) => q(csc),
-      q(1867) => q(csd),
-      q(1868) => q(cse),
-      q(1869) => q(csf),
-      q(1870) => q(csg),
-      q(1871) => q(csh),
-      q(1872) => q(csi),
-      q(1873) => q(csj),
-      q(1874) => q(csk),
-      q(1875) => q(csl),
-      q(1876) => q(csm),
-      q(1877) => q(csn),
-      q(1878) => q(cso),
-      q(1879) => q(csq),
-      q(1880) => q(csr),
-      q(1881) => q(css),
-      q(1882) => q(cst),
-      q(1883) => q(csv),
-      q(1884) => q(csw),
-      q(1885) => q(csy),
-      q(1886) => q(csz),
-      q(1887) => q(cta),
-      q(1888) => q(ctc),
-      q(1889) => q(ctd),
-      q(1890) => q(cte),
-      q(1891) => q(ctg),
-      q(1892) => q(cth),
-      q(1893) => q(ctl),
-      q(1894) => q(ctm),
-      q(1895) => q(ctn),
-      q(1896) => q(cto),
-      q(1897) => q(ctp),
-      q(1898) => q(cts),
-      q(1899) => q(ctt),
-      q(1900) => q(ctu),
-      q(1901) => q(ctz),
-      q(1902) => q(cua),
-      q(1903) => q(cub),
-      q(1904) => q(cuc),
-      q(1905) => q(cug),
-      q(1906) => q(cuh),
-      q(1907) => q(cui),
-      q(1908) => q(cuj),
-      q(1909) => q(cuk),
-      q(1910) => q(cul),
-      q(1911) => q(cum),
-      q(1912) => q(cuo),
-      q(1913) => q(cup),
-      q(1914) => q(cuq),
-      q(1915) => q(cur),
-      q(1916) => q(cut),
-      q(1917) => q(cuu),
-      q(1918) => q(cuv),
-      q(1919) => q(cuw),
-      q(1920) => q(cux),
-      q(1921) => q(cvg),
-      q(1922) => q(cvn),
-      q(1923) => q(cwa),
-      q(1924) => q(cwb),
-      q(1925) => q(cwd),
-      q(1926) => q(cwe),
-      q(1927) => q(cwg),
-      q(1928) => q(cwt),
-      q(1929) => q(cya),
-      q(1930) => q(cyb),
-      q(1931) => q(cyo),
-      q(1932) => q(czh),
-      q(1933) => q(czk),
-      q(1934) => q(czn),
-      q(1935) => q(czo),
-      q(1936) => q(czt),
-      q(1937) => q(daa),
-      q(1938) => q(dac),
-      q(1939) => q(dad),
-      q(1940) => q(dae),
-      q(1941) => q(dag),
-      q(1942) => q(dah),
-      q(1943) => q(dai),
-      q(1944) => q(daj),
-      q(1945) => q(dal),
-      q(1946) => q(dam),
-      q(1947) => q(dao),
-      q(1948) => q(daq),
-      q(1949) => q(das),
-      q(1950) => q(dau),
-      q(1951) => q(dav),
-      q(1952) => q(daw),
-      q(1953) => q(dax),
-      q(1954) => q(daz),
-      q(1955) => q(dba),
-      q(1956) => q(dbb),
-      q(1957) => q(dbd),
-      q(1958) => q(dbe),
-      q(1959) => q(dbf),
-      q(1960) => q(dbg),
-      q(1961) => q(dbi),
-      q(1962) => q(dbj),
-      q(1963) => q(dbl),
-      q(1964) => q(dbm),
-      q(1965) => q(dbn),
-      q(1966) => q(dbo),
-      q(1967) => q(dbp),
-      q(1968) => q(dbq),
-      q(1969) => q(dbr),
-      q(1970) => q(dbt),
-      q(1971) => q(dbu),
-      q(1972) => q(dbv),
-      q(1973) => q(dbw),
-      q(1974) => q(dby),
-      q(1975) => q(dcc),
-      q(1976) => q(dcr),
-      q(1977) => q(dda),
-      q(1978) => q(ddd),
-      q(1979) => q(dde),
-      q(1980) => q(ddg),
-      q(1981) => q(ddi),
-      q(1982) => q(ddj),
-      q(1983) => q(ddn),
-      q(1984) => q(ddo),
-      q(1985) => q(ddr),
-      q(1986) => q(dds),
-      q(1987) => q(ddw),
-      q(1988) => q(dec),
-      q(1989) => q(ded),
-      q(1990) => q(dee),
-      q(1991) => q(def),
-      q(1992) => q(deg),
-      q(1993) => q(deh),
-      q(1994) => q(dei),
-      q(1995) => q(dek),
-      q(1996) => q(dem),
-      q(1997) => q(dep),
-      q(1998) => q(deq),
-      q(1999) => q(der),
-      q(2000) => q(des),
-      q(2001) => q(dev),
-      q(2002) => q(dez),
-      q(2003) => q(dga),
-      q(2004) => q(dgb),
-      q(2005) => q(dgc),
-      q(2006) => q(dgd),
-      q(2007) => q(dge),
-      q(2008) => q(dgg),
-      q(2009) => q(dgh),
-      q(2010) => q(dgi),
-      q(2011) => q(dgk),
-      q(2012) => q(dgl),
-      q(2013) => q(dgn),
-      q(2014) => q(dgo),
-      q(2015) => q(dgs),
-      q(2016) => q(dgt),
-      q(2017) => q(dgu),
-      q(2018) => q(dgw),
-      q(2019) => q(dgx),
-      q(2020) => q(dgz),
-      q(2021) => q(dhd),
-      q(2022) => q(dhg),
-      q(2023) => q(dhi),
-      q(2024) => q(dhl),
-      q(2025) => q(dhm),
-      q(2026) => q(dhn),
-      q(2027) => q(dho),
-      q(2028) => q(dhr),
-      q(2029) => q(dhs),
-      q(2030) => q(dhu),
-      q(2031) => q(dhv),
-      q(2032) => q(dhw),
-      q(2033) => q(dhx),
-      q(2034) => q(dia),
-      q(2035) => q(dib),
-      q(2036) => q(dic),
-      q(2037) => q(did),
-      q(2038) => q(dif),
-      q(2039) => q(dig),
-      q(2040) => q(dih),
-      q(2041) => q(dii),
-      q(2042) => q(dij),
-      q(2043) => q(dik),
-      q(2044) => q(dil),
-      q(2045) => q(dim),
-      q(2046) => q(dio),
-      q(2047) => q(dip),
-      q(2048) => q(diq),
-      q(2049) => q(dir),
-      q(2050) => q(dis),
-      q(2051) => q(dit),
-      q(2052) => q(diu),
-      q(2053) => q(diw),
-      q(2054) => q(dix),
-      q(2055) => q(diy),
-      q(2056) => q(diz),
-      q(2057) => q(dja),
-      q(2058) => q(djb),
-      q(2059) => q(djc),
-      q(2060) => q(djd),
-      q(2061) => q(dje),
-      q(2062) => q(djf),
-      q(2063) => q(dji),
-      q(2064) => q(djj),
-      q(2065) => q(djk),
-      q(2066) => q(djm),
-      q(2067) => q(djn),
-      q(2068) => q(djo),
-      q(2069) => q(djr),
-      q(2070) => q(dju),
-      q(2071) => q(djw),
-      q(2072) => q(dka),
-      q(2073) => q(dkk),
-      q(2074) => q(dkr),
-      q(2075) => q(dks),
-      q(2076) => q(dkx),
-      q(2077) => q(dlg),
-      q(2078) => q(dlk),
-      q(2079) => q(dlm),
-      q(2080) => q(dln),
-      q(2081) => q(dma),
-      q(2082) => q(dmb),
-      q(2083) => q(dmc),
-      q(2084) => q(dmd),
-      q(2085) => q(dme),
-      q(2086) => q(dmg),
-      q(2087) => q(dmk),
-      q(2088) => q(dml),
-      q(2089) => q(dmm),
-      q(2090) => q(dmo),
-      q(2091) => q(dmr),
-      q(2092) => q(dms),
-      q(2093) => q(dmu),
-      q(2094) => q(dmv),
-      q(2095) => q(dmw),
-      q(2096) => q(dmx),
-      q(2097) => q(dmy),
-      q(2098) => q(dna),
-      q(2099) => q(dnd),
-      q(2100) => q(dne),
-      q(2101) => q(dng),
-      q(2102) => q(dni),
-      q(2103) => q(dnj),
-      q(2104) => q(dnk),
-      q(2105) => q(dnn),
-      q(2106) => q(dnr),
-      q(2107) => q(dnt),
-      q(2108) => q(dnu),
-      q(2109) => q(dnv),
-      q(2110) => q(dnw),
-      q(2111) => q(dny),
-      q(2112) => q(doa),
-      q(2113) => q(dob),
-      q(2114) => q(doc),
-      q(2115) => q(doe),
-      q(2116) => q(dof),
-      q(2117) => q(doh),
-      q(2118) => q(dok),
-      q(2119) => q(dol),
-      q(2120) => q(don),
-      q(2121) => q(doo),
-      q(2122) => q(dop),
-      q(2123) => q(doq),
-      q(2124) => q(dor),
-      q(2125) => q(dos),
-      q(2126) => q(dot),
-      q(2127) => q(dov),
-      q(2128) => q(dow),
-      q(2129) => q(dox),
-      q(2130) => q(doy),
-      q(2131) => q(doz),
-      q(2132) => q(dpp),
-      q(2133) => q(drb),
-      q(2134) => q(drc),
-      q(2135) => q(drd),
-      q(2136) => q(dre),
-      q(2137) => q(drg),
-      q(2138) => q(dri),
-      q(2139) => q(drl),
-      q(2140) => q(drn),
-      q(2141) => q(dro),
-      q(2142) => q(drq),
-      q(2143) => q(drr),
-      q(2144) => q(drs),
-      q(2145) => q(drt),
-      q(2146) => q(dru),
-      q(2147) => q(dry),
-      q(2148) => q(dse),
-      q(2149) => q(dsh),
-      q(2150) => q(dsi),
-      q(2151) => q(dsl),
-      q(2152) => q(dsn),
-      q(2153) => q(dso),
-      q(2154) => q(dsq),
-      q(2155) => q(dta),
-      q(2156) => q(dtb),
-      q(2157) => q(dtd),
-      q(2158) => q(dth),
-      q(2159) => q(dti),
-      q(2160) => q(dtk),
-      q(2161) => q(dtm),
-      q(2162) => q(dto),
-      q(2163) => q(dtp),
-      q(2164) => q(dtr),
-      q(2165) => q(dts),
-      q(2166) => q(dtt),
-      q(2167) => q(dtu),
-      q(2168) => q(dty),
-      q(2169) => q(dub),
-      q(2170) => q(duc),
-      q(2171) => q(dud),
-      q(2172) => q(due),
-      q(2173) => q(duf),
-      q(2174) => q(dug),
-      q(2175) => q(duh),
-      q(2176) => q(dui),
-      q(2177) => q(duj),
-      q(2178) => q(duk),
-      q(2179) => q(dul),
-      q(2180) => q(dun),
-      q(2181) => q(duo),
-      q(2182) => q(dup),
-      q(2183) => q(duq),
-      q(2184) => q(dur),
-      q(2185) => q(dus),
-      q(2186) => q(duu),
-      q(2187) => q(duv),
-      q(2188) => q(duw),
-      q(2189) => q(dux),
-      q(2190) => q(duy),
-      q(2191) => q(duz),
-      q(2192) => q(dva),
-      q(2193) => q(dwa),
-      q(2194) => q(dwr),
-      q(2195) => q(dws),
-      q(2196) => q(dww),
-      q(2197) => q(dya),
-      q(2198) => q(dyb),
-      q(2199) => q(dyd),
-      q(2200) => q(dyg),
-      q(2201) => q(dyi),
-      q(2202) => q(dym),
-      q(2203) => q(dyn),
-      q(2204) => q(dyo),
-      q(2205) => q(dyy),
-      q(2206) => q(dza),
-      q(2207) => q(dze),
-      q(2208) => q(dzg),
-      q(2209) => q(dzl),
-      q(2210) => q(dzn),
-      q(2211) => q(eaa),
-      q(2212) => q(ebg),
-      q(2213) => q(ebk),
-      q(2214) => q(ebo),
-      q(2215) => q(ebr),
-      q(2216) => q(ebu),
-      q(2217) => q(ecr),
-      q(2218) => q(ecs),
-      q(2219) => q(ecy),
-      q(2220) => q(eee),
-      q(2221) => q(efa),
-      q(2222) => q(efe),
-      q(2223) => q(ega),
-      q(2224) => q(egl),
-      q(2225) => q(ego),
-      q(2226) => q(ehu),
-      q(2227) => q(eip),
-      q(2228) => q(eit),
-      q(2229) => q(eiv),
-      q(2230) => q(eja),
-      q(2231) => q(ekc),
-      q(2232) => q(eke),
-      q(2233) => q(ekg),
-      q(2234) => q(eki),
-      q(2235) => q(ekk),
-      q(2236) => q(ekl),
-      q(2237) => q(ekm),
-      q(2238) => q(eko),
-      q(2239) => q(ekp),
-      q(2240) => q(ekr),
-      q(2241) => q(eky),
-      q(2242) => q(ele),
-      q(2243) => q(elh),
-      q(2244) => q(eli),
-      q(2245) => q(elk),
-      q(2246) => q(elm),
-      q(2247) => q(elo),
-      q(2248) => q(elu),
-      q(2249) => q(ema),
-      q(2250) => q(emb),
-      q(2251) => q(eme),
-      q(2252) => q(emg),
-      q(2253) => q(emi),
-      q(2254) => q(emk),
-      q(2255) => q(emm),
-      q(2256) => q(emn),
-      q(2257) => q(emp),
-      q(2258) => q(ems),
-      q(2259) => q(emu),
-      q(2260) => q(emw),
-      q(2261) => q(emx),
-      q(2262) => q(emy),
-      q(2263) => q(ena),
-      q(2264) => q(enb),
-      q(2265) => q(enc),
-      q(2266) => q(end),
-      q(2267) => q(enf),
-      q(2268) => q(enh),
-      q(2269) => q(enl),
-      q(2270) => q(enn),
-      q(2271) => q(eno),
-      q(2272) => q(enq),
-      q(2273) => q(enr),
-      q(2274) => q(enu),
-      q(2275) => q(env),
-      q(2276) => q(enw),
-      q(2277) => q(enx),
-      q(2278) => q(eot),
-      q(2279) => q(epi),
-      q(2280) => q(era),
-      q(2281) => q(erg),
-      q(2282) => q(erh),
-      q(2283) => q(eri),
-      q(2284) => q(erk),
-      q(2285) => q(ero),
-      q(2286) => q(err),
-      q(2287) => q(ers),
-      q(2288) => q(ert),
-      q(2289) => q(erw),
-      q(2290) => q(ese),
-      q(2291) => q(esh),
-      q(2292) => q(esi),
-      q(2293) => q(esk),
-      q(2294) => q(esl),
-      q(2295) => q(esm),
-      q(2296) => q(esn),
-      q(2297) => q(eso),
-      q(2298) => q(esq),
-      q(2299) => q(ess),
-      q(2300) => q(esu),
-      q(2301) => q(esy),
-      q(2302) => q(etb),
-      q(2303) => q(etc),
-      q(2304) => q(eth),
-      q(2305) => q(etn),
-      q(2306) => q(eto),
-      q(2307) => q(etr),
-      q(2308) => q(ets),
-      q(2309) => q(ett),
-      q(2310) => q(etu),
-      q(2311) => q(etx),
-      q(2312) => q(etz),
-      q(2313) => q(eve),
-      q(2314) => q(evh),
-      q(2315) => q(evn),
-      q(2316) => q(ext),
-      q(2317) => q(eya),
-      q(2318) => q(eyo),
-      q(2319) => q(eza),
-      q(2320) => q(eze),
-      q(2321) => q(faa),
-      q(2322) => q(fab),
-      q(2323) => q(fad),
-      q(2324) => q(faf),
-      q(2325) => q(fag),
-      q(2326) => q(fah),
-      q(2327) => q(fai),
-      q(2328) => q(faj),
-      q(2329) => q(fak),
-      q(2330) => q(fal),
-      q(2331) => q(fam),
-      q(2332) => q(fap),
-      q(2333) => q(far),
-      q(2334) => q(fau),
-      q(2335) => q(fax),
-      q(2336) => q(fay),
-      q(2337) => q(faz),
-      q(2338) => q(fbl),
-      q(2339) => q(fcs),
-      q(2340) => q(fer),
-      q(2341) => q(ffi),
-      q(2342) => q(ffm),
-      q(2343) => q(fgr),
-      q(2344) => q(fia),
-      q(2345) => q(fie),
-      q(2346) => q(fip),
-      q(2347) => q(fir),
-      q(2348) => q(fit),
-      q(2349) => q(fiw),
-      q(2350) => q(fkk),
-      q(2351) => q(fkv),
-      q(2352) => q(fla),
-      q(2353) => q(flh),
-      q(2354) => q(fli),
-      q(2355) => q(fll),
-      q(2356) => q(fln),
-      q(2357) => q(flr),
-      q(2358) => q(fly),
-      q(2359) => q(fmp),
-      q(2360) => q(fmu),
-      q(2361) => q(fng),
-      q(2362) => q(fni),
-      q(2363) => q(fod),
-      q(2364) => q(foi),
-      q(2365) => q(fom),
-      q(2366) => q(for),
-      q(2367) => q(fos),
-      q(2368) => q(fpe),
-      q(2369) => q(fqs),
-      q(2370) => q(frc),
-      q(2371) => q(frd),
-      q(2372) => q(frk),
-      q(2373) => q(frp),
-      q(2374) => q(frq),
-      q(2375) => q(frt),
-      q(2376) => q(fse),
-      q(2377) => q(fsl),
-      q(2378) => q(fss),
-      q(2379) => q(fub),
-      q(2380) => q(fuc),
-      q(2381) => q(fud),
-      q(2382) => q(fue),
-      q(2383) => q(fuf),
-      q(2384) => q(fuh),
-      q(2385) => q(fui),
-      q(2386) => q(fuj),
-      q(2387) => q(fum),
-      q(2388) => q(fun),
-      q(2389) => q(fuq),
-      q(2390) => q(fut),
-      q(2391) => q(fuu),
-      q(2392) => q(fuv),
-      q(2393) => q(fuy),
-      q(2394) => q(fvr),
-      q(2395) => q(fwa),
-      q(2396) => q(fwe),
-      q(2397) => q(gab),
-      q(2398) => q(gac),
-      q(2399) => q(gad),
-      q(2400) => q(gae),
-      q(2401) => q(gaf),
-      q(2402) => q(gag),
-      q(2403) => q(gah),
-      q(2404) => q(gai),
-      q(2405) => q(gaj),
-      q(2406) => q(gak),
-      q(2407) => q(gal),
-      q(2408) => q(gam),
-      q(2409) => q(gan),
-      q(2410) => q(gao),
-      q(2411) => q(gap),
-      q(2412) => q(gaq),
-      q(2413) => q(gar),
-      q(2414) => q(gas),
-      q(2415) => q(gat),
-      q(2416) => q(gau),
-      q(2417) => q(gaw),
-      q(2418) => q(gax),
-      q(2419) => q(gaz),
-      q(2420) => q(gbb),
-      q(2421) => q(gbd),
-      q(2422) => q(gbe),
-      q(2423) => q(gbf),
-      q(2424) => q(gbg),
-      q(2425) => q(gbh),
-      q(2426) => q(gbi),
-      q(2427) => q(gbj),
-      q(2428) => q(gbk),
-      q(2429) => q(gbl),
-      q(2430) => q(gbm),
-      q(2431) => q(gbn),
-      q(2432) => q(gbo),
-      q(2433) => q(gbp),
-      q(2434) => q(gbq),
-      q(2435) => q(gbr),
-      q(2436) => q(gbs),
-      q(2437) => q(gbu),
-      q(2438) => q(gbv),
-      q(2439) => q(gbw),
-      q(2440) => q(gbx),
-      q(2441) => q(gby),
-      q(2442) => q(gbz),
-      q(2443) => q(gcc),
-      q(2444) => q(gcd),
-      q(2445) => q(gce),
-      q(2446) => q(gcf),
-      q(2447) => q(gcl),
-      q(2448) => q(gcn),
-      q(2449) => q(gcr),
-      q(2450) => q(gct),
-      q(2451) => q(gda),
-      q(2452) => q(gdb),
-      q(2453) => q(gdc),
-      q(2454) => q(gdd),
-      q(2455) => q(gde),
-      q(2456) => q(gdf),
-      q(2457) => q(gdg),
-      q(2458) => q(gdh),
-      q(2459) => q(gdi),
-      q(2460) => q(gdj),
-      q(2461) => q(gdk),
-      q(2462) => q(gdl),
-      q(2463) => q(gdm),
-      q(2464) => q(gdn),
-      q(2465) => q(gdo),
-      q(2466) => q(gdq),
-      q(2467) => q(gdr),
-      q(2468) => q(gds),
-      q(2469) => q(gdt),
-      q(2470) => q(gdu),
-      q(2471) => q(gdx),
-      q(2472) => q(gea),
-      q(2473) => q(geb),
-      q(2474) => q(gec),
-      q(2475) => q(ged),
-      q(2476) => q(geg),
-      q(2477) => q(geh),
-      q(2478) => q(gei),
-      q(2479) => q(gej),
-      q(2480) => q(gek),
-      q(2481) => q(gel),
-      q(2482) => q(geq),
-      q(2483) => q(ges),
-      q(2484) => q(gev),
-      q(2485) => q(gew),
-      q(2486) => q(gex),
-      q(2487) => q(gey),
-      q(2488) => q(gfk),
-      q(2489) => q(gft),
-      q(2490) => q(gga),
-      q(2491) => q(ggb),
-      q(2492) => q(ggd),
-      q(2493) => q(gge),
-      q(2494) => q(ggg),
-      q(2495) => q(ggk),
-      q(2496) => q(ggl),
-      q(2497) => q(ggn),
-      q(2498) => q(ggo),
-      q(2499) => q(ggt),
-      q(2500) => q(ggu),
-      q(2501) => q(ggw),
-      q(2502) => q(gha),
-      q(2503) => q(ghc),
-      q(2504) => q(ghe),
-      q(2505) => q(ghh),
-      q(2506) => q(ghk),
-      q(2507) => q(ghl),
-      q(2508) => q(ghn),
-      q(2509) => q(gho),
-      q(2510) => q(ghr),
-      q(2511) => q(ghs),
-      q(2512) => q(ght),
-      q(2513) => q(gia),
-      q(2514) => q(gib),
-      q(2515) => q(gic),
-      q(2516) => q(gid),
-      q(2517) => q(gig),
-      q(2518) => q(gih),
-      q(2519) => q(gim),
-      q(2520) => q(gin),
-      q(2521) => q(gip),
-      q(2522) => q(giq),
-      q(2523) => q(gir),
-      q(2524) => q(gis),
-      q(2525) => q(git),
-      q(2526) => q(giu),
-      q(2527) => q(giw),
-      q(2528) => q(gix),
-      q(2529) => q(giy),
-      q(2530) => q(giz),
-      q(2531) => q(gji),
-      q(2532) => q(gjk),
-      q(2533) => q(gjm),
-      q(2534) => q(gjn),
-      q(2535) => q(gju),
-      q(2536) => q(gka),
-      q(2537) => q(gke),
-      q(2538) => q(gkn),
-      q(2539) => q(gko),
-      q(2540) => q(gkp),
-      q(2541) => q(gku),
-      q(2542) => q(glc),
-      q(2543) => q(gld),
-      q(2544) => q(glh),
-      q(2545) => q(gli),
-      q(2546) => q(glj),
-      q(2547) => q(glk),
-      q(2548) => q(gll),
-      q(2549) => q(glo),
-      q(2550) => q(glr),
-      q(2551) => q(glu),
-      q(2552) => q(glw),
-      q(2553) => q(gly),
-      q(2554) => q(gma),
-      q(2555) => q(gmb),
-      q(2556) => q(gmd),
-      q(2557) => q(gmg),
-      q(2558) => q(gml),
-      q(2559) => q(gmm),
-      q(2560) => q(gmn),
-      q(2561) => q(gmu),
-      q(2562) => q(gmv),
-      q(2563) => q(gmx),
-      q(2564) => q(gmy),
-      q(2565) => q(gmz),
-      q(2566) => q(gna),
-      q(2567) => q(gnb),
-      q(2568) => q(gnc),
-      q(2569) => q(gnd),
-      q(2570) => q(gne),
-      q(2571) => q(gng),
-      q(2572) => q(gnh),
-      q(2573) => q(gni),
-      q(2574) => q(gnq),
-      q(2575) => q(gnl),
-      q(2576) => q(gnm),
-      q(2577) => q(gnn),
-      q(2578) => q(gno),
-      q(2579) => q(gnr),
-      q(2580) => q(gnt),
-      q(2581) => q(gnu),
-      q(2582) => q(gnw),
-      q(2583) => q(gnz),
-      q(2584) => q(goa),
-      q(2585) => q(gob),
-      q(2586) => q(goc),
-      q(2587) => q(god),
-      q(2588) => q(goe),
-      q(2589) => q(gof),
-      q(2590) => q(gog),
-      q(2591) => q(goi),
-      q(2592) => q(goj),
-      q(2593) => q(gok),
-      q(2594) => q(gol),
-      q(2595) => q(gom),
-      q(2596) => q(goo),
-      q(2597) => q(gop),
-      q(2598) => q(goq),
-      q(2599) => q(gos),
-      q(2600) => q(gou),
-      q(2601) => q(gow),
-      q(2602) => q(gox),
-      q(2603) => q(goy),
-      q(2604) => q(goz),
-      q(2605) => q(gpa),
-      q(2606) => q(gpe),
-      q(2607) => q(gpn),
-      q(2608) => q(gqa),
-      q(2609) => q(gqi),
-      q(2610) => q(gqn),
-      q(2611) => q(gqr),
-      q(2612) => q(gqu),
-      q(2613) => q(gra),
-      q(2614) => q(grd),
-      q(2615) => q(grg),
-      q(2616) => q(grh),
-      q(2617) => q(gri),
-      q(2618) => q(grj),
-      q(2619) => q(grm),
-      q(2620) => q(gro),
-      q(2621) => q(grq),
-      q(2622) => q(grr),
-      q(2623) => q(grs),
-      q(2624) => q(grt),
-      q(2625) => q(gru),
-      q(2626) => q(grv),
-      q(2627) => q(grw),
-      q(2628) => q(grx),
-      q(2629) => q(gry),
-      q(2630) => q(grz),
-      q(2631) => q(gse),
-      q(2632) => q(gsg),
-      q(2633) => q(gsl),
-      q(2634) => q(gsm),
-      q(2635) => q(gsn),
-      q(2636) => q(gso),
-      q(2637) => q(gsp),
-      q(2638) => q(gss),
-      q(2639) => q(gta),
-      q(2640) => q(gtu),
-      q(2641) => q(gua),
-      q(2642) => q(gub),
-      q(2643) => q(guc),
-      q(2644) => q(gud),
-      q(2645) => q(gue),
-      q(2646) => q(guf),
-      q(2647) => q(gug),
-      q(2648) => q(guh),
-      q(2649) => q(gui),
-      q(2650) => q(guk),
-      q(2651) => q(gul),
-      q(2652) => q(gum),
-      q(2653) => q(gun),
-      q(2654) => q(guo),
-      q(2655) => q(gup),
-      q(2656) => q(yif),
-      q(2657) => q(gur),
-      q(2658) => q(gus),
-      q(2659) => q(gut),
-      q(2660) => q(guu),
-      q(2661) => q(guv),
-      q(2662) => q(guw),
-      q(2663) => q(gux),
-      q(2664) => q(guz),
-      q(2665) => q(gva),
-      q(2666) => q(gvc),
-      q(2667) => q(gve),
-      q(2668) => q(gvf),
-      q(2669) => q(gvj),
-      q(2670) => q(gvl),
-      q(2671) => q(gvm),
-      q(2672) => q(gvn),
-      q(2673) => q(gvo),
-      q(2674) => q(gvp),
-      q(2675) => q(gvr),
-      q(2676) => q(gvs),
-      q(2677) => q(gvy),
-      q(2678) => q(gwa),
-      q(2679) => q(gwb),
-      q(2680) => q(gwc),
-      q(2681) => q(gwd),
-      q(2682) => q(gwe),
-      q(2683) => q(gwf),
-      q(2684) => q(gwg),
-      q(2685) => q(gwj),
-      q(2686) => q(gwm),
-      q(2687) => q(gwn),
-      q(2688) => q(gwr),
-      q(2689) => q(gwt),
-      q(2690) => q(gwu),
-      q(2691) => q(gww),
-      q(2692) => q(gwx),
-      q(2693) => q(gxx),
-      q(2694) => q(gya),
-      q(2695) => q(gyb),
-      q(2696) => q(gyd),
-      q(2697) => q(gye),
-      q(2698) => q(gyf),
-      q(2699) => q(gyg),
-      q(2700) => q(gyi),
-      q(2701) => q(gyl),
-      q(2702) => q(gym),
-      q(2703) => q(gyn),
-      q(2704) => q(gyr),
-      q(2705) => q(gyy),
-      q(2706) => q(gza),
-      q(2707) => q(gzi),
-      q(2708) => q(gzn),
-      q(2709) => q(haa),
-      q(2710) => q(hab),
-      q(2711) => q(hac),
-      q(2712) => q(had),
-      q(2713) => q(hae),
-      q(2714) => q(haf),
-      q(2715) => q(hag),
-      q(2716) => q(hah),
-      q(2717) => q(haj),
-      q(2718) => q(hak),
-      q(2719) => q(hal),
-      q(2720) => q(ham),
-      q(2721) => q(han),
-      q(2722) => q(hao),
-      q(2723) => q(hap),
-      q(2724) => q(haq),
-      q(2725) => q(har),
-      q(2726) => q(has),
-      q(2727) => q(hav),
-      q(2728) => q(hax),
-      q(2729) => q(hay),
-      q(2730) => q(haz),
-      q(2731) => q(hba),
-      q(2732) => q(hbb),
-      q(2733) => q(hbn),
-      q(2734) => q(hbo),
-      q(2735) => q(hbu),
-      q(2736) => q(hca),
-      q(2737) => q(hch),
-      q(2738) => q(hdn),
-      q(2739) => q(hds),
-      q(2740) => q(hdy),
-      q(2741) => q(hea),
-      q(2742) => q(hed),
-      q(2743) => q(heg),
-      q(2744) => q(heh),
-      q(2745) => q(hei),
-      q(2746) => q(hem),
-      q(2747) => q(hgm),
-      q(2748) => q(hgw),
-      q(2749) => q(hhi),
-      q(2750) => q(hhr),
-      q(2751) => q(hhy),
-      q(2752) => q(hia),
-      q(2753) => q(hib),
-      q(2754) => q(hid),
-      q(2755) => q(hif),
-      q(2756) => q(hig),
-      q(2757) => q(hih),
-      q(2758) => q(hii),
-      q(2759) => q(hij),
-      q(2760) => q(hik),
-      q(2761) => q(hio),
-      q(2762) => q(hir),
-      q(2763) => q(hiw),
-      q(2764) => q(hix),
-      q(2765) => q(hji),
-      q(2766) => q(hka),
-      q(2767) => q(hke),
-      q(2768) => q(hkk),
-      q(2769) => q(hks),
-      q(2770) => q(hla),
-      q(2771) => q(hlb),
-      q(2772) => q(hld),
-      q(2773) => q(hle),
-      q(2774) => q(hlt),
-      q(2775) => q(hlu),
-      q(2776) => q(hma),
-      q(2777) => q(hmb),
-      q(2778) => q(hmc),
-      q(2779) => q(hmd),
-      q(2780) => q(hme),
-      q(2781) => q(hmf),
-      q(2782) => q(hmg),
-      q(2783) => q(hmh),
-      q(2784) => q(hmi),
-      q(2785) => q(hmj),
-      q(2786) => q(hmk),
-      q(2787) => q(hml),
-      q(2788) => q(hmm),
-      q(2789) => q(hmp),
-      q(2790) => q(hmq),
-      q(2791) => q(hmr),
-      q(2792) => q(hms),
-      q(2793) => q(hmt),
-      q(2794) => q(hmu),
-      q(2795) => q(hmv),
-      q(2796) => q(hmw),
-      q(2797) => q(hmy),
-      q(2798) => q(hmz),
-      q(2799) => q(hna),
-      q(2800) => q(hnd),
-      q(2801) => q(hne),
-      q(2802) => q(hnh),
-      q(2803) => q(hni),
-      q(2804) => q(hnj),
-      q(2805) => q(hnn),
-      q(2806) => q(hno),
-      q(2807) => q(hns),
-      q(2808) => q(hnu),
-      q(2809) => q(hoa),
-      q(2810) => q(hob),
-      q(2811) => q(hoc),
-      q(2812) => q(hod),
-      q(2813) => q(hoe),
-      q(2814) => q(hoh),
-      q(2815) => q(hoi),
-      q(2816) => q(hoj),
-      q(2817) => q(hol),
-      q(2818) => q(hom),
-      q(2819) => q(hoo),
-      q(2820) => q(hop),
-      q(2821) => q(hor),
-      q(2822) => q(hos),
-      q(2823) => q(hot),
-      q(2824) => q(hov),
-      q(2825) => q(how),
-      q(2826) => q(hoy),
-      q(2827) => q(hoz),
-      q(2828) => q(hpo),
-      q(2829) => q(hps),
-      q(2830) => q(hra),
-      q(2831) => q(hrc),
-      q(2832) => q(hre),
-      q(2833) => q(hrk),
-      q(2834) => q(hrm),
-      q(2835) => q(hro),
-      q(2836) => q(hrp),
-      q(2837) => q(hrt),
-      q(2838) => q(hru),
-      q(2839) => q(hrw),
-      q(2840) => q(hrx),
-      q(2841) => q(hrz),
-      q(2842) => q(hsh),
-      q(2843) => q(hsl),
-      q(2844) => q(hsn),
-      q(2845) => q(hss),
-      q(2846) => q(hti),
-      q(2847) => q(hto),
-      q(2848) => q(hts),
-      q(2849) => q(htu),
-      q(2850) => q(htx),
-      q(2851) => q(hub),
-      q(2852) => q(huc),
-      q(2853) => q(hud),
-      q(2854) => q(hue),
-      q(2855) => q(huf),
-      q(2856) => q(hug),
-      q(2857) => q(huh),
-      q(2858) => q(hui),
-      q(2859) => q(huj),
-      q(2860) => q(huk),
-      q(2861) => q(hul),
-      q(2862) => q(hum),
-      q(2863) => q(huo),
-      q(2864) => q(huq),
-      q(2865) => q(hur),
-      q(2866) => q(hus),
-      q(2867) => q(hut),
-      q(2868) => q(huu),
-      q(2869) => q(huv),
-      q(2870) => q(huw),
-      q(2871) => q(hux),
-      q(2872) => q(huy),
-      q(2873) => q(huz),
-      q(2874) => q(hvc),
-      q(2875) => q(hve),
-      q(2876) => q(hvk),
-      q(2877) => q(hvn),
-      q(2878) => q(hvv),
-      q(2879) => q(hwa),
-      q(2880) => q(hwc),
-      q(2881) => q(hwo),
-      q(2882) => q(hya),
-      q(2883) => q(iai),
-      q(2884) => q(ian),
-      q(2885) => q(iap),
-      q(2886) => q(iar),
-      q(2887) => q(ibb),
-      q(2888) => q(ibd),
-      q(2889) => q(ibe),
-      q(2890) => q(ibg),
-      q(2891) => q(ibl),
-      q(2892) => q(ibm),
-      q(2893) => q(ibn),
-      q(2894) => q(ibr),
-      q(2895) => q(ibu),
-      q(2896) => q(iby),
-      q(2897) => q(ica),
-      q(2898) => q(ich),
-      q(2899) => q(icl),
-      q(2900) => q(icr),
-      q(2901) => q(ida),
-      q(2902) => q(idb),
-      q(2903) => q(idc),
-      q(2904) => q(idd),
-      q(2905) => q(ide),
-      q(2906) => q(idi),
-      q(2907) => q(idr),
-      q(2908) => q(ids),
-      q(2909) => q(idt),
-      q(2910) => q(idu),
-      q(2911) => q(ifa),
-      q(2912) => q(ifb),
-      q(2913) => q(ife),
-      q(2914) => q(iff),
-      q(2915) => q(ifk),
-      q(2916) => q(ifm),
-      q(2917) => q(ifu),
-      q(2918) => q(ify),
-      q(2919) => q(igb),
-      q(2920) => q(ige),
-      q(2921) => q(igg),
-      q(2922) => q(igl),
-      q(2923) => q(igm),
-      q(2924) => q(ign),
-      q(2925) => q(igo),
-      q(2926) => q(igs),
-      q(2927) => q(igw),
-      q(2928) => q(ihb),
-      q(2929) => q(ihi),
-      q(2930) => q(ihp),
-      q(2931) => q(ihw),
-      q(2932) => q(iin),
-      q(2933) => q(ijc),
-      q(2934) => q(ije),
-      q(2935) => q(ijj),
-      q(2936) => q(ijn),
-      q(2937) => q(ijs),
-      q(2938) => q(ike),
-      q(2939) => q(iki),
-      q(2940) => q(ikk),
-      q(2941) => q(ikl),
-      q(2942) => q(iko),
-      q(2943) => q(ikp),
-      q(2944) => q(ikr),
-      q(2945) => q(iks),
-      q(2946) => q(ikt),
-      q(2947) => q(ikv),
-      q(2948) => q(ikw),
-      q(2949) => q(ikx),
-      q(2950) => q(ikz),
-      q(2951) => q(ila),
-      q(2952) => q(ilb),
-      q(2953) => q(ilg),
-      q(2954) => q(ili),
-      q(2955) => q(ilk),
-      q(2956) => q(ill),
-      q(2957) => q(ils),
-      q(2958) => q(ilu),
-      q(2959) => q(ilv),
-      q(2960) => q(ima),
-      q(2961) => q(imi),
-      q(2962) => q(iml),
-      q(2963) => q(imn),
-      q(2964) => q(imo),
-      q(2965) => q(imr),
-      q(2966) => q(ims),
-      q(2967) => q(imy),
-      q(2968) => q(inb),
-      q(2969) => q(ing),
-      q(2970) => q(inj),
-      q(2971) => q(inl),
-      q(2972) => q(inm),
-      q(2973) => q(inn),
-      q(2974) => q(ino),
-      q(2975) => q(inp),
-      q(2976) => q(ins),
-      q(2977) => q(int),
-      q(2978) => q(inz),
-      q(2979) => q(ior),
-      q(2980) => q(iou),
-      q(2981) => q(iow),
-      q(2982) => q(ipi),
-      q(2983) => q(ipo),
-      q(2984) => q(iqu),
-      q(2985) => q(iqw),
-      q(2986) => q(ire),
-      q(2987) => q(irh),
-      q(2988) => q(iri),
-      q(2989) => q(irk),
-      q(2990) => q(irn),
-      q(2991) => q(irr),
-      q(2992) => q(iru),
-      q(2993) => q(irx),
-      q(2994) => q(iry),
-      q(2995) => q(isa),
-      q(2996) => q(isc),
-      q(2997) => q(isd),
-      q(2998) => q(ise),
-      q(2999) => q(isg),
-      q(3000) => q(ish),
-      q(3001) => q(isi),
-      q(3002) => q(isk),
-      q(3003) => q(ism),
-      q(3004) => q(isn),
-      q(3005) => q(iso),
-      q(3006) => q(isr),
-      q(3007) => q(ist),
-      q(3008) => q(isu),
-      q(3009) => q(itb),
-      q(3010) => q(ite),
-      q(3011) => q(iti),
-      q(3012) => q(itk),
-      q(3013) => q(itl),
-      q(3014) => q(itm),
-      q(3015) => q(ito),
-      q(3016) => q(itr),
-      q(3017) => q(its),
-      q(3018) => q(itt),
-      q(3019) => q(itv),
-      q(3020) => q(itw),
-      q(3021) => q(itx),
-      q(3022) => q(ity),
-      q(3023) => q(itz),
-      q(3024) => q(ium),
-      q(3025) => q(ivb),
-      q(3026) => q(ivv),
-      q(3027) => q(iwk),
-      q(3028) => q(iwm),
-      q(3029) => q(iwo),
-      q(3030) => q(iws),
-      q(3031) => q(ixc),
-      q(3032) => q(ixl),
-      q(3033) => q(iya),
-      q(3034) => q(iyo),
-      q(3035) => q(iyx),
-      q(3036) => q(izh),
-      q(3037) => q(izr),
-      q(3038) => q(izz),
-      q(3039) => q(jaa),
-      q(3040) => q(jab),
-      q(3041) => q(jac),
-      q(3042) => q(jad),
-      q(3043) => q(jae),
-      q(3044) => q(jaf),
-      q(3045) => q(jah),
-      q(3046) => q(jaj),
-      q(3047) => q(jak),
-      q(3048) => q(jal),
-      q(3049) => q(jam),
-      q(3050) => q(jan),
-      q(3051) => q(jao),
-      q(3052) => q(jaq),
-      q(3053) => q(jas),
-      q(3054) => q(jat),
-      q(3055) => q(jau),
-      q(3056) => q(jax),
-      q(3057) => q(jay),
-      q(3058) => q(jaz),
-      q(3059) => q(jbe),
-      q(3060) => q(jbi),
-      q(3061) => q(jbj),
-      q(3062) => q(jbk),
-      q(3063) => q(jbn),
-      q(3064) => q(jbr),
-      q(3065) => q(jbt),
-      q(3066) => q(jbu),
-      q(3067) => q(jbw),
-      q(3068) => q(jcs),
-      q(3069) => q(jct),
-      q(3070) => q(jda),
-      q(3071) => q(jdg),
-      q(3072) => q(jdt),
-      q(3073) => q(jeb),
-      q(3074) => q(jee),
-      q(3075) => q(jeg),
-      q(3076) => q(jeh),
-      q(3077) => q(jei),
-      q(3078) => q(jek),
-      q(3079) => q(jel),
-      q(3080) => q(jen),
-      q(3081) => q(jer),
-      q(3082) => q(jet),
-      q(3083) => q(jeu),
-      q(3084) => q(jgb),
-      q(3085) => q(jge),
-      q(3086) => q(jgk),
-      q(3087) => q(jgo),
-      q(3088) => q(jhi),
-      q(3089) => q(jhs),
-      q(3090) => q(jia),
-      q(3091) => q(jib),
-      q(3092) => q(jic),
-      q(3093) => q(jid),
-      q(3094) => q(jie),
-      q(3095) => q(jig),
-      q(3096) => q(jih),
-      q(3097) => q(jii),
-      q(3098) => q(jil),
-      q(3099) => q(jim),
-      q(3100) => q(jio),
-      q(3101) => q(jiq),
-      q(3102) => q(jit),
-      q(3103) => q(jiu),
-      q(3104) => q(jiv),
-      q(3105) => q(jiy),
-      q(3106) => q(jje),
-      q(3107) => q(jjr),
-      q(3108) => q(jkm),
-      q(3109) => q(jko),
-      q(3110) => q(jkp),
-      q(3111) => q(jkr),
-      q(3112) => q(jku),
-      q(3113) => q(jle),
-      q(3114) => q(jls),
-      q(3115) => q(jma),
-      q(3116) => q(jmb),
-      q(3117) => q(jmc),
-      q(3118) => q(jmd),
-      q(3119) => q(jmi),
-      q(3120) => q(jml),
-      q(3121) => q(jmn),
-      q(3122) => q(jmr),
-      q(3123) => q(jms),
-      q(3124) => q(jmw),
-      q(3125) => q(jmx),
-      q(3126) => q(jna),
-      q(3127) => q(jnd),
-      q(3128) => q(jng),
-      q(3129) => q(jni),
-      q(3130) => q(jnj),
-      q(3131) => q(jnl),
-      q(3132) => q(jns),
-      q(3133) => q(job),
-      q(3134) => q(jod),
-      q(3135) => q(jor),
-      q(3136) => q(jos),
-      q(3137) => q(jow),
-      q(3138) => q(jpa),
-      q(3139) => q(jqr),
-      q(3140) => q(jra),
-      q(3141) => q(jrr),
-      q(3142) => q(jrt),
-      q(3143) => q(jru),
-      q(3144) => q(jsl),
-      q(3145) => q(jua),
-      q(3146) => q(jub),
-      q(3147) => q(juc),
-      q(3148) => q(jud),
-      q(3149) => q(juh),
-      q(3150) => q(jui),
-      q(3151) => q(juk),
-      q(3152) => q(jul),
-      q(3153) => q(jum),
-      q(3154) => q(jun),
-      q(3155) => q(juo),
-      q(3156) => q(jup),
-      q(3157) => q(jur),
-      q(3158) => q(jus),
-      q(3159) => q(jut),
-      q(3160) => q(juu),
-      q(3161) => q(juw),
-      q(3162) => q(juy),
-      q(3163) => q(jvd),
-      q(3164) => q(jvn),
-      q(3165) => q(jwi),
-      q(3166) => q(jya),
-      q(3167) => q(jye),
-      q(3168) => q(jyy),
-      q(3169) => q(kad),
-      q(3170) => q(kae),
-      q(3171) => q(kaf),
-      q(3172) => q(kag),
-      q(3173) => q(kah),
-      q(3174) => q(kai),
-      q(3175) => q(kaj),
-      q(3176) => q(kak),
-      q(3177) => q(kao),
-      q(3178) => q(kap),
-      q(3179) => q(kaq),
-      q(3180) => q(kav),
-      q(3181) => q(kax),
-      q(3182) => q(kay),
-      q(3183) => q(kba),
-      q(3184) => q(kbb),
-      q(3185) => q(kbc),
-      q(3186) => q(kbe),
-      q(3187) => q(kbg),
-      q(3188) => q(kbh),
-      q(3189) => q(kbi),
-      q(3190) => q(kbj),
-      q(3191) => q(kbk),
-      q(3192) => q(kbl),
-      q(3193) => q(kbm),
-      q(3194) => q(kbn),
-      q(3195) => q(kbo),
-      q(3196) => q(kbp),
-      q(3197) => q(kbq),
-      q(3198) => q(kbr),
-      q(3199) => q(kbs),
-      q(3200) => q(kbt),
-      q(3201) => q(kbu),
-      q(3202) => q(kbv),
-      q(3203) => q(kbw),
-      q(3204) => q(kbx),
-      q(3205) => q(kby),
-      q(3206) => q(kbz),
-      q(3207) => q(kca),
-      q(3208) => q(kcb),
-      q(3209) => q(kcc),
-      q(3210) => q(kcd),
-      q(3211) => q(kce),
-      q(3212) => q(kcf),
-      q(3213) => q(kcg),
-      q(3214) => q(kch),
-      q(3215) => q(kci),
-      q(3216) => q(kcj),
-      q(3217) => q(kck),
-      q(3218) => q(kcl),
-      q(3219) => q(kcm),
-      q(3220) => q(kcn),
-      q(3221) => q(kco),
-      q(3222) => q(kcp),
-      q(3223) => q(kcq),
-      q(3224) => q(kcr),
-      q(3225) => q(kcs),
-      q(3226) => q(kct),
-      q(3227) => q(kcu),
-      q(3228) => q(kcv),
-      q(3229) => q(kcw),
-      q(3230) => q(kcx),
-      q(3231) => q(kcy),
-      q(3232) => q(kcz),
-      q(3233) => q(kda),
-      q(3234) => q(kdc),
-      q(3235) => q(kdd),
-      q(3236) => q(kde),
-      q(3237) => q(kdf),
-      q(3238) => q(kdg),
-      q(3239) => q(kdh),
-      q(3240) => q(kdi),
-      q(3241) => q(kdj),
-      q(3242) => q(kdk),
-      q(3243) => q(kdl),
-      q(3244) => q(kdm),
-      q(3245) => q(kdn),
-      q(3246) => q(kdp),
-      q(3247) => q(kdq),
-      q(3248) => q(kdr),
-      q(3249) => q(kdt),
-      q(3250) => q(kdu),
-      q(3251) => q(kdw),
-      q(3252) => q(kdx),
-      q(3253) => q(kdy),
-      q(3254) => q(kdz),
-      q(3255) => q(kea),
-      q(3256) => q(keb),
-      q(3257) => q(kec),
-      q(3258) => q(ked),
-      q(3259) => q(kee),
-      q(3260) => q(kef),
-      q(3261) => q(keg),
-      q(3262) => q(keh),
-      q(3263) => q(kei),
-      q(3264) => q(kej),
-      q(3265) => q(kek),
-      q(3266) => q(kel),
-      q(3267) => q(kem),
-      q(3268) => q(ken),
-      q(3269) => q(keo),
-      q(3270) => q(kep),
-      q(3271) => q(keq),
-      q(3272) => q(ker),
-      q(3273) => q(kes),
-      q(3274) => q(ket),
-      q(3275) => q(keu),
-      q(3276) => q(kev),
-      q(3277) => q(kew),
-      q(3278) => q(kex),
-      q(3279) => q(key),
-      q(3280) => q(kez),
-      q(3281) => q(kfa),
-      q(3282) => q(kfb),
-      q(3283) => q(kfc),
-      q(3284) => q(kfd),
-      q(3285) => q(kfe),
-      q(3286) => q(kff),
-      q(3287) => q(kfg),
-      q(3288) => q(kfh),
-      q(3289) => q(kfi),
-      q(3290) => q(kfj),
-      q(3291) => q(kfk),
-      q(3292) => q(kfl),
-      q(3293) => q(kfm),
-      q(3294) => q(kfn),
-      q(3295) => q(kfo),
-      q(3296) => q(kfp),
-      q(3297) => q(kfq),
-      q(3298) => q(kfr),
-      q(3299) => q(kfs),
-      q(3300) => q(kft),
-      q(3301) => q(kfu),
-      q(3302) => q(kfv),
-      q(3303) => q(kfw),
-      q(3304) => q(kfx),
-      q(3305) => q(kfy),
-      q(3306) => q(kfz),
-      q(3307) => q(kga),
-      q(3308) => q(kgb),
-      q(3309) => q(kgc),
-      q(3310) => q(kgd),
-      q(3311) => q(kge),
-      q(3312) => q(kgf),
-      q(3313) => q(kgg),
-      q(3314) => q(kgi),
-      q(3315) => q(kgj),
-      q(3316) => q(kgk),
-      q(3317) => q(kgl),
-      q(3318) => q(kuq),
-      q(3319) => q(kgn),
-      q(3320) => q(kgo),
-      q(3321) => q(kgp),
-      q(3322) => q(kgq),
-      q(3323) => q(kgr),
-      q(3324) => q(kgs),
-      q(3325) => q(kgt),
-      q(3326) => q(kgu),
-      q(3327) => q(kgv),
-      q(3328) => q(kgw),
-      q(3329) => q(kgx),
-      q(3330) => q(kgy),
-      q(3331) => q(khb),
-      q(3332) => q(khc),
-      q(3333) => q(khd),
-      q(3334) => q(khe),
-      q(3335) => q(khf),
-      q(3336) => q(khg),
-      q(3337) => q(khh),
-      q(3338) => q(khj),
-      q(3339) => q(khk),
-      q(3340) => q(khl),
-      q(3341) => q(khn),
-      q(3342) => q(khp),
-      q(3343) => q(khq),
-      q(3344) => q(khr),
-      q(3345) => q(khs),
-      q(3346) => q(kht),
-      q(3347) => q(khu),
-      q(3348) => q(khv),
-      q(3349) => q(khw),
-      q(3350) => q(khx),
-      q(3351) => q(khy),
-      q(3352) => q(khz),
-      q(3353) => q(kia),
-      q(3354) => q(kib),
-      q(3355) => q(kic),
-      q(3356) => q(kid),
-      q(3357) => q(kie),
-      q(3358) => q(kif),
-      q(3359) => q(kig),
-      q(3360) => q(kih),
-      q(3361) => q(kii),
-      q(3362) => q(kij),
-      q(3363) => q(kil),
-      q(3364) => q(kim),
-      q(3365) => q(kio),
-      q(3366) => q(kip),
-      q(3367) => q(kiq),
-      q(3368) => q(kis),
-      q(3369) => q(kit),
-      q(3370) => q(kiu),
-      q(3371) => q(kiv),
-      q(3372) => q(kiw),
-      q(3373) => q(kix),
-      q(3374) => q(kiy),
-      q(3375) => q(kiz),
-      q(3376) => q(kja),
-      q(3377) => q(kjb),
-      q(3378) => q(kjc),
-      q(3379) => q(kjd),
-      q(3380) => q(kje),
-      q(3381) => q(kjf),
-      q(3382) => q(kjg),
-      q(3383) => q(kjh),
-      q(3384) => q(kji),
-      q(3385) => q(kjj),
-      q(3386) => q(kjk),
-      q(3387) => q(kjl),
-      q(3388) => q(kjm),
-      q(3389) => q(kjn),
-      q(3390) => q(kjo),
-      q(3391) => q(kjp),
-      q(3392) => q(kjq),
-      q(3393) => q(kjr),
-      q(3394) => q(kjs),
-      q(3395) => q(kjt),
-      q(3396) => q(kju),
-      q(3397) => q(kjv),
-      q(3398) => q(kjx),
-      q(3399) => q(kjy),
-      q(3400) => q(kjz),
-      q(3401) => q(kka),
-      q(3402) => q(kkb),
-      q(3403) => q(kkc),
-      q(3404) => q(kkd),
-      q(3405) => q(kke),
-      q(3406) => q(kkf),
-      q(3407) => q(kkg),
-      q(3408) => q(kkh),
-      q(3409) => q(kki),
-      q(3410) => q(kkj),
-      q(3411) => q(kkk),
-      q(3412) => q(kkl),
-      q(3413) => q(kkm),
-      q(3414) => q(kkn),
-      q(3415) => q(kko),
-      q(3416) => q(kkp),
-      q(3417) => q(kkq),
-      q(3418) => q(kkr),
-      q(3419) => q(kks),
-      q(3420) => q(kkt),
-      q(3421) => q(kku),
-      q(3422) => q(kkv),
-      q(3423) => q(kkw),
-      q(3424) => q(kkx),
-      q(3425) => q(kky),
-      q(3426) => q(kkz),
-      q(3427) => q(kla),
-      q(3428) => q(klb),
-      q(3429) => q(klc),
-      q(3430) => q(kld),
-      q(3431) => q(kle),
-      q(3432) => q(klf),
-      q(3433) => q(klg),
-      q(3434) => q(klh),
-      q(3435) => q(kli),
-      q(3436) => q(klj),
-      q(3437) => q(klk),
-      q(3438) => q(kll),
-      q(3439) => q(klm),
-      q(3440) => q(kln),
-      q(3441) => q(klo),
-      q(3442) => q(klp),
-      q(3443) => q(klq),
-      q(3444) => q(klr),
-      q(3445) => q(kls),
-      q(3446) => q(klt),
-      q(3447) => q(klu),
-      q(3448) => q(klv),
-      q(3449) => q(klw),
-      q(3450) => q(klx),
-      q(3451) => q(kly),
-      q(3452) => q(klz),
-      q(3453) => q(kma),
-      q(3454) => q(kmc),
-      q(3455) => q(kmd),
-      q(3456) => q(kme),
-      q(3457) => q(kmf),
-      q(3458) => q(kmg),
-      q(3459) => q(kmh),
-      q(3460) => q(kmi),
-      q(3461) => q(kmj),
-      q(3462) => q(kmk),
-      q(3463) => q(kml),
-      q(3464) => q(kmm),
-      q(3465) => q(kmn),
-      q(3466) => q(kmo),
-      q(3467) => q(kmp),
-      q(3468) => q(kmq),
-      q(3469) => q(kmr),
-      q(3470) => q(kms),
-      q(3471) => q(kmt),
-      q(3472) => q(kmu),
-      q(3473) => q(kmv),
-      q(3474) => q(kmw),
-      q(3475) => q(kmx),
-      q(3476) => q(kmy),
-      q(3477) => q(kmz),
-      q(3478) => q(kna),
-      q(3479) => q(knb),
-      q(3480) => q(knc),
-      q(3481) => q(knd),
-      q(3482) => q(kne),
-      q(3483) => q(knf),
-      q(3484) => q(kng),
-      q(3485) => q(kni),
-      q(3486) => q(knj),
-      q(3487) => q(knk),
-      q(3488) => q(knl),
-      q(3489) => q(knm),
-      q(3490) => q(knn),
-      q(3491) => q(kno),
-      q(3492) => q(knp),
-      q(3493) => q(knq),
-      q(3494) => q(knr),
-      q(3495) => q(kns),
-      q(3496) => q(knt),
-      q(3497) => q(knu),
-      q(3498) => q(knv),
-      q(3499) => q(knw),
-      q(3500) => q(knx),
-      q(3501) => q(kny),
-      q(3502) => q(knz),
-      q(3503) => q(koa),
-      q(3504) => q(koc),
-      q(3505) => q(kod),
-      q(3506) => q(koe),
-      q(3507) => q(kof),
-      q(3508) => q(kog),
-      q(3509) => q(koh),
-      q(3510) => q(koi),
-      q(3511) => q(kol),
-      q(3512) => q(koo),
-      q(3513) => q(kop),
-      q(3514) => q(koq),
-      q(3515) => q(kot),
-      q(3516) => q(kou),
-      q(3517) => q(kov),
-      q(3518) => q(kow),
-      q(3519) => q(kox),
-      q(3520) => q(koy),
-      q(3521) => q(koz),
-      q(3522) => q(kpa),
-      q(3523) => q(kpb),
-      q(3524) => q(kpc),
-      q(3525) => q(kpd),
-      q(3526) => q(kpf),
-      q(3527) => q(kpg),
-      q(3528) => q(kph),
-      q(3529) => q(kpi),
-      q(3530) => q(kpj),
-      q(3531) => q(kpk),
-      q(3532) => q(kpl),
-      q(3533) => q(kpm),
-      q(3534) => q(kpn),
-      q(3535) => q(kpo),
-      q(3536) => q(kpq),
-      q(3537) => q(kpr),
-      q(3538) => q(kps),
-      q(3539) => q(kpt),
-      q(3540) => q(kpu),
-      q(3541) => q(kpv),
-      q(3542) => q(kpw),
-      q(3543) => q(kpx),
-      q(3544) => q(kpy),
-      q(3545) => q(kpz),
-      q(3546) => q(kqa),
-      q(3547) => q(kqb),
-      q(3548) => q(kqc),
-      q(3549) => q(kqd),
-      q(3550) => q(kqe),
-      q(3551) => q(kqf),
-      q(3552) => q(kqg),
-      q(3553) => q(kqh),
-      q(3554) => q(kqi),
-      q(3555) => q(kqj),
-      q(3556) => q(kqk),
-      q(3557) => q(kql),
-      q(3558) => q(kqm),
-      q(3559) => q(kqn),
-      q(3560) => q(kqo),
-      q(3561) => q(kqp),
-      q(3562) => q(kqq),
-      q(3563) => q(kqr),
-      q(3564) => q(kqs),
-      q(3565) => q(kqt),
-      q(3566) => q(kqu),
-      q(3567) => q(kqv),
-      q(3568) => q(kqw),
-      q(3569) => q(kqx),
-      q(3570) => q(kqy),
-      q(3571) => q(kqz),
-      q(3572) => q(kra),
-      q(3573) => q(krb),
-      q(3574) => q(krd),
-      q(3575) => q(kre),
-      q(3576) => q(krf),
-      q(3577) => q(krh),
-      q(3578) => q(kri),
-      q(3579) => q(krj),
-      q(3580) => q(krk),
-      q(3581) => q(krm),
-      q(3582) => q(krn),
-      q(3583) => q(krp),
-      q(3584) => q(krr),
-      q(3585) => q(krs),
-      q(3586) => q(krt),
-      q(3587) => q(krv),
-      q(3588) => q(krw),
-      q(3589) => q(krx),
-      q(3590) => q(kry),
-      q(3591) => q(krz),
-      q(3592) => q(ksa),
-      q(3593) => q(ksb),
-      q(3594) => q(ksc),
-      q(3595) => q(ksd),
-      q(3596) => q(kse),
-      q(3597) => q(ksf),
-      q(3598) => q(ksg),
-      q(3599) => q(ksh),
-      q(3600) => q(ksi),
-      q(3601) => q(ksj),
-      q(3602) => q(ksk),
-      q(3603) => q(ksl),
-      q(3604) => q(ksm),
-      q(3605) => q(ksn),
-      q(3606) => q(kso),
-      q(3607) => q(ksp),
-      q(3608) => q(ksq),
-      q(3609) => q(ksr),
-      q(3610) => q(kss),
-      q(3611) => q(kst),
-      q(3612) => q(ksu),
-      q(3613) => q(ksv),
-      q(3614) => q(ksw),
-      q(3615) => q(ksx),
-      q(3616) => q(ksy),
-      q(3617) => q(ksz),
-      q(3618) => q(kta),
-      q(3619) => q(ktb),
-      q(3620) => q(ktc),
-      q(3621) => q(ktd),
-      q(3622) => q(kte),
-      q(3623) => q(ktf),
-      q(3624) => q(ktg),
-      q(3625) => q(kth),
-      q(3626) => q(kti),
-      q(3627) => q(ktj),
-      q(3628) => q(ktk),
-      q(3629) => q(ktl),
-      q(3630) => q(ktm),
-      q(3631) => q(ktn),
-      q(3632) => q(kto),
-      q(3633) => q(ktp),
-      q(3634) => q(ktq),
-      q(3635) => q(ktr),
-      q(3636) => q(kts),
-      q(3637) => q(ktt),
-      q(3638) => q(ktu),
-      q(3639) => q(ktv),
-      q(3640) => q(ktw),
-      q(3641) => q(ktx),
-      q(3642) => q(kty),
-      q(3643) => q(ktz),
-      q(3644) => q(kub),
-      q(3645) => q(kuc),
-      q(3646) => q(kud),
-      q(3647) => q(kue),
-      q(3648) => q(kuf),
-      q(3649) => q(kug),
-      q(3650) => q(kuh),
-      q(3651) => q(kui),
-      q(3652) => q(kuj),
-      q(3653) => q(kuk),
-      q(3654) => q(kul),
-      q(3655) => q(kun),
-      q(3656) => q(kuo),
-      q(3657) => q(kup),
-      q(3658) => q(kus),
-      q(3659) => q(kuu),
-      q(3660) => q(kuv),
-      q(3661) => q(kuw),
-      q(3662) => q(kux),
-      q(3663) => q(kuy),
-      q(3664) => q(kuz),
-      q(3665) => q(kva),
-      q(3666) => q(kvb),
-      q(3667) => q(kvc),
-      q(3668) => q(kvd),
-      q(3669) => q(kve),
-      q(3670) => q(kvf),
-      q(3671) => q(kvg),
-      q(3672) => q(kvh),
-      q(3673) => q(kvi),
-      q(3674) => q(kvj),
-      q(3675) => q(kvk),
-      q(3676) => q(kvl),
-      q(3677) => q(kvm),
-      q(3678) => q(kvn),
-      q(3679) => q(kvo),
-      q(3680) => q(kvp),
-      q(3681) => q(kvq),
-      q(3682) => q(kvr),
-      q(3683) => q(kvs),
-      q(3684) => q(kvt),
-      q(3685) => q(kvu),
-      q(3686) => q(kvv),
-      q(3687) => q(kvw),
-      q(3688) => q(kvx),
-      q(3689) => q(kvy),
-      q(3690) => q(kvz),
-      q(3691) => q(kwa),
-      q(3692) => q(kwb),
-      q(3693) => q(kwc),
-      q(3694) => q(kwd),
-      q(3695) => q(kwe),
-      q(3696) => q(kwf),
-      q(3697) => q(kwg),
-      q(3698) => q(kwh),
-      q(3699) => q(kwi),
-      q(3700) => q(kwj),
-      q(3701) => q(kwk),
-      q(3702) => q(kwl),
-      q(3703) => q(kwm),
-      q(3704) => q(kwn),
-      q(3705) => q(kwo),
-      q(3706) => q(kwp),
-      q(3707) => q(kwr),
-      q(3708) => q(kws),
-      q(3709) => q(kwt),
-      q(3710) => q(kwu),
-      q(3711) => q(kwv),
-      q(3712) => q(kww),
-      q(3713) => q(kwx),
-      q(3714) => q(kwy),
-      q(3715) => q(kwz),
-      q(3716) => q(kxa),
-      q(3717) => q(kxb),
-      q(3718) => q(kxc),
-      q(3719) => q(kxd),
-      q(3720) => q(kxf),
-      q(3721) => q(kxh),
-      q(3722) => q(kxi),
-      q(3723) => q(kxj),
-      q(3724) => q(kxk),
-      q(3725) => q(kxl),
-      q(3726) => q(kxm),
-      q(3727) => q(kxn),
-      q(3728) => q(kxo),
-      q(3729) => q(kxp),
-      q(3730) => q(kxq),
-      q(3731) => q(kxr),
-      q(3732) => q(kxs),
-      q(3733) => q(kxt),
-      q(3734) => q(kxu),
-      q(3735) => q(kxv),
-      q(3736) => q(kxw),
-      q(3737) => q(kxx),
-      q(3738) => q(kxy),
-      q(3739) => q(kxz),
-      q(3740) => q(kya),
-      q(3741) => q(kyb),
-      q(3742) => q(kyc),
-      q(3743) => q(kyd),
-      q(3744) => q(kye),
-      q(3745) => q(kyf),
-      q(3746) => q(kyg),
-      q(3747) => q(kyh),
-      q(3748) => q(kyi),
-      q(3749) => q(kyj),
-      q(3750) => q(kyk),
-      q(3751) => q(kyl),
-      q(3752) => q(kym),
-      q(3753) => q(kyn),
-      q(3754) => q(kyo),
-      q(3755) => q(kyp),
-      q(3756) => q(kyq),
-      q(3757) => q(kyr),
-      q(3758) => q(kys),
-      q(3759) => q(kyt),
-      q(3760) => q(kyu),
-      q(3761) => q(kyv),
-      q(3762) => q(kyw),
-      q(3763) => q(kyx),
-      q(3764) => q(kyy),
-      q(3765) => q(kyz),
-      q(3766) => q(kza),
-      q(3767) => q(kzb),
-      q(3768) => q(kzc),
-      q(3769) => q(kzd),
-      q(3770) => q(kze),
-      q(3771) => q(kzf),
-      q(3772) => q(kzg),
-      q(3773) => q(kzi),
-      q(3774) => q(kzj),
-      q(3775) => q(kzk),
-      q(3776) => q(kzl),
-      q(3777) => q(kzm),
-      q(3778) => q(kzn),
-      q(3779) => q(kzo),
-      q(3780) => q(kzp),
-      q(3781) => q(kzq),
-      q(3782) => q(kzr),
-      q(3783) => q(kzs),
-      q(3784) => q(kzt),
-      q(3785) => q(kzu),
-      q(3786) => q(kzv),
-      q(3787) => q(kzw),
-      q(3788) => q(kzx),
-      q(3789) => q(kzy),
-      q(3790) => q(kzz),
-      q(3791) => q(laa),
-      q(3792) => q(lab),
-      q(3793) => q(lac),
-      q(3794) => q(lae),
-      q(3795) => q(laf),
-      q(3796) => q(lag),
-      q(3797) => q(lai),
-      q(3798) => q(laj),
-      q(3799) => q(lak),
-      q(3800) => q(lal),
-      q(3801) => q(lan),
-      q(3802) => q(lap),
-      q(3803) => q(laq),
-      q(3804) => q(lar),
-      q(3805) => q(las),
-      q(3806) => q(lau),
-      q(3807) => q(law),
-      q(3808) => q(lax),
-      q(3809) => q(lay),
-      q(3810) => q(laz),
-      q(3811) => q(lba),
-      q(3812) => q(lbb),
-      q(3813) => q(lbc),
-      q(3814) => q(lbe),
-      q(3815) => q(lbf),
-      q(3816) => q(lbg),
-      q(3817) => q(lbi),
-      q(3818) => q(lbj),
-      q(3819) => q(lbk),
-      q(3820) => q(lbl),
-      q(3821) => q(lbm),
-      q(3822) => q(lbn),
-      q(3823) => q(lbo),
-      q(3824) => q(lbq),
-      q(3825) => q(lbr),
-      q(3826) => q(lbs),
-      q(3827) => q(lbt),
-      q(3828) => q(lbu),
-      q(3829) => q(lbv),
-      q(3830) => q(lbw),
-      q(3831) => q(lbx),
-      q(3832) => q(lby),
-      q(3833) => q(lbz),
-      q(3834) => q(lcc),
-      q(3835) => q(lcd),
-      q(3836) => q(lce),
-      q(3837) => q(lcf),
-      q(3838) => q(lch),
-      q(3839) => q(lcl),
-      q(3840) => q(lcm),
-      q(3841) => q(lcp),
-      q(3842) => q(lcq),
-      q(3843) => q(lcs),
-      q(3844) => q(lda),
-      q(3845) => q(ldb),
-      q(3846) => q(ldd),
-      q(3847) => q(ldg),
-      q(3848) => q(ldh),
-      q(3849) => q(ldi),
-      q(3850) => q(ldj),
-      q(3851) => q(ldk),
-      q(3852) => q(ldl),
-      q(3853) => q(ldm),
-      q(3854) => q(ldn),
-      q(3855) => q(ldo),
-      q(3856) => q(ldp),
-      q(3857) => q(ldq),
-      q(3858) => q(lea),
-      q(3859) => q(leb),
-      q(3860) => q(lec),
-      q(3861) => q(led),
-      q(3862) => q(lee),
-      q(3863) => q(lef),
-      q(3864) => q(leh),
-      q(3865) => q(lei),
-      q(3866) => q(lej),
-      q(3867) => q(lek),
-      q(3868) => q(lel),
-      q(3869) => q(lem),
-      q(3870) => q(len),
-      q(3871) => q(leo),
-      q(3872) => q(lep),
-      q(3873) => q(leq),
-      q(3874) => q(ler),
-      q(3875) => q(les),
-      q(3876) => q(let),
-      q(3877) => q(leu),
-      q(3878) => q(lev),
-      q(3879) => q(lew),
-      q(3880) => q(lex),
-      q(3881) => q(ley),
-      q(3882) => q(lfa),
-      q(3883) => q(lfn),
-      q(3884) => q(lga),
-      q(3885) => q(lgb),
-      q(3886) => q(lgg),
-      q(3887) => q(lgh),
-      q(3888) => q(lgi),
-      q(3889) => q(lgk),
-      q(3890) => q(lgl),
-      q(3891) => q(lgm),
-      q(3892) => q(lgn),
-      q(3893) => q(lgq),
-      q(3894) => q(lgr),
-      q(3895) => q(lgt),
-      q(3896) => q(lgu),
-      q(3897) => q(lgz),
-      q(3898) => q(lha),
-      q(3899) => q(lhh),
-      q(3900) => q(lhi),
-      q(3901) => q(lhl),
-      q(3902) => q(lhm),
-      q(3903) => q(lhn),
-      q(3904) => q(lhp),
-      q(3905) => q(lhs),
-      q(3906) => q(lht),
-      q(3907) => q(lhu),
-      q(3908) => q(lia),
-      q(3909) => q(lib),
-      q(3910) => q(lic),
-      q(3911) => q(lid),
-      q(3912) => q(lie),
-      q(3913) => q(lif),
-      q(3914) => q(lig),
-      q(3915) => q(lih),
-      q(3916) => q(lij),
-      q(3917) => q(lik),
-      q(3918) => q(lil),
-      q(3919) => q(lio),
-      q(3920) => q(lip),
-      q(3921) => q(liq),
-      q(3922) => q(lir),
-      q(3923) => q(lis),
-      q(3924) => q(liu),
-      q(3925) => q(liv),
-      q(3926) => q(liw),
-      q(3927) => q(lix),
-      q(3928) => q(liy),
-      q(3929) => q(liz),
-      q(3930) => q(lja),
-      q(3931) => q(lje),
-      q(3932) => q(lji),
-      q(3933) => q(ljl),
-      q(3934) => q(ljp),
-      q(3935) => q(ljw),
-      q(3936) => q(ljx),
-      q(3937) => q(lka),
-      q(3938) => q(lkb),
-      q(3939) => q(lkc),
-      q(3940) => q(lkd),
-      q(3941) => q(lke),
-      q(3942) => q(lkh),
-      q(3943) => q(lki),
-      q(3944) => q(lkj),
-      q(3945) => q(lkl),
-      q(3946) => q(lkm),
-      q(3947) => q(lkn),
-      q(3948) => q(lko),
-      q(3949) => q(lkr),
-      q(3950) => q(lks),
-      q(3951) => q(lkt),
-      q(3952) => q(lku),
-      q(3953) => q(lky),
-      q(3954) => q(lla),
-      q(3955) => q(llb),
-      q(3956) => q(llc),
-      q(3957) => q(lld),
-      q(3958) => q(lle),
-      q(3959) => q(llf),
-      q(3960) => q(llg),
-      q(3961) => q(llh),
-      q(3962) => q(lli),
-      q(3963) => q(llj),
-      q(3964) => q(llk),
-      q(3965) => q(lll),
-      q(3966) => q(llm),
-      q(3967) => q(lln),
-      q(3968) => q(llo),
-      q(3969) => q(llp),
-      q(3970) => q(llq),
-      q(3971) => q(lls),
-      q(3972) => q(llu),
-      q(3973) => q(llx),
-      q(3974) => q(lma),
-      q(3975) => q(lmb),
-      q(3976) => q(lmc),
-      q(3977) => q(lmd),
-      q(3978) => q(lme),
-      q(3979) => q(lmf),
-      q(3980) => q(lmg),
-      q(3981) => q(lmh),
-      q(3982) => q(lmi),
-      q(3983) => q(lmj),
-      q(3984) => q(lmk),
-      q(3985) => q(lml),
-      q(3986) => q(lmn),
-      q(3987) => q(lmo),
-      q(3988) => q(lmp),
-      q(3989) => q(lmq),
-      q(3990) => q(lmr),
-      q(3991) => q(lmu),
-      q(3992) => q(lmv),
-      q(3993) => q(lmw),
-      q(3994) => q(lmx),
-      q(3995) => q(lmy),
-      q(3996) => q(lmz),
-      q(3997) => q(lna),
-      q(3998) => q(lnb),
-      q(3999) => q(lnd),
-      q(4000) => q(lng),
-      q(4001) => q(lnh),
-      q(4002) => q(lni),
-      q(4003) => q(lnj),
-      q(4004) => q(lnl),
-      q(4005) => q(lnm),
-      q(4006) => q(lnn),
-      q(4007) => q(lno),
-      q(4008) => q(lns),
-      q(4009) => q(lnu),
-      q(4010) => q(lnw),
-      q(4011) => q(lnz),
-      q(4012) => q(loa),
-      q(4013) => q(lob),
-      q(4014) => q(loc),
-      q(4015) => q(loe),
-      q(4016) => q(lof),
-      q(4017) => q(log),
-      q(4018) => q(loh),
-      q(4019) => q(loi),
-      q(4020) => q(loj),
-      q(4021) => q(lok),
-      q(4022) => q(lom),
-      q(4023) => q(lon),
-      q(4024) => q(loo),
-      q(4025) => q(lop),
-      q(4026) => q(loq),
-      q(4027) => q(lor),
-      q(4028) => q(los),
-      q(4029) => q(lot),
-      q(4030) => q(lou),
-      q(4031) => q(lov),
-      q(4032) => q(low),
-      q(4033) => q(lox),
-      q(4034) => q(loy),
-      q(4035) => q(lpa),
-      q(4036) => q(lpe),
-      q(4037) => q(lpn),
-      q(4038) => q(lpo),
-      q(4039) => q(lpx),
-      q(4040) => q(lra),
-      q(4041) => q(lrc),
-      q(4042) => q(lre),
-      q(4043) => q(lrg),
-      q(4044) => q(lri),
-      q(4045) => q(lrk),
-      q(4046) => q(lrl),
-      q(4047) => q(lrm),
-      q(4048) => q(lrn),
-      q(4049) => q(lro),
-      q(4050) => q(lrr),
-      q(4051) => q(lrt),
-      q(4052) => q(lrv),
-      q(4053) => q(lrz),
-      q(4054) => q(lsa),
-      q(4055) => q(lsd),
-      q(4056) => q(lse),
-      q(4057) => q(lsg),
-      q(4058) => q(lsh),
-      q(4059) => q(lsi),
-      q(4060) => q(lsl),
-      q(4061) => q(lsm),
-      q(4062) => q(lso),
-      q(4063) => q(lsp),
-      q(4064) => q(lsr),
-      q(4065) => q(lss),
-      q(4066) => q(lst),
-      q(4067) => q(lsy),
-      q(4068) => q(ltc),
-      q(4069) => q(ltg),
-      q(4070) => q(lti),
-      q(4071) => q(ltn),
-      q(4072) => q(lto),
-      q(4073) => q(lts),
-      q(4074) => q(ltu),
-      q(4075) => q(luc),
-      q(4076) => q(lud),
-      q(4077) => q(lue),
-      q(4078) => q(luf),
-      q(4079) => q(luj),
-      q(4080) => q(luk),
-      q(4081) => q(lul),
-      q(4082) => q(lum),
-      q(4083) => q(lup),
-      q(4084) => q(luq),
-      q(4085) => q(lur),
-      q(4086) => q(lut),
-      q(4087) => q(luu),
-      q(4088) => q(luv),
-      q(4089) => q(luw),
-      q(4090) => q(luy),
-      q(4091) => q(luz),
-      q(4092) => q(lva),
-      q(4093) => q(lvk),
-      q(4094) => q(lvs),
-      q(4095) => q(lvu),
-      q(4096) => q(lwa),
-      q(4097) => q(lwe),
-      q(4098) => q(lwg),
-      q(4099) => q(lwh),
-      q(4100) => q(lwl),
-      q(4101) => q(lwm),
-      q(4102) => q(lwo),
-      q(4103) => q(lwt),
-      q(4104) => q(lwu),
-      q(4105) => q(lww),
-      q(4106) => q(lya),
-      q(4107) => q(lyg),
-      q(4108) => q(lyn),
-      q(4109) => q(lzh),
-      q(4110) => q(lzl),
-      q(4111) => q(lzn),
-      q(4112) => q(lzz),
-      q(4113) => q(maa),
-      q(4114) => q(mab),
-      q(4115) => q(mae),
-      q(4116) => q(maf),
-      q(4117) => q(maj),
-      q(4118) => q(mam),
-      q(4119) => q(maq),
-      q(4120) => q(mat),
-      q(4121) => q(mau),
-      q(4122) => q(mav),
-      q(4123) => q(maw),
-      q(4124) => q(max),
-      q(4125) => q(maz),
-      q(4126) => q(mba),
-      q(4127) => q(mbb),
-      q(4128) => q(mbc),
-      q(4129) => q(mbd),
-      q(4130) => q(mbe),
-      q(4131) => q(mbf),
-      q(4132) => q(mbh),
-      q(4133) => q(mbi),
-      q(4134) => q(mbj),
-      q(4135) => q(mbk),
-      q(4136) => q(mbl),
-      q(4137) => q(mbm),
-      q(4138) => q(mbn),
-      q(4139) => q(mbo),
-      q(4140) => q(mbp),
-      q(4141) => q(mbq),
-      q(4142) => q(mbr),
-      q(4143) => q(mbs),
-      q(4144) => q(mbt),
-      q(4145) => q(mbu),
-      q(4146) => q(mbv),
-      q(4147) => q(mbw),
-      q(4148) => q(mbx),
-      q(4149) => q(mby),
-      q(4150) => q(mbz),
-      q(4151) => q(mca),
-      q(4152) => q(mcb),
-      q(4153) => q(mcc),
-      q(4154) => q(mcd),
-      q(4155) => q(mce),
-      q(4156) => q(mcf),
-      q(4157) => q(mcg),
-      q(4158) => q(mch),
-      q(4159) => q(mci),
-      q(4160) => q(mcj),
-      q(4161) => q(mck),
-      q(4162) => q(mcl),
-      q(4163) => q(mcm),
-      q(4164) => q(mcn),
-      q(4165) => q(mco),
-      q(4166) => q(mcp),
-      q(4167) => q(mcq),
-      q(4168) => q(mcr),
-      q(4169) => q(mcs),
-      q(4170) => q(mct),
-      q(4171) => q(mcu),
-      q(4172) => q(mcv),
-      q(4173) => q(mcw),
-      q(4174) => q(mcx),
-      q(4175) => q(mcy),
-      q(4176) => q(mcz),
-      q(4177) => q(mda),
-      q(4178) => q(mdb),
-      q(4179) => q(mdc),
-      q(4180) => q(mdd),
-      q(4181) => q(mde),
-      q(4182) => q(mdg),
-      q(4183) => q(mdh),
-      q(4184) => q(mdi),
-      q(4185) => q(mdj),
-      q(4186) => q(mdk),
-      q(4187) => q(mdl),
-      q(4188) => q(mdm),
-      q(4189) => q(mdn),
-      q(4190) => q(mdp),
-      q(4191) => q(mdq),
-      q(4192) => q(mds),
-      q(4193) => q(mdt),
-      q(4194) => q(mdu),
-      q(4195) => q(mdv),
-      q(4196) => q(mdw),
-      q(4197) => q(mdx),
-      q(4198) => q(mdy),
-      q(4199) => q(mdz),
-      q(4200) => q(mea),
-      q(4201) => q(meb),
-      q(4202) => q(mec),
-      q(4203) => q(med),
-      q(4204) => q(mee),
-      q(4205) => q(mef),
-      q(4206) => q(meh),
-      q(4207) => q(mei),
-      q(4208) => q(mej),
-      q(4209) => q(mek),
-      q(4210) => q(mel),
-      q(4211) => q(mem),
-      q(4212) => q(meo),
-      q(4213) => q(mep),
-      q(4214) => q(meq),
-      q(4215) => q(mer),
-      q(4216) => q(mes),
-      q(4217) => q(met),
-      q(4218) => q(meu),
-      q(4219) => q(mev),
-      q(4220) => q(mew),
-      q(4221) => q(mey),
-      q(4222) => q(mez),
-      q(4223) => q(mfa),
-      q(4224) => q(mfb),
-      q(4225) => q(mfc),
-      q(4226) => q(mfd),
-      q(4227) => q(mfe),
-      q(4228) => q(mff),
-      q(4229) => q(mfg),
-      q(4230) => q(mfh),
-      q(4231) => q(mfi),
-      q(4232) => q(mfj),
-      q(4233) => q(mfk),
-      q(4234) => q(mfl),
-      q(4235) => q(mfm),
-      q(4236) => q(mfn),
-      q(4237) => q(mfo),
-      q(4238) => q(mfp),
-      q(4239) => q(mfq),
-      q(4240) => q(mfr),
-      q(4241) => q(mfs),
-      q(4242) => q(mft),
-      q(4243) => q(mfu),
-      q(4244) => q(mfv),
-      q(4245) => q(mfw),
-      q(4246) => q(mfx),
-      q(4247) => q(mfy),
-      q(4248) => q(mfz),
-      q(4249) => q(mgb),
-      q(4250) => q(mgc),
-      q(4251) => q(mgd),
-      q(4252) => q(mge),
-      q(4253) => q(mgf),
-      q(4254) => q(mgg),
-      q(4255) => q(mgh),
-      q(4256) => q(mgi),
-      q(4257) => q(mgj),
-      q(4258) => q(mgk),
-      q(4259) => q(mgl),
-      q(4260) => q(mgm),
-      q(4261) => q(mgn),
-      q(4262) => q(mgo),
-      q(4263) => q(mgp),
-      q(4264) => q(mgq),
-      q(4265) => q(mgr),
-      q(4266) => q(mgs),
-      q(4267) => q(mgt),
-      q(4268) => q(mgu),
-      q(4269) => q(mgv),
-      q(4270) => q(mgw),
-      q(4271) => q(mgy),
-      q(4272) => q(mgz),
-      q(4273) => q(mha),
-      q(4274) => q(mhb),
-      q(4275) => q(mhc),
-      q(4276) => q(mhd),
-      q(4277) => q(mhe),
-      q(4278) => q(mhf),
-      q(4279) => q(mhg),
-      q(4280) => q(mhi),
-      q(4281) => q(mhj),
-      q(4282) => q(mhk),
-      q(4283) => q(mhl),
-      q(4284) => q(mhm),
-      q(4285) => q(mhn),
-      q(4286) => q(mho),
-      q(4287) => q(mhp),
-      q(4288) => q(mhq),
-      q(4289) => q(mhr),
-      q(4290) => q(mhs),
-      q(4291) => q(mht),
-      q(4292) => q(mhu),
-      q(4293) => q(mhw),
-      q(4294) => q(mhx),
-      q(4295) => q(mhy),
-      q(4296) => q(mhz),
-      q(4297) => q(mia),
-      q(4298) => q(mib),
-      q(4299) => q(mid),
-      q(4300) => q(mie),
-      q(4301) => q(mif),
-      q(4302) => q(mig),
-      q(4303) => q(mih),
-      q(4304) => q(mii),
-      q(4305) => q(mij),
-      q(4306) => q(mik),
-      q(4307) => q(mil),
-      q(4308) => q(mim),
-      q(4309) => q(mio),
-      q(4310) => q(mip),
-      q(4311) => q(miq),
-      q(4312) => q(mir),
-      q(4313) => q(mit),
-      q(4314) => q(miu),
-      q(4315) => q(miw),
-      q(4316) => q(mix),
-      q(4317) => q(miy),
-      q(4318) => q(miz),
-      q(4319) => q(mjc),
-      q(4320) => q(mjd),
-      q(4321) => q(mje),
-      q(4322) => q(mjg),
-      q(4323) => q(mjh),
-      q(4324) => q(mji),
-      q(4325) => q(mjj),
-      q(4326) => q(mjk),
-      q(4327) => q(mjl),
-      q(4328) => q(mjm),
-      q(4329) => q(mjn),
-      q(4330) => q(mjo),
-      q(4331) => q(mjp),
-      q(4332) => q(mjq),
-      q(4333) => q(mjr),
-      q(4334) => q(mjs),
-      q(4335) => q(mjt),
-      q(4336) => q(mju),
-      q(4337) => q(mjv),
-      q(4338) => q(mjw),
-      q(4339) => q(mjx),
-      q(4340) => q(mjy),
-      q(4341) => q(mjz),
-      q(4342) => q(mka),
-      q(4343) => q(mkb),
-      q(4344) => q(mkc),
-      q(4345) => q(mke),
-      q(4346) => q(mkf),
-      q(4347) => q(mkg),
-      q(4348) => q(mki),
-      q(4349) => q(mkj),
-      q(4350) => q(mkk),
-      q(4351) => q(mkl),
-      q(4352) => q(mkm),
-      q(4353) => q(mkn),
-      q(4354) => q(mko),
-      q(4355) => q(mkp),
-      q(4356) => q(mkq),
-      q(4357) => q(mkr),
-      q(4358) => q(mks),
-      q(4359) => q(mkt),
-      q(4360) => q(mku),
-      q(4361) => q(mkv),
-      q(4362) => q(mkw),
-      q(4363) => q(mkx),
-      q(4364) => q(mky),
-      q(4365) => q(mkz),
-      q(4366) => q(mla),
-      q(4367) => q(mlb),
-      q(4368) => q(mlc),
-      q(4369) => q(mle),
-      q(4370) => q(mlf),
-      q(4371) => q(mlh),
-      q(4372) => q(mli),
-      q(4373) => q(mlj),
-      q(4374) => q(mlk),
-      q(4375) => q(mll),
-      q(4376) => q(mlm),
-      q(4377) => q(mln),
-      q(4378) => q(mlo),
-      q(4379) => q(mlp),
-      q(4380) => q(mlq),
-      q(4381) => q(mlr),
-      q(4382) => q(mls),
-      q(4383) => q(mlu),
-      q(4384) => q(mlv),
-      q(4385) => q(mlw),
-      q(4386) => q(mlx),
-      q(4387) => q(mlz),
-      q(4388) => q(mma),
-      q(4389) => q(mmb),
-      q(4390) => q(mmc),
-      q(4391) => q(mmd),
-      q(4392) => q(mme),
-      q(4393) => q(mmf),
-      q(4394) => q(mmg),
-      q(4395) => q(mmh),
-      q(4396) => q(mmi),
-      q(4397) => q(mmj),
-      q(4398) => q(mmk),
-      q(4399) => q(mml),
-      q(4400) => q(mmm),
-      q(4401) => q(mmn),
-      q(4402) => q(mmo),
-      q(4403) => q(mmp),
-      q(4404) => q(mmq),
-      q(4405) => q(mmr),
-      q(4406) => q(mmt),
-      q(4407) => q(mmu),
-      q(4408) => q(mmv),
-      q(4409) => q(mmw),
-      q(4410) => q(mmx),
-      q(4411) => q(mmy),
-      q(4412) => q(mmz),
-      q(4413) => q(mna),
-      q(4414) => q(mnb),
-      q(4415) => q(mnd),
-      q(4416) => q(mne),
-      q(4417) => q(mnf),
-      q(4418) => q(mng),
-      q(4419) => q(mnh),
-      q(4420) => q(mnj),
-      q(4421) => q(mnk),
-      q(4422) => q(mnl),
-      q(4423) => q(mnm),
-      q(4424) => q(mnn),
-      q(4425) => q(mnp),
-      q(4426) => q(mnq),
-      q(4427) => q(mnr),
-      q(4428) => q(mns),
-      q(4429) => q(mnu),
-      q(4430) => q(mnv),
-      q(4431) => q(mnw),
-      q(4432) => q(mnx),
-      q(4433) => q(mny),
-      q(4434) => q(mnz),
-      q(4435) => q(moa),
-      q(4436) => q(moc),
-      q(4437) => q(mod),
-      q(4438) => q(moe),
-      q(4439) => q(mog),
-      q(4440) => q(moi),
-      q(4441) => q(moj),
-      q(4442) => q(mok),
-      q(4443) => q(mom),
-      q(4444) => q(moo),
-      q(4445) => q(mop),
-      q(4446) => q(moq),
-      q(4447) => q(mor),
-      q(4448) => q(mou),
-      q(4449) => q(mov),
-      q(4450) => q(mow),
-      q(4451) => q(mox),
-      q(4452) => q(moy),
-      q(4453) => q(moz),
-      q(4454) => q(mpa),
-      q(4455) => q(mpb),
-      q(4456) => q(mpc),
-      q(4457) => q(mpd),
-      q(4458) => q(mpe),
-      q(4459) => q(mpg),
-      q(4460) => q(mph),
-      q(4461) => q(mpi),
-      q(4462) => q(mpj),
-      q(4463) => q(mpk),
-      q(4464) => q(mpl),
-      q(4465) => q(mpm),
-      q(4466) => q(mpn),
-      q(4467) => q(mpo),
-      q(4468) => q(mpp),
-      q(4469) => q(mpq),
-      q(4470) => q(mpr),
-      q(4471) => q(mps),
-      q(4472) => q(mpt),
-      q(4473) => q(mpu),
-      q(4474) => q(mpv),
-      q(4475) => q(mpw),
-      q(4476) => q(mpx),
-      q(4477) => q(mpy),
-      q(4478) => q(mpz),
-      q(4479) => q(mqa),
-      q(4480) => q(mqb),
-      q(4481) => q(mqc),
-      q(4482) => q(mqe),
-      q(4483) => q(mqf),
-      q(4484) => q(mqg),
-      q(4485) => q(mqh),
-      q(4486) => q(mqi),
-      q(4487) => q(mqj),
-      q(4488) => q(mqk),
-      q(4489) => q(mql),
-      q(4490) => q(mqm),
-      q(4491) => q(mqn),
-      q(4492) => q(mqo),
-      q(4493) => q(mqp),
-      q(4494) => q(mqq),
-      q(4495) => q(mqr),
-      q(4496) => q(mqs),
-      q(4497) => q(mqt),
-      q(4498) => q(mqu),
-      q(4499) => q(mqv),
-      q(4500) => q(mqw),
-      q(4501) => q(mqx),
-      q(4502) => q(mqy),
-      q(4503) => q(mqz),
-      q(4504) => q(mra),
-      q(4505) => q(mrb),
-      q(4506) => q(mrc),
-      q(4507) => q(mrd),
-      q(4508) => q(mre),
-      q(4509) => q(mrf),
-      q(4510) => q(mrg),
-      q(4511) => q(mrh),
-      q(4512) => q(mrj),
-      q(4513) => q(mrk),
-      q(4514) => q(mrl),
-      q(4515) => q(mrm),
-      q(4516) => q(mrn),
-      q(4517) => q(mro),
-      q(4518) => q(mrp),
-      q(4519) => q(mrq),
-      q(4520) => q(mrr),
-      q(4521) => q(mrs),
-      q(4522) => q(mrt),
-      q(4523) => q(mru),
-      q(4524) => q(mrv),
-      q(4525) => q(mrw),
-      q(4526) => q(mrx),
-      q(4527) => q(mry),
-      q(4528) => q(mrz),
-      q(4529) => q(msb),
-      q(4530) => q(msc),
-      q(4531) => q(msd),
-      q(4532) => q(mse),
-      q(4533) => q(msf),
-      q(4534) => q(msg),
-      q(4535) => q(msh),
-      q(4536) => q(msi),
-      q(4537) => q(msj),
-      q(4538) => q(msk),
-      q(4539) => q(msl),
-      q(4540) => q(msm),
-      q(4541) => q(msn),
-      q(4542) => q(mso),
-      q(4543) => q(msp),
-      q(4544) => q(msq),
-      q(4545) => q(msr),
-      q(4546) => q(mss),
-      q(4547) => q(msu),
-      q(4548) => q(msv),
-      q(4549) => q(msw),
-      q(4550) => q(msx),
-      q(4551) => q(msy),
-      q(4552) => q(msz),
-      q(4553) => q(mta),
-      q(4554) => q(mtb),
-      q(4555) => q(mtc),
-      q(4556) => q(mtd),
-      q(4557) => q(mte),
-      q(4558) => q(mtf),
-      q(4559) => q(mtg),
-      q(4560) => q(mth),
-      q(4561) => q(mti),
-      q(4562) => q(mtj),
-      q(4563) => q(mtk),
-      q(4564) => q(mtl),
-      q(4565) => q(mtm),
-      q(4566) => q(mtn),
-      q(4567) => q(mto),
-      q(4568) => q(mtp),
-      q(4569) => q(mtq),
-      q(4570) => q(mtr),
-      q(4571) => q(mts),
-      q(4572) => q(mtt),
-      q(4573) => q(mtu),
-      q(4574) => q(mtv),
-      q(4575) => q(mtw),
-      q(4576) => q(mtx),
-      q(4577) => q(mty),
-      q(4578) => q(mua),
-      q(4579) => q(mub),
-      q(4580) => q(muc),
-      q(4581) => q(mud),
-      q(4582) => q(mue),
-      q(4583) => q(mug),
-      q(4584) => q(muh),
-      q(4585) => q(mui),
-      q(4586) => q(muj),
-      q(4587) => q(muk),
-      q(4588) => q(mum),
-      q(4589) => q(muo),
-      q(4590) => q(mup),
-      q(4591) => q(muq),
-      q(4592) => q(mur),
-      q(4593) => q(mut),
-      q(4594) => q(muu),
-      q(4595) => q(muv),
-      q(4596) => q(mux),
-      q(4597) => q(muy),
-      q(4598) => q(muz),
-      q(4599) => q(mva),
-      q(4600) => q(mvb),
-      q(4601) => q(mvd),
-      q(4602) => q(mve),
-      q(4603) => q(mvf),
-      q(4604) => q(mvg),
-      q(4605) => q(mvh),
-      q(4606) => q(mvi),
-      q(4607) => q(mvk),
-      q(4608) => q(mvl),
-      q(4609) => q(mvm),
-      q(4610) => q(mvn),
-      q(4611) => q(mvo),
-      q(4612) => q(mvp),
-      q(4613) => q(mvq),
-      q(4614) => q(mvr),
-      q(4615) => q(mvs),
-      q(4616) => q(mvt),
-      q(4617) => q(mvu),
-      q(4618) => q(mvv),
-      q(4619) => q(mvw),
-      q(4620) => q(mvx),
-      q(4621) => q(mvy),
-      q(4622) => q(mvz),
-      q(4623) => q(mwa),
-      q(4624) => q(mwb),
-      q(4625) => q(mwc),
-      q(4626) => q(mwe),
-      q(4627) => q(mwf),
-      q(4628) => q(mwg),
-      q(4629) => q(mwh),
-      q(4630) => q(mwi),
-      q(4631) => q(mwk),
-      q(4632) => q(mwm),
-      q(4633) => q(mwn),
-      q(4634) => q(mwo),
-      q(4635) => q(mwp),
-      q(4636) => q(mwq),
-      q(4637) => q(mws),
-      q(4638) => q(mwt),
-      q(4639) => q(mwu),
-      q(4640) => q(mwv),
-      q(4641) => q(mww),
-      q(4642) => q(mwx),
-      q(4643) => q(mwy),
-      q(4644) => q(mwz),
-      q(4645) => q(mxa),
-      q(4646) => q(mxb),
-      q(4647) => q(mxc),
-      q(4648) => q(mxd),
-      q(4649) => q(mxe),
-      q(4650) => q(mxf),
-      q(4651) => q(mxg),
-      q(4652) => q(mxh),
-      q(4653) => q(mxi),
-      q(4654) => q(mxj),
-      q(4655) => q(mxk),
-      q(4656) => q(mxl),
-      q(4657) => q(mxm),
-      q(4658) => q(mxn),
-      q(4659) => q(mxo),
-      q(4660) => q(mxp),
-      q(4661) => q(mxq),
-      q(4662) => q(mxr),
-      q(4663) => q(mxs),
-      q(4664) => q(mxt),
-      q(4665) => q(mxu),
-      q(4666) => q(mxv),
-      q(4667) => q(mxw),
-      q(4668) => q(mxx),
-      q(4669) => q(mxy),
-      q(4670) => q(mxz),
-      q(4671) => q(myb),
-      q(4672) => q(myc),
-      q(4673) => q(myd),
-      q(4674) => q(mye),
-      q(4675) => q(myf),
-      q(4676) => q(myg),
-      q(4677) => q(myh),
-      q(4678) => q(myi),
-      q(4679) => q(myj),
-      q(4680) => q(myk),
-      q(4681) => q(myl),
-      q(4682) => q(mym),
-      q(4683) => q(myo),
-      q(4684) => q(myp),
-      q(4685) => q(myr),
-      q(4686) => q(mys),
-      q(4687) => q(myu),
-      q(4688) => q(myw),
-      q(4689) => q(myx),
-      q(4690) => q(myy),
-      q(4691) => q(myz),
-      q(4692) => q(mza),
-      q(4693) => q(mzb),
-      q(4694) => q(mzc),
-      q(4695) => q(mzd),
-      q(4696) => q(mze),
-      q(4697) => q(mzg),
-      q(4698) => q(mzh),
-      q(4699) => q(mzi),
-      q(4700) => q(mzj),
-      q(4701) => q(mzk),
-      q(4702) => q(mzl),
-      q(4703) => q(mzm),
-      q(4704) => q(mzn),
-      q(4705) => q(mzo),
-      q(4706) => q(mzp),
-      q(4707) => q(mzq),
-      q(4708) => q(mzr),
-      q(4709) => q(mzs),
-      q(4710) => q(mzt),
-      q(4711) => q(mzu),
-      q(4712) => q(mzv),
-      q(4713) => q(mzw),
-      q(4714) => q(mzx),
-      q(4715) => q(mzy),
-      q(4716) => q(mzz),
-      q(4717) => q(naa),
-      q(4718) => q(nab),
-      q(4719) => q(nac),
-      q(4720) => q(nad),
-      q(4721) => q(nae),
-      q(4722) => q(naf),
-      q(4723) => q(nag),
-      q(4724) => q(naj),
-      q(4725) => q(nak),
-      q(4726) => q(nal),
-      q(4727) => q(nam),
-      q(4728) => q(nan),
-      q(4729) => q(nao),
-      q(4730) => q(naq),
-      q(4731) => q(nar),
-      q(4732) => q(nas),
-      q(4733) => q(nat),
-      q(4734) => q(naw),
-      q(4735) => q(nax),
-      q(4736) => q(nay),
-      q(4737) => q(naz),
-      q(4738) => q(nba),
-      q(4739) => q(nbb),
-      q(4740) => q(nbc),
-      q(4741) => q(nbd),
-      q(4742) => q(nbe),
-      q(4743) => q(nbg),
-      q(4744) => q(nbh),
-      q(4745) => q(nbi),
-      q(4746) => q(nbj),
-      q(4747) => q(nbk),
-      q(4748) => q(nbm),
-      q(4749) => q(nbn),
-      q(4750) => q(nbo),
-      q(4751) => q(nbp),
-      q(4752) => q(nbq),
-      q(4753) => q(nbr),
-      q(4754) => q(nbs),
-      q(4755) => q(nbt),
-      q(4756) => q(nbu),
-      q(4757) => q(nbv),
-      q(4758) => q(nbw),
-      q(4759) => q(nby),
-      q(4760) => q(nca),
-      q(4761) => q(ncb),
-      q(4762) => q(ncc),
-      q(4763) => q(ncd),
-      q(4764) => q(nce),
-      q(4765) => q(ncf),
-      q(4766) => q(ncg),
-      q(4767) => q(nch),
-      q(4768) => q(nci),
-      q(4769) => q(ncj),
-      q(4770) => q(nck),
-      q(4771) => q(ncl),
-      q(4772) => q(ncm),
-      q(4773) => q(ncn),
-      q(4774) => q(nco),
-      q(4775) => q(ncp),
-      q(4776) => q(ncr),
-      q(4777) => q(ncs),
-      q(4778) => q(nct),
-      q(4779) => q(ncu),
-      q(4780) => q(ncx),
-      q(4781) => q(ncz),
-      q(4782) => q(nda),
-      q(4783) => q(ndb),
-      q(4784) => q(ndc),
-      q(4785) => q(ndd),
-      q(4786) => q(ndf),
-      q(4787) => q(ndg),
-      q(4788) => q(ndh),
-      q(4789) => q(ndi),
-      q(4790) => q(ndj),
-      q(4791) => q(ndk),
-      q(4792) => q(ndl),
-      q(4793) => q(ndm),
-      q(4794) => q(ndn),
-      q(4795) => q(ndp),
-      q(4796) => q(ndq),
-      q(4797) => q(ndr),
-      q(4798) => q(ndt),
-      q(4799) => q(ndu),
-      q(4800) => q(ndv),
-      q(4801) => q(ndw),
-      q(4802) => q(ndx),
-      q(4803) => q(ndy),
-      q(4804) => q(ndz),
-      q(4805) => q(nea),
-      q(4806) => q(neb),
-      q(4807) => q(nec),
-      q(4808) => q(ned),
-      q(4809) => q(nee),
-      q(4810) => q(nef),
-      q(4811) => q(neg),
-      q(4812) => q(neh),
-      q(4813) => q(nei),
-      q(4814) => q(nej),
-      q(4815) => q(nek),
-      q(4816) => q(nem),
-      q(4817) => q(nen),
-      q(4818) => q(neo),
-      q(4819) => q(neq),
-      q(4820) => q(ner),
-      q(4821) => q(nes),
-      q(4822) => q(net),
-      q(4823) => q(neu),
-      q(4824) => q(nev),
-      q(4825) => q(nex),
-      q(4826) => q(ney),
-      q(4827) => q(nez),
-      q(4828) => q(nfa),
-      q(4829) => q(nfd),
-      q(4830) => q(nfl),
-      q(4831) => q(nfr),
-      q(4832) => q(nfu),
-      q(4833) => q(nga),
-      q(4834) => q(ngb),
-      q(4835) => q(ngc),
-      q(4836) => q(ngd),
-      q(4837) => q(nge),
-      q(4838) => q(ngg),
-      q(4839) => q(ngh),
-      q(4840) => q(ngi),
-      q(4841) => q(ngj),
-      q(4842) => q(ngk),
-      q(4843) => q(ngl),
-      q(4844) => q(ngm),
-      q(4845) => q(ngn),
-      q(4846) => q(ngo),
-      q(4847) => q(ngp),
-      q(4848) => q(ngq),
-      q(4849) => q(ngr),
-      q(4850) => q(ngs),
-      q(4851) => q(ngt),
-      q(4852) => q(ngu),
-      q(4853) => q(ngv),
-      q(4854) => q(ngw),
-      q(4855) => q(ngx),
-      q(4856) => q(ngy),
-      q(4857) => q(ngz),
-      q(4858) => q(nha),
-      q(4859) => q(nhb),
-      q(4860) => q(nhc),
-      q(4861) => q(nhd),
-      q(4862) => q(nhe),
-      q(4863) => q(nhf),
-      q(4864) => q(nhg),
-      q(4865) => q(nhh),
-      q(4866) => q(nhi),
-      q(4867) => q(nhk),
-      q(4868) => q(nhm),
-      q(4869) => q(nhn),
-      q(4870) => q(nho),
-      q(4871) => q(nhp),
-      q(4872) => q(nhq),
-      q(4873) => q(nhr),
-      q(4874) => q(nht),
-      q(4875) => q(nhu),
-      q(4876) => q(nhv),
-      q(4877) => q(nhw),
-      q(4878) => q(nhx),
-      q(4879) => q(nhy),
-      q(4880) => q(nhz),
-      q(4881) => q(nib),
-      q(4882) => q(nid),
-      q(4883) => q(nie),
-      q(4884) => q(nif),
-      q(4885) => q(nig),
-      q(4886) => q(nih),
-      q(4887) => q(nii),
-      q(4888) => q(nij),
-      q(4889) => q(nik),
-      q(4890) => q(nil),
-      q(4891) => q(nim),
-      q(4892) => q(nin),
-      q(4893) => q(nio),
-      q(4894) => q(niq),
-      q(4895) => q(nir),
-      q(4896) => q(nis),
-      q(4897) => q(nit),
-      q(4898) => q(niv),
-      q(4899) => q(niw),
-      q(4900) => q(nix),
-      q(4901) => q(niy),
-      q(4902) => q(niz),
-      q(4903) => q(nja),
-      q(4904) => q(njb),
-      q(4905) => q(njd),
-      q(4906) => q(njh),
-      q(4907) => q(nji),
-      q(4908) => q(njj),
-      q(4909) => q(njl),
-      q(4910) => q(njm),
-      q(4911) => q(njn),
-      q(4912) => q(njo),
-      q(4913) => q(njr),
-      q(4914) => q(njs),
-      q(4915) => q(njt),
-      q(4916) => q(nju),
-      q(4917) => q(njx),
-      q(4918) => q(njy),
-      q(4919) => q(njz),
-      q(4920) => q(nka),
-      q(4921) => q(nkb),
-      q(4922) => q(nkc),
-      q(4923) => q(nkd),
-      q(4924) => q(nke),
-      q(4925) => q(nkf),
-      q(4926) => q(nkg),
-      q(4927) => q(nkh),
-      q(4928) => q(nki),
-      q(4929) => q(nkj),
-      q(4930) => q(nkk),
-      q(4931) => q(nkm),
-      q(4932) => q(nkn),
-      q(4933) => q(nko),
-      q(4934) => q(nkp),
-      q(4935) => q(nkq),
-      q(4936) => q(nkr),
-      q(4937) => q(nks),
-      q(4938) => q(nkt),
-      q(4939) => q(nku),
-      q(4940) => q(nkv),
-      q(4941) => q(nkw),
-      q(4942) => q(nkx),
-      q(4943) => q(nkz),
-      q(4944) => q(nla),
-      q(4945) => q(nlc),
-      q(4946) => q(nle),
-      q(4947) => q(nlg),
-      q(4948) => q(nli),
-      q(4949) => q(nlj),
-      q(4950) => q(nlk),
-      q(4951) => q(nll),
-      q(4952) => q(nlo),
-      q(4953) => q(nlq),
-      q(4954) => q(nlu),
-      q(4955) => q(nlv),
-      q(4956) => q(nlw),
-      q(4957) => q(nlx),
-      q(4958) => q(nly),
-      q(4959) => q(nlz),
-      q(4960) => q(nma),
-      q(4961) => q(nmb),
-      q(4962) => q(nmc),
-      q(4963) => q(nmd),
-      q(4964) => q(nme),
-      q(4965) => q(nmf),
-      q(4966) => q(nmg),
-      q(4967) => q(nmh),
-      q(4968) => q(nmi),
-      q(4969) => q(nmj),
-      q(4970) => q(nmk),
-      q(4971) => q(nml),
-      q(4972) => q(nmm),
-      q(4973) => q(nmn),
-      q(4974) => q(nmo),
-      q(4975) => q(nmp),
-      q(4976) => q(nmq),
-      q(4977) => q(nmr),
-      q(4978) => q(nms),
-      q(4979) => q(nmt),
-      q(4980) => q(nmu),
-      q(4981) => q(nmv),
-      q(4982) => q(nmw),
-      q(4983) => q(nmx),
-      q(4984) => q(nmy),
-      q(4985) => q(nmz),
-      q(4986) => q(nna),
-      q(4987) => q(nnb),
-      q(4988) => q(nnc),
-      q(4989) => q(nnd),
-      q(4990) => q(nne),
-      q(4991) => q(nnf),
-      q(4992) => q(nng),
-      q(4993) => q(nnh),
-      q(4994) => q(nni),
-      q(4995) => q(nnj),
-      q(4996) => q(nnk),
-      q(4997) => q(nnl),
-      q(4998) => q(nnm),
-      q(4999) => q(nnn),
-      q(5000) => q(nnp),
-      q(5001) => q(nnq),
-      q(5002) => q(nnr),
-      q(5003) => q(nns),
-      q(5004) => q(nnt),
-      q(5005) => q(nnu),
-      q(5006) => q(nnv),
-      q(5007) => q(nnw),
-      q(5008) => q(nny),
-      q(5009) => q(nnz),
-      q(5010) => q(noa),
-      q(5011) => q(noc),
-      q(5012) => q(nod),
-      q(5013) => q(noe),
-      q(5014) => q(nof),
-      q(5015) => q(noh),
-      q(5016) => q(noi),
-      q(5017) => q(noj),
-      q(5018) => q(nok),
-      q(5019) => q(nol),
-      q(5020) => q(nom),
-      q(5021) => q(nop),
-      q(5022) => q(noq),
-      q(5023) => q(nos),
-      q(5024) => q(not),
-      q(5025) => q(nou),
-      q(5026) => q(nov),
-      q(5027) => q(now),
-      q(5028) => q(noy),
-      q(5029) => q(noz),
-      q(5030) => q(npa),
-      q(5031) => q(npb),
-      q(5032) => q(npg),
-      q(5033) => q(nph),
-      q(5034) => q(npi),
-      q(5035) => q(npl),
-      q(5036) => q(npn),
-      q(5037) => q(npo),
-      q(5038) => q(nps),
-      q(5039) => q(npu),
-      q(5040) => q(npy),
-      q(5041) => q(nqg),
-      q(5042) => q(nqk),
-      q(5043) => q(nqm),
-      q(5044) => q(nqn),
-      q(5045) => q(nqq),
-      q(5046) => q(nqy),
-      q(5047) => q(nra),
-      q(5048) => q(nrb),
-      q(5049) => q(nrc),
-      q(5050) => q(nre),
-      q(5051) => q(nrf),
-      q(5052) => q(nrg),
-      q(5053) => q(nri),
-      q(5054) => q(nrk),
-      q(5055) => q(nrl),
-      q(5056) => q(nrm),
-      q(5057) => q(nrn),
-      q(5058) => q(nrp),
-      q(5059) => q(nrr),
-      q(5060) => q(nrt),
-      q(5061) => q(nru),
-      q(5062) => q(nrx),
-      q(5063) => q(nrz),
-      q(5064) => q(nsa),
-      q(5065) => q(nsc),
-      q(5066) => q(nsd),
-      q(5067) => q(nse),
-      q(5068) => q(nsf),
-      q(5069) => q(nsg),
-      q(5070) => q(nsh),
-      q(5071) => q(nsi),
-      q(5072) => q(nsk),
-      q(5073) => q(nsl),
-      q(5074) => q(nsm),
-      q(5075) => q(nsn),
-      q(5076) => q(nsp),
-      q(5077) => q(nsq),
-      q(5078) => q(nsr),
-      q(5079) => q(nss),
-      q(5080) => q(nst),
-      q(5081) => q(nsu),
-      q(5082) => q(nsv),
-      q(5083) => q(nsw),
-      q(5084) => q(nsx),
-      q(5085) => q(nsy),
-      q(5086) => q(nsz),
-      q(5087) => q(nte),
-      q(5088) => q(ntg),
-      q(5089) => q(nti),
-      q(5090) => q(ntj),
-      q(5091) => q(ntk),
-      q(5092) => q(ntm),
-      q(5093) => q(nto),
-      q(5094) => q(ntp),
-      q(5095) => q(ntr),
-      q(5096) => q(nts),
-      q(5097) => q(ntu),
-      q(5098) => q(ntw),
-      q(5099) => q(ntx),
-      q(5100) => q(nty),
-      q(5101) => q(ntz),
-      q(5102) => q(nua),
-      q(5103) => q(nuc),
-      q(5104) => q(nud),
-      q(5105) => q(nue),
-      q(5106) => q(nuf),
-      q(5107) => q(nug),
-      q(5108) => q(nuh),
-      q(5109) => q(nui),
-      q(5110) => q(nuj),
-      q(5111) => q(nuk),
-      q(5112) => q(nul),
-      q(5113) => q(num),
-      q(5114) => q(nun),
-      q(5115) => q(nuo),
-      q(5116) => q(nup),
-      q(5117) => q(nuq),
-      q(5118) => q(nur),
-      q(5119) => q(nus),
-      q(5120) => q(nut),
-      q(5121) => q(nuu),
-      q(5122) => q(nuv),
-      q(5123) => q(nuw),
-      q(5124) => q(nux),
-      q(5125) => q(nuy),
-      q(5126) => q(nuz),
-      q(5127) => q(nvh),
-      q(5128) => q(nvm),
-      q(5129) => q(nvo),
-      q(5130) => q(nwa),
-      q(5131) => q(nwb),
-      q(5132) => q(nwe),
-      q(5133) => q(nwg),
-      q(5134) => q(nwi),
-      q(5135) => q(nwm),
-      q(5136) => q(nwo),
-      q(5137) => q(nwr),
-      q(5138) => q(nwx),
-      q(5139) => q(nwy),
-      q(5140) => q(nxa),
-      q(5141) => q(nxd),
-      q(5142) => q(nxe),
-      q(5143) => q(nxg),
-      q(5144) => q(nxi),
-      q(5145) => q(nxk),
-      q(5146) => q(nxl),
-      q(5147) => q(nxm),
-      q(5148) => q(nxn),
-      q(5149) => q(nxo),
-      q(5150) => q(nxq),
-      q(5151) => q(nxr),
-      q(5152) => q(nxu),
-      q(5153) => q(nxx),
-      q(5154) => q(nyb),
-      q(5155) => q(nyc),
-      q(5156) => q(nyd),
-      q(5157) => q(nye),
-      q(5158) => q(nyf),
-      q(5159) => q(nyg),
-      q(5160) => q(nyh),
-      q(5161) => q(nyi),
-      q(5162) => q(nyj),
-      q(5163) => q(nyk),
-      q(5164) => q(nyl),
-      q(5165) => q(nyp),
-      q(5166) => q(nyq),
-      q(5167) => q(nyr),
-      q(5168) => q(nys),
-      q(5169) => q(nyt),
-      q(5170) => q(nyu),
-      q(5171) => q(nyv),
-      q(5172) => q(nyw),
-      q(5173) => q(nyx),
-      q(5174) => q(nyy),
-      q(5175) => q(nza),
-      q(5176) => q(nzb),
-      q(5177) => q(nzk),
-      q(5178) => q(nzm),
-      q(5179) => q(nzs),
-      q(5180) => q(nzu),
-      q(5181) => q(nzy),
-      q(5182) => q(nzz),
-      q(5183) => q(oaa),
-      q(5184) => q(oac),
-      q(5185) => q(oar),
-      q(5186) => q(oav),
-      q(5187) => q(obi),
-      q(5188) => q(obk),
-      q(5189) => q(obl),
-      q(5190) => q(obm),
-      q(5191) => q(obo),
-      q(5192) => q(obr),
-      q(5193) => q(obt),
-      q(5194) => q(obu),
-      q(5195) => q(oca),
-      q(5196) => q(och),
-      q(5197) => q(oco),
-      q(5198) => q(ocu),
-      q(5199) => q(oda),
-      q(5200) => q(odk),
-      q(5201) => q(odt),
-      q(5202) => q(odu),
-      q(5203) => q(ofo),
-      q(5204) => q(ofs),
-      q(5205) => q(ofu),
-      q(5206) => q(ogb),
-      q(5207) => q(ogc),
-      q(5208) => q(oge),
-      q(5209) => q(ogg),
-      q(5210) => q(ogo),
-      q(5211) => q(ogu),
-      q(5212) => q(oht),
-      q(5213) => q(ohu),
-      q(5214) => q(oia),
-      q(5215) => q(oin),
-      q(5216) => q(ojb),
-      q(5217) => q(ojc),
-      q(5218) => q(ojg),
-      q(5219) => q(ojp),
-      q(5220) => q(ojs),
-      q(5221) => q(ojv),
-      q(5222) => q(ojw),
-      q(5223) => q(oka),
-      q(5224) => q(okb),
-      q(5225) => q(okd),
-      q(5226) => q(oke),
-      q(5227) => q(okg),
-      q(5228) => q(okh),
-      q(5229) => q(oki),
-      q(5230) => q(okj),
-      q(5231) => q(okk),
-      q(5232) => q(okl),
-      q(5233) => q(okm),
-      q(5234) => q(okn),
-      q(5235) => q(oko),
-      q(5236) => q(okr),
-      q(5237) => q(oks),
-      q(5238) => q(oku),
-      q(5239) => q(okv),
-      q(5240) => q(okx),
-      q(5241) => q(ola),
-      q(5242) => q(old),
-      q(5243) => q(ole),
-      q(5244) => q(olk),
-      q(5245) => q(olm),
-      q(5246) => q(olo),
-      q(5247) => q(olr),
-      q(5248) => q(olt),
-      q(5249) => q(oma),
-      q(5250) => q(omb),
-      q(5251) => q(omc),
-      q(5252) => q(ome),
-      q(5253) => q(omg),
-      q(5254) => q(omi),
-      q(5255) => q(omk),
-      q(5256) => q(oml),
-      q(5257) => q(omn),
-      q(5258) => q(omo),
-      q(5259) => q(omp),
-      q(5260) => q(omr),
-      q(5261) => q(omt),
-      q(5262) => q(omu),
-      q(5263) => q(omw),
-      q(5264) => q(omx),
-      q(5265) => q(ona),
-      q(5266) => q(onb),
-      q(5267) => q(one),
-      q(5268) => q(ong),
-      q(5269) => q(oni),
-      q(5270) => q(onj),
-      q(5271) => q(onk),
-      q(5272) => q(onn),
-      q(5273) => q(ono),
-      q(5274) => q(onp),
-      q(5275) => q(onr),
-      q(5276) => q(ons),
-      q(5277) => q(ont),
-      q(5278) => q(onu),
-      q(5279) => q(onw),
-      q(5280) => q(onx),
-      q(5281) => q(ood),
-      q(5282) => q(oog),
-      q(5283) => q(oon),
-      q(5284) => q(oor),
-      q(5285) => q(oos),
-      q(5286) => q(opa),
-      q(5287) => q(opk),
-      q(5288) => q(opm),
-      q(5289) => q(opo),
-      q(5290) => q(opt),
-      q(5291) => q(opy),
-      q(5292) => q(ora),
-      q(5293) => q(orc),
-      q(5294) => q(ore),
-      q(5295) => q(org),
-      q(5296) => q(orh),
-      q(5297) => q(orn),
-      q(5298) => q(oro),
-      q(5299) => q(orr),
-      q(5300) => q(ors),
-      q(5301) => q(ort),
-      q(5302) => q(oru),
-      q(5303) => q(orv),
-      q(5304) => q(orw),
-      q(5305) => q(orx),
-      q(5306) => q(ory),
-      q(5307) => q(orz),
-      q(5308) => q(osc),
-      q(5309) => q(osi),
-      q(5310) => q(oso),
-      q(5311) => q(osp),
-      q(5312) => q(ost),
-      q(5313) => q(osu),
-      q(5314) => q(osx),
-      q(5315) => q(otb),
-      q(5316) => q(otd),
-      q(5317) => q(ote),
-      q(5318) => q(oti),
-      q(5319) => q(otk),
-      q(5320) => q(otl),
-      q(5321) => q(otm),
-      q(5322) => q(otn),
-      q(5323) => q(otq),
-      q(5324) => q(otr),
-      q(5325) => q(ots),
-      q(5326) => q(ott),
-      q(5327) => q(otu),
-      q(5328) => q(otw),
-      q(5329) => q(otx),
-      q(5330) => q(oty),
-      q(5331) => q(otz),
-      q(5332) => q(oua),
-      q(5333) => q(oub),
-      q(5334) => q(oue),
-      q(5335) => q(oui),
-      q(5336) => q(oum),
-      q(5337) => q(owi),
-      q(5338) => q(owl),
-      q(5339) => q(oyb),
-      q(5340) => q(oyd),
-      q(5341) => q(oym),
-      q(5342) => q(oyy),
-      q(5343) => q(ozm),
-      q(5344) => q(pab),
-      q(5345) => q(pac),
-      q(5346) => q(pad),
-      q(5347) => q(pae),
-      q(5348) => q(paf),
-      q(5349) => q(pah),
-      q(5350) => q(pai),
-      q(5351) => q(pak),
-      q(5352) => q(pao),
-      q(5353) => q(paq),
-      q(5354) => q(par),
-      q(5355) => q(pas),
-      q(5356) => q(pat),
-      q(5357) => q(pav),
-      q(5358) => q(paw),
-      q(5359) => q(pax),
-      q(5360) => q(pay),
-      q(5361) => q(paz),
-      q(5362) => q(pbb),
-      q(5363) => q(pbc),
-      q(5364) => q(pbe),
-      q(5365) => q(pbf),
-      q(5366) => q(pbg),
-      q(5367) => q(pbh),
-      q(5368) => q(pbi),
-      q(5369) => q(pbl),
-      q(5370) => q(pbn),
-      q(5371) => q(pbo),
-      q(5372) => q(pbp),
-      q(5373) => q(pbr),
-      q(5374) => q(pbs),
-      q(5375) => q(pbt),
-      q(5376) => q(pbu),
-      q(5377) => q(pbv),
-      q(5378) => q(pby),
-      q(5379) => q(pca),
-      q(5380) => q(pcb),
-      q(5381) => q(pcc),
-      q(5382) => q(pcd),
-      q(5383) => q(pce),
-      q(5384) => q(pcf),
-      q(5385) => q(pcg),
-      q(5386) => q(pch),
-      q(5387) => q(pci),
-      q(5388) => q(pcj),
-      q(5389) => q(pck),
-      q(5390) => q(pcl),
-      q(5391) => q(pcm),
-      q(5392) => q(pcn),
-      q(5393) => q(pcp),
-      q(5394) => q(pcw),
-      q(5395) => q(pda),
-      q(5396) => q(pdc),
-      q(5397) => q(pdi),
-      q(5398) => q(pdn),
-      q(5399) => q(pdo),
-      q(5400) => q(pdt),
-      q(5401) => q(pdu),
-      q(5402) => q(pea),
-      q(5403) => q(peb),
-      q(5404) => q(ped),
-      q(5405) => q(pee),
-      q(5406) => q(pef),
-      q(5407) => q(peg),
-      q(5408) => q(peh),
-      q(5409) => q(pei),
-      q(5410) => q(pej),
-      q(5411) => q(pek),
-      q(5412) => q(pel),
-      q(5413) => q(pem),
-      q(5414) => q(pep),
-      q(5415) => q(peq),
-      q(5416) => q(pes),
-      q(5417) => q(pev),
-      q(5418) => q(pex),
-      q(5419) => q(pey),
-      q(5420) => q(pez),
-      q(5421) => q(pfa),
-      q(5422) => q(pfe),
-      q(5423) => q(pfl),
-      q(5424) => q(pga),
-      q(5425) => q(pgd),
-      q(5426) => q(pgg),
-      q(5427) => q(pgi),
-      q(5428) => q(pgk),
-      q(5429) => q(pgl),
-      q(5430) => q(pgn),
-      q(5431) => q(pgs),
-      q(5432) => q(pgu),
-      q(5433) => q(pha),
-      q(5434) => q(phd),
-      q(5435) => q(phg),
-      q(5436) => q(phh),
-      q(5437) => q(phk),
-      q(5438) => q(phl),
-      q(5439) => q(phm),
-      q(5440) => q(pho),
-      q(5441) => q(phq),
-      q(5442) => q(phr),
-      q(5443) => q(pht),
-      q(5444) => q(phu),
-      q(5445) => q(phv),
-      q(5446) => q(phw),
-      q(5447) => q(pia),
-      q(5448) => q(pib),
-      q(5449) => q(pic),
-      q(5450) => q(pid),
-      q(5451) => q(pie),
-      q(5452) => q(pif),
-      q(5453) => q(pig),
-      q(5454) => q(pih),
-      q(5455) => q(pii),
-      q(5456) => q(pij),
-      q(5457) => q(pil),
-      q(5458) => q(pim),
-      q(5459) => q(pin),
-      q(5460) => q(pio),
-      q(5461) => q(pip),
-      q(5462) => q(pir),
-      q(5463) => q(pis),
-      q(5464) => q(pit),
-      q(5465) => q(piu),
-      q(5466) => q(piv),
-      q(5467) => q(piw),
-      q(5468) => q(pix),
-      q(5469) => q(piy),
-      q(5470) => q(piz),
-      q(5471) => q(pjt),
-      q(5472) => q(pka),
-      q(5473) => q(pkb),
-      q(5474) => q(pkc),
-      q(5475) => q(pkg),
-      q(5476) => q(pkh),
-      q(5477) => q(pkn),
-      q(5478) => q(pko),
-      q(5479) => q(pkp),
-      q(5480) => q(pkr),
-      q(5481) => q(pks),
-      q(5482) => q(pkt),
-      q(5483) => q(pku),
-      q(5484) => q(pla),
-      q(5485) => q(plb),
-      q(5486) => q(plc),
-      q(5487) => q(pld),
-      q(5488) => q(ple),
-      q(5489) => q(plg),
-      q(5490) => q(plh),
-      q(5491) => q(plj),
-      q(5492) => q(plk),
-      q(5493) => q(pll),
-      q(5494) => q(pln),
-      q(5495) => q(plo),
-      q(5496) => q(plp),
-      q(5497) => q(plq),
-      q(5498) => q(plr),
-      q(5499) => q(pls),
-      q(5500) => q(plt),
-      q(5501) => q(plu),
-      q(5502) => q(plv),
-      q(5503) => q(plw),
-      q(5504) => q(ply),
-      q(5505) => q(plz),
-      q(5506) => q(pma),
-      q(5507) => q(pmb),
-      q(5508) => q(pmc),
-      q(5509) => q(pmd),
-      q(5510) => q(pme),
-      q(5511) => q(pmf),
-      q(5512) => q(pmh),
-      q(5513) => q(pmi),
-      q(5514) => q(pmj),
-      q(5515) => q(pmk),
-      q(5516) => q(pml),
-      q(5517) => q(pmm),
-      q(5518) => q(pmn),
-      q(5519) => q(pmo),
-      q(5520) => q(pmq),
-      q(5521) => q(pmr),
-      q(5522) => q(pms),
-      q(5523) => q(pmt),
-      q(5524) => q(pmw),
-      q(5525) => q(pmx),
-      q(5526) => q(pmy),
-      q(5527) => q(pmz),
-      q(5528) => q(pna),
-      q(5529) => q(pnb),
-      q(5530) => q(pnc),
-      q(5531) => q(pne),
-      q(5532) => q(png),
-      q(5533) => q(pnh),
-      q(5534) => q(pni),
-      q(5535) => q(pnj),
-      q(5536) => q(pnk),
-      q(5537) => q(pnl),
-      q(5538) => q(pnm),
-      q(5539) => q(pnn),
-      q(5540) => q(pno),
-      q(5541) => q(pnp),
-      q(5542) => q(pnq),
-      q(5543) => q(pnr),
-      q(5544) => q(pns),
-      q(5545) => q(pnt),
-      q(5546) => q(pnu),
-      q(5547) => q(pnv),
-      q(5548) => q(pnw),
-      q(5549) => q(pnx),
-      q(5550) => q(pny),
-      q(5551) => q(pnz),
-      q(5552) => q(poc),
-      q(5553) => q(pod),
-      q(5554) => q(poe),
-      q(5555) => q(pof),
-      q(5556) => q(pog),
-      q(5557) => q(poh),
-      q(5558) => q(poi),
-      q(5559) => q(pok),
-      q(5560) => q(pom),
-      q(5561) => q(poo),
-      q(5562) => q(pop),
-      q(5563) => q(poq),
-      q(5564) => q(pos),
-      q(5565) => q(pot),
-      q(5566) => q(pov),
-      q(5567) => q(pow),
-      q(5568) => q(pox),
-      q(5569) => q(poy),
-      q(5570) => q(ppa),
-      q(5571) => q(ppe),
-      q(5572) => q(ppi),
-      q(5573) => q(ppk),
-      q(5574) => q(ppl),
-      q(5575) => q(ppm),
-      q(5576) => q(ppn),
-      q(5577) => q(ppo),
-      q(5578) => q(ppp),
-      q(5579) => q(ppq),
-      q(5580) => q(pps),
-      q(5581) => q(ppt),
-      q(5582) => q(ppu),
-      q(5583) => q(pqa),
-      q(5584) => q(pqm),
-      q(5585) => q(prb),
-      q(5586) => q(prc),
-      q(5587) => q(prd),
-      q(5588) => q(pre),
-      q(5589) => q(prf),
-      q(5590) => q(prg),
-      q(5591) => q(prh),
-      q(5592) => q(pri),
-      q(5593) => q(prk),
-      q(5594) => q(prl),
-      q(5595) => q(prm),
-      q(5596) => q(prn),
-      q(5597) => q(prp),
-      q(5598) => q(prq),
-      q(5599) => q(prr),
-      q(5600) => q(prs),
-      q(5601) => q(prt),
-      q(5602) => q(pru),
-      q(5603) => q(prw),
-      q(5604) => q(prx),
-      q(5605) => q(pry),
-      q(5606) => q(prz),
-      q(5607) => q(psa),
-      q(5608) => q(psc),
-      q(5609) => q(psd),
-      q(5610) => q(pse),
-      q(5611) => q(psg),
-      q(5612) => q(psh),
-      q(5613) => q(psi),
-      q(5614) => q(psl),
-      q(5615) => q(psm),
-      q(5616) => q(psn),
-      q(5617) => q(pso),
-      q(5618) => q(psp),
-      q(5619) => q(psq),
-      q(5620) => q(psr),
-      q(5621) => q(pss),
-      q(5622) => q(pst),
-      q(5623) => q(psu),
-      q(5624) => q(psw),
-      q(5625) => q(psy),
-      q(5626) => q(pta),
-      q(5627) => q(pth),
-      q(5628) => q(pti),
-      q(5629) => q(ptn),
-      q(5630) => q(pto),
-      q(5631) => q(ptp),
-      q(5632) => q(ptq),
-      q(5633) => q(ptr),
-      q(5634) => q(ptt),
-      q(5635) => q(ptu),
-      q(5636) => q(ptv),
-      q(5637) => q(ptw),
-      q(5638) => q(pty),
-      q(5639) => q(pua),
-      q(5640) => q(pub),
-      q(5641) => q(puc),
-      q(5642) => q(pud),
-      q(5643) => q(pue),
-      q(5644) => q(puf),
-      q(5645) => q(pug),
-      q(5646) => q(pui),
-      q(5647) => q(puj),
-      q(5648) => q(puk),
-      q(5649) => q(pum),
-      q(5650) => q(puo),
-      q(5651) => q(pup),
-      q(5652) => q(puq),
-      q(5653) => q(pur),
-      q(5654) => q(put),
-      q(5655) => q(puu),
-      q(5656) => q(puw),
-      q(5657) => q(pux),
-      q(5658) => q(puy),
-      q(5659) => q(pwa),
-      q(5660) => q(pwb),
-      q(5661) => q(pwg),
-      q(5662) => q(pwi),
-      q(5663) => q(pwm),
-      q(5664) => q(pwn),
-      q(5665) => q(pwo),
-      q(5666) => q(pwr),
-      q(5667) => q(pww),
-      q(5668) => q(pxm),
-      q(5669) => q(pye),
-      q(5670) => q(pym),
-      q(5671) => q(pyn),
-      q(5672) => q(pys),
-      q(5673) => q(pyu),
-      q(5674) => q(pyx),
-      q(5675) => q(pyy),
-      q(5676) => q(pzn),
-      q(5677) => q(qua),
-      q(5678) => q(qub),
-      q(5679) => q(quc),
-      q(5680) => q(qud),
-      q(5681) => q(quf),
-      q(5682) => q(qug),
-      q(5683) => q(quh),
-      q(5684) => q(qui),
-      q(5685) => q(quk),
-      q(5686) => q(qul),
-      q(5687) => q(qum),
-      q(5688) => q(qun),
-      q(5689) => q(qup),
-      q(5690) => q(quq),
-      q(5691) => q(qur),
-      q(5692) => q(qus),
-      q(5693) => q(quv),
-      q(5694) => q(quw),
-      q(5695) => q(qux),
-      q(5696) => q(quy),
-      q(5697) => q(quz),
-      q(5698) => q(qva),
-      q(5699) => q(qvc),
-      q(5700) => q(qve),
-      q(5701) => q(qvh),
-      q(5702) => q(qvi),
-      q(5703) => q(qvj),
-      q(5704) => q(qvl),
-      q(5705) => q(qvm),
-      q(5706) => q(qvn),
-      q(5707) => q(qvo),
-      q(5708) => q(qvp),
-      q(5709) => q(qvs),
-      q(5710) => q(qvw),
-      q(5711) => q(qvy),
-      q(5712) => q(qvz),
-      q(5713) => q(qwa),
-      q(5714) => q(qwc),
-      q(5715) => q(qwh),
-      q(5716) => q(qwm),
-      q(5717) => q(qws),
-      q(5718) => q(qwt),
-      q(5719) => q(qxa),
-      q(5720) => q(qxc),
-      q(5721) => q(qxh),
-      q(5722) => q(qxl),
-      q(5723) => q(qxn),
-      q(5724) => q(qxo),
-      q(5725) => q(qxp),
-      q(5726) => q(qxq),
-      q(5727) => q(qxr),
-      q(5728) => q(qxs),
-      q(5729) => q(qxt),
-      q(5730) => q(qxu),
-      q(5731) => q(qxw),
-      q(5732) => q(qya),
-      q(5733) => q(qyp),
-      q(5734) => q(raa),
-      q(5735) => q(rab),
-      q(5736) => q(rac),
-      q(5737) => q(rad),
-      q(5738) => q(raf),
-      q(5739) => q(rag),
-      q(5740) => q(rah),
-      q(5741) => q(rai),
-      q(5742) => q(rak),
-      q(5743) => q(ral),
-      q(5744) => q(ram),
-      q(5745) => q(ran),
-      q(5746) => q(rao),
-      q(5747) => q(raq),
-      q(5748) => q(ras),
-      q(5749) => q(rat),
-      q(5750) => q(rau),
-      q(5751) => q(rav),
-      q(5752) => q(raw),
-      q(5753) => q(rax),
-      q(5754) => q(ray),
-      q(5755) => q(raz),
-      q(5756) => q(rbb),
-      q(5757) => q(rbk),
-      q(5758) => q(rbl),
-      q(5759) => q(rbp),
-      q(5760) => q(rcf),
-      q(5761) => q(rdb),
-      q(5762) => q(rea),
-      q(5763) => q(reb),
-      q(5764) => q(ree),
-      q(5765) => q(reg),
-      q(5766) => q(rei),
-      q(5767) => q(rej),
-      q(5768) => q(rel),
-      q(5769) => q(rem),
-      q(5770) => q(ren),
-      q(5771) => q(rer),
-      q(5772) => q(res),
-      q(5773) => q(ret),
-      q(5774) => q(rey),
-      q(5775) => q(rga),
-      q(5776) => q(rge),
-      q(5777) => q(rgk),
-      q(5778) => q(rgn),
-      q(5779) => q(rgr),
-      q(5780) => q(rgs),
-      q(5781) => q(rgu),
-      q(5782) => q(rhg),
-      q(5783) => q(rhp),
-      q(5784) => q(ria),
-      q(5785) => q(rie),
-      q(5786) => q(rif),
-      q(5787) => q(ril),
-      q(5788) => q(rim),
-      q(5789) => q(rin),
-      q(5790) => q(rir),
-      q(5791) => q(rit),
-      q(5792) => q(riu),
-      q(5793) => q(rjg),
-      q(5794) => q(rji),
-      q(5795) => q(rjs),
-      q(5796) => q(rka),
-      q(5797) => q(rkb),
-      q(5798) => q(rkh),
-      q(5799) => q(rki),
-      q(5800) => q(rkm),
-      q(5801) => q(rkt),
-      q(5802) => q(rkw),
-      q(5803) => q(rma),
-      q(5804) => q(rmb),
-      q(5805) => q(rmc),
-      q(5806) => q(rmd),
-      q(5807) => q(rme),
-      q(5808) => q(rmf),
-      q(5809) => q(rmg),
-      q(5810) => q(rmh),
-      q(5811) => q(rmi),
-      q(5812) => q(rmk),
-      q(5813) => q(rml),
-      q(5814) => q(rmm),
-      q(5815) => q(rmn),
-      q(5816) => q(rmo),
-      q(5817) => q(rmp),
-      q(5818) => q(rmq),
-      q(5819) => q(rms),
-      q(5820) => q(rmt),
-      q(5821) => q(rmu),
-      q(5822) => q(rmv),
-      q(5823) => q(rmw),
-      q(5824) => q(rmx),
-      q(5825) => q(rmy),
-      q(5826) => q(rmz),
-      q(5827) => q(rna),
-      q(5828) => q(rnd),
-      q(5829) => q(rng),
-      q(5830) => q(rnl),
-      q(5831) => q(rnn),
-      q(5832) => q(rnp),
-      q(5833) => q(rnr),
-      q(5834) => q(rnw),
-      q(5835) => q(rob),
-      q(5836) => q(roc),
-      q(5837) => q(rod),
-      q(5838) => q(roe),
-      q(5839) => q(rof),
-      q(5840) => q(rog),
-      q(5841) => q(rol),
-      q(5842) => q(roo),
-      q(5843) => q(rop),
-      q(5844) => q(ror),
-      q(5845) => q(rou),
-      q(5846) => q(row),
-      q(5847) => q(rpn),
-      q(5848) => q(rpt),
-      q(5849) => q(rri),
-      q(5850) => q(rro),
-      q(5851) => q(rrt),
-      q(5852) => q(rsb),
-      q(5853) => q(rsi),
-      q(5854) => q(rsl),
-      q(5855) => q(rtc),
-      q(5856) => q(rth),
-      q(5857) => q(rtm),
-      q(5858) => q(rts),
-      q(5859) => q(rtw),
-      q(5860) => q(rub),
-      q(5861) => q(ruc),
-      q(5862) => q(rue),
-      q(5863) => q(ruf),
-      q(5864) => q(rug),
-      q(5865) => q(ruh),
-      q(5866) => q(rui),
-      q(5867) => q(ruk),
-      q(5868) => q(ruo),
-      q(5869) => q(ruq),
-      q(5870) => q(rut),
-      q(5871) => q(ruu),
-      q(5872) => q(ruy),
-      q(5873) => q(ruz),
-      q(5874) => q(rwa),
-      q(5875) => q(rwk),
-      q(5876) => q(rwm),
-      q(5877) => q(rwo),
-      q(5878) => q(rwr),
-      q(5879) => q(rxd),
-      q(5880) => q(rxw),
-      q(5881) => q(ryn),
-      q(5882) => q(rys),
-      q(5883) => q(ryu),
-      q(5884) => q(saa),
-      q(5885) => q(sab),
-      q(5886) => q(sac),
-      q(5887) => q(sae),
-      q(5888) => q(saf),
-      q(5889) => q(saj),
-      q(5890) => q(sak),
-      q(5891) => q(sao),
-      q(5892) => q(saq),
-      q(5893) => q(sar),
-      q(5894) => q(sau),
-      q(5895) => q(sav),
-      q(5896) => q(saw),
-      q(5897) => q(sax),
-      q(5898) => q(say),
-      q(5899) => q(saz),
-      q(5900) => q(sba),
-      q(5901) => q(sbb),
-      q(5902) => q(sbc),
-      q(5903) => q(sbd),
-      q(5904) => q(slc),
-      q(5905) => q(sbf),
-      q(5906) => q(sbg),
-      q(5907) => q(sbh),
-      q(5908) => q(sbi),
-      q(5909) => q(sbj),
-      q(5910) => q(sbk),
-      q(5911) => q(sbl),
-      q(5912) => q(sbm),
-      q(5913) => q(sbn),
-      q(5914) => q(sbo),
-      q(5915) => q(sbp),
-      q(5916) => q(sbq),
-      q(5917) => q(sbr),
-      q(5918) => q(sbs),
-      q(5919) => q(sbt),
-      q(5920) => q(sbu),
-      q(5921) => q(sbv),
-      q(5922) => q(sbw),
-      q(5923) => q(sbx),
-      q(5924) => q(sby),
-      q(5925) => q(sbz),
-      q(5926) => q(scb),
-      q(5927) => q(sce),
-      q(5928) => q(scf),
-      q(5929) => q(scg),
-      q(5930) => q(sch),
-      q(5931) => q(sci),
-      q(5932) => q(sck),
-      q(5933) => q(scl),
-      q(5934) => q(scp),
-      q(5935) => q(scq),
-      q(5936) => q(scs),
-      q(5937) => q(scu),
-      q(5938) => q(scv),
-      q(5939) => q(scw),
-      q(5940) => q(scx),
-      q(5941) => q(sda),
-      q(5942) => q(sdb),
-      q(5943) => q(sdc),
-      q(5944) => q(sde),
-      q(5945) => q(sdf),
-      q(5946) => q(sdg),
-      q(5947) => q(sdh),
-      q(5948) => q(sdj),
-      q(5949) => q(sdk),
-      q(5950) => q(sdl),
-      q(5951) => q(sdm),
-      q(5952) => q(sdn),
-      q(5953) => q(sdo),
-      q(5954) => q(sdp),
-      q(5955) => q(sdr),
-      q(5956) => q(sds),
-      q(5957) => q(sdt),
-      q(5958) => q(sdu),
-      q(5959) => q(sdx),
-      q(5960) => q(sdz),
-      q(5961) => q(sea),
-      q(5962) => q(seb),
-      q(5963) => q(sec),
-      q(5964) => q(sed),
-      q(5965) => q(see),
-      q(5966) => q(sef),
-      q(5967) => q(seg),
-      q(5968) => q(seh),
-      q(5969) => q(sei),
-      q(5970) => q(sej),
-      q(5971) => q(sek),
-      q(5972) => q(sen),
-      q(5973) => q(seo),
-      q(5974) => q(sep),
-      q(5975) => q(seq),
-      q(5976) => q(ser),
-      q(5977) => q(ses),
-      q(5978) => q(set),
-      q(5979) => q(seu),
-      q(5980) => q(sev),
-      q(5981) => q(sew),
-      q(5982) => q(sey),
-      q(5983) => q(sez),
-      q(5984) => q(sfb),
-      q(5985) => q(sfe),
-      q(5986) => q(sfm),
-      q(5987) => q(sfs),
-      q(5988) => q(sfw),
-      q(5989) => q(sgb),
-      q(5990) => q(sgc),
-      q(5991) => q(sgd),
-      q(5992) => q(sge),
-      q(5993) => q(sgg),
-      q(5994) => q(sgh),
-      q(5995) => q(sgi),
-      q(5996) => q(sgj),
-      q(5997) => q(sgk),
-      q(5998) => q(sgm),
-      q(5999) => q(sgp),
-      q(6000) => q(sgr),
-      q(6001) => q(sgs),
-      q(6002) => q(sgt),
-      q(6003) => q(sgu),
-      q(6004) => q(sgw),
-      q(6005) => q(sgx),
-      q(6006) => q(sgy),
-      q(6007) => q(sgz),
-      q(6008) => q(sha),
-      q(6009) => q(shb),
-      q(6010) => q(shc),
-      q(6011) => q(shd),
-      q(6012) => q(she),
-      q(6013) => q(shg),
-      q(6014) => q(shh),
-      q(6015) => q(shi),
-      q(6016) => q(shj),
-      q(6017) => q(shk),
-      q(6018) => q(shl),
-      q(6019) => q(shm),
-      q(6020) => q(sho),
-      q(6021) => q(shp),
-      q(6022) => q(shq),
-      q(6023) => q(shr),
-      q(6024) => q(shs),
-      q(6025) => q(sht),
-      q(6026) => q(shu),
-      q(6027) => q(shv),
-      q(6028) => q(shw),
-      q(6029) => q(shx),
-      q(6030) => q(shy),
-      q(6031) => q(shz),
-      q(6032) => q(sia),
-      q(6033) => q(sib),
-      q(6034) => q(sie),
-      q(6035) => q(sif),
-      q(6036) => q(sig),
-      q(6037) => q(sih),
-      q(6038) => q(sii),
-      q(6039) => q(sij),
-      q(6040) => q(sik),
-      q(6041) => q(sil),
-      q(6042) => q(sim),
-      q(6043) => q(sip),
-      q(6044) => q(siq),
-      q(6045) => q(sir),
-      q(6046) => q(sis),
-      q(6047) => q(siu),
-      q(6048) => q(siv),
-      q(6049) => q(siw),
-      q(6050) => q(six),
-      q(6051) => q(siy),
-      q(6052) => q(siz),
-      q(6053) => q(sja),
-      q(6054) => q(sjb),
-      q(6055) => q(sjd),
-      q(6056) => q(sje),
-      q(6057) => q(sjg),
-      q(6058) => q(sjk),
-      q(6059) => q(sjl),
-      q(6060) => q(sjm),
-      q(6061) => q(sjn),
-      q(6062) => q(sjo),
-      q(6063) => q(sjp),
-      q(6064) => q(sjr),
-      q(6065) => q(sjs),
-      q(6066) => q(sjt),
-      q(6067) => q(sju),
-      q(6068) => q(sjw),
-      q(6069) => q(ska),
-      q(6070) => q(skb),
-      q(6071) => q(skc),
-      q(6072) => q(skd),
-      q(6073) => q(ske),
-      q(6074) => q(skf),
-      q(6075) => q(skg),
-      q(6076) => q(skh),
-      q(6077) => q(ski),
-      q(6078) => q(skj),
-      q(6079) => q(skk),
-      q(6080) => q(skm),
-      q(6081) => q(skn),
-      q(6082) => q(sko),
-      q(6083) => q(skp),
-      q(6084) => q(skq),
-      q(6085) => q(skr),
-      q(6086) => q(sks),
-      q(6087) => q(skt),
-      q(6088) => q(sku),
-      q(6089) => q(skv),
-      q(6090) => q(skw),
-      q(6091) => q(skx),
-      q(6092) => q(sky),
-      q(6093) => q(skz),
-      q(6094) => q(sld),
-      q(6095) => q(sle),
-      q(6096) => q(slf),
-      q(6097) => q(slg),
-      q(6098) => q(slh),
-      q(6099) => q(sli),
-      q(6100) => q(slj),
-      q(6101) => q(sll),
-      q(6102) => q(slm),
-      q(6103) => q(sln),
-      q(6104) => q(slp),
-      q(6105) => q(slq),
-      q(6106) => q(slr),
-      q(6107) => q(sls),
-      q(6108) => q(slt),
-      q(6109) => q(slu),
-      q(6110) => q(slw),
-      q(6111) => q(slx),
-      q(6112) => q(sly),
-      q(6113) => q(slz),
-      q(6114) => q(smb),
-      q(6115) => q(smc),
-      q(6116) => q(smd),
-      q(6117) => q(smf),
-      q(6118) => q(smg),
-      q(6119) => q(smh),
-      q(6120) => q(smk),
-      q(6121) => q(sml),
-      q(6122) => q(smm),
-      q(6123) => q(smp),
-      q(6124) => q(smq),
-      q(6125) => q(smr),
-      q(6126) => q(smt),
-      q(6127) => q(smu),
-      q(6128) => q(smv),
-      q(6129) => q(smw),
-      q(6130) => q(smx),
-      q(6131) => q(smy),
-      q(6132) => q(smz),
-      q(6133) => q(snb),
-      q(6134) => q(snc),
-      q(6135) => q(sne),
-      q(6136) => q(snf),
-      q(6137) => q(sng),
-      q(6138) => q(snh),
-      q(6139) => q(sni),
-      q(6140) => q(snj),
-      q(6141) => q(snl),
-      q(6142) => q(snm),
-      q(6143) => q(snn),
-      q(6144) => q(sno),
-      q(6145) => q(snp),
-      q(6146) => q(snq),
-      q(6147) => q(snr),
-      q(6148) => q(sns),
-      q(6149) => q(snu),
-      q(6150) => q(snv),
-      q(6151) => q(snw),
-      q(6152) => q(snx),
-      q(6153) => q(sny),
-      q(6154) => q(snz),
-      q(6155) => q(soa),
-      q(6156) => q(sob),
-      q(6157) => q(soc),
-      q(6158) => q(sod),
-      q(6159) => q(soe),
-      q(6160) => q(soh),
-      q(6161) => q(soi),
-      q(6162) => q(soj),
-      q(6163) => q(sok),
-      q(6164) => q(sol),
-      q(6165) => q(soo),
-      q(6166) => q(sop),
-      q(6167) => q(soq),
-      q(6168) => q(sor),
-      q(6169) => q(sos),
-      q(6170) => q(sou),
-      q(6171) => q(sov),
-      q(6172) => q(sow),
-      q(6173) => q(sox),
-      q(6174) => q(soy),
-      q(6175) => q(soz),
-      q(6176) => q(spb),
-      q(6177) => q(spc),
-      q(6178) => q(spd),
-      q(6179) => q(spe),
-      q(6180) => q(spg),
-      q(6181) => q(spi),
-      q(6182) => q(spk),
-      q(6183) => q(spl),
-      q(6184) => q(spm),
-      q(6185) => q(spn),
-      q(6186) => q(spo),
-      q(6187) => q(spp),
-      q(6188) => q(spq),
-      q(6189) => q(spr),
-      q(6190) => q(sps),
-      q(6191) => q(spt),
-      q(6192) => q(spu),
-      q(6193) => q(spv),
-      q(6194) => q(spx),
-      q(6195) => q(spy),
-      q(6196) => q(sqa),
-      q(6197) => q(sqh),
-      q(6198) => q(sqk),
-      q(6199) => q(sqm),
-      q(6200) => q(sqn),
-      q(6201) => q(sqo),
-      q(6202) => q(sqq),
-      q(6203) => q(sqr),
-      q(6204) => q(sqs),
-      q(6205) => q(sqt),
-      q(6206) => q(squ),
-      q(6207) => q(sra),
-      q(6208) => q(srb),
-      q(6209) => q(src),
-      q(6210) => q(sre),
-      q(6211) => q(srf),
-      q(6212) => q(srg),
-      q(6213) => q(srh),
-      q(6214) => q(sri),
-      q(6215) => q(srk),
-      q(6216) => q(srl),
-      q(6217) => q(srm),
-      q(6218) => q(sro),
-      q(6219) => q(srq),
-      q(6220) => q(srs),
-      q(6221) => q(srt),
-      q(6222) => q(sru),
-      q(6223) => q(srv),
-      q(6224) => q(srw),
-      q(6225) => q(srx),
-      q(6226) => q(sry),
-      q(6227) => q(srz),
-      q(6228) => q(ssb),
-      q(6229) => q(ssc),
-      q(6230) => q(ssd),
-      q(6231) => q(sse),
-      q(6232) => q(ssf),
-      q(6233) => q(ssg),
-      q(6234) => q(ssh),
-      q(6235) => q(ssi),
-      q(6236) => q(ssj),
-      q(6237) => q(ssk),
-      q(6238) => q(ssl),
-      q(6239) => q(ssm),
-      q(6240) => q(ssn),
-      q(6241) => q(sso),
-      q(6242) => q(ssp),
-      q(6243) => q(ssq),
-      q(6244) => q(ssr),
-      q(6245) => q(sss),
-      q(6246) => q(sst),
-      q(6247) => q(ssu),
-      q(6248) => q(ssv),
-      q(6249) => q(ssx),
-      q(6250) => q(ssy),
-      q(6251) => q(ssz),
-      q(6252) => q(sta),
-      q(6253) => q(stb),
-      q(6254) => q(std),
-      q(6255) => q(ste),
-      q(6256) => q(stf),
-      q(6257) => q(stg),
-      q(6258) => q(sth),
-      q(6259) => q(sti),
-      q(6260) => q(stj),
-      q(6261) => q(stk),
-      q(6262) => q(stl),
-      q(6263) => q(stm),
-      q(6264) => q(stn),
-      q(6265) => q(sto),
-      q(6266) => q(stp),
-      q(6267) => q(stq),
-      q(6268) => q(str),
-      q(6269) => q(sts),
-      q(6270) => q(stt),
-      q(6271) => q(stu),
-      q(6272) => q(stv),
-      q(6273) => q(stw),
-      q(6274) => q(sty),
-      q(6275) => q(sua),
-      q(6276) => q(sub),
-      q(6277) => q(suc),
-      q(6278) => q(sue),
-      q(6279) => q(sug),
-      q(6280) => q(sui),
-      q(6281) => q(suj),
-      q(6282) => q(suq),
-      q(6283) => q(sur),
-      q(6284) => q(sut),
-      q(6285) => q(suv),
-      q(6286) => q(suw),
-      q(6287) => q(suy),
-      q(6288) => q(suz),
-      q(6289) => q(sva),
-      q(6290) => q(svb),
-      q(6291) => q(svc),
-      q(6292) => q(sve),
-      q(6293) => q(svk),
-      q(6294) => q(svm),
-      q(6295) => q(svr),
-      q(6296) => q(svs),
-      q(6297) => q(svx),
-      q(6298) => q(swb),
-      q(6299) => q(swc),
-      q(6300) => q(swf),
-      q(6301) => q(swg),
-      q(6302) => q(swh),
-      q(6303) => q(swi),
-      q(6304) => q(swj),
-      q(6305) => q(swk),
-      q(6306) => q(swl),
-      q(6307) => q(swm),
-      q(6308) => q(swn),
-      q(6309) => q(swo),
-      q(6310) => q(swp),
-      q(6311) => q(swq),
-      q(6312) => q(swr),
-      q(6313) => q(sws),
-      q(6314) => q(swt),
-      q(6315) => q(swu),
-      q(6316) => q(swv),
-      q(6317) => q(sww),
-      q(6318) => q(swx),
-      q(6319) => q(swy),
-      q(6320) => q(sxb),
-      q(6321) => q(sxc),
-      q(6322) => q(sxe),
-      q(6323) => q(sxg),
-      q(6324) => q(sxk),
-      q(6325) => q(sxl),
-      q(6326) => q(sxm),
-      q(6327) => q(sxn),
-      q(6328) => q(sxo),
-      q(6329) => q(sxr),
-      q(6330) => q(sxs),
-      q(6331) => q(sxu),
-      q(6332) => q(sxw),
-      q(6333) => q(sya),
-      q(6334) => q(syb),
-      q(6335) => q(syi),
-      q(6336) => q(syk),
-      q(6337) => q(syl),
-      q(6338) => q(sym),
-      q(6339) => q(syn),
-      q(6340) => q(syo),
-      q(6341) => q(sys),
-      q(6342) => q(syw),
-      q(6343) => q(syx),
-      q(6344) => q(syy),
-      q(6345) => q(sza),
-      q(6346) => q(szb),
-      q(6347) => q(szc),
-      q(6348) => q(szd),
-      q(6349) => q(sze),
-      q(6350) => q(szg),
-      q(6351) => q(szl),
-      q(6352) => q(szn),
-      q(6353) => q(szp),
-      q(6354) => q(szv),
-      q(6355) => q(szw),
-      q(6356) => q(taa),
-      q(6357) => q(tab),
-      q(6358) => q(tac),
-      q(6359) => q(tad),
-      q(6360) => q(tae),
-      q(6361) => q(taf),
-      q(6362) => q(tag),
-      q(6363) => q(taj),
-      q(6364) => q(tak),
-      q(6365) => q(tal),
-      q(6366) => q(tan),
-      q(6367) => q(tao),
-      q(6368) => q(tap),
-      q(6369) => q(taq),
-      q(6370) => q(tar),
-      q(6371) => q(tas),
-      q(6372) => q(tau),
-      q(6373) => q(tav),
-      q(6374) => q(taw),
-      q(6375) => q(tax),
-      q(6376) => q(tay),
-      q(6377) => q(taz),
-      q(6378) => q(tba),
-      q(6379) => q(tbb),
-      q(6380) => q(tbc),
-      q(6381) => q(tbd),
-      q(6382) => q(tbe),
-      q(6383) => q(tbf),
-      q(6384) => q(tbg),
-      q(6385) => q(tbh),
-      q(6386) => q(tbi),
-      q(6387) => q(tbj),
-      q(6388) => q(tbk),
-      q(6389) => q(tbl),
-      q(6390) => q(tbm),
-      q(6391) => q(tbn),
-      q(6392) => q(tbo),
-      q(6393) => q(tbp),
-      q(6394) => q(tbr),
-      q(6395) => q(tbs),
-      q(6396) => q(tbt),
-      q(6397) => q(tbu),
-      q(6398) => q(tbv),
-      q(6399) => q(tbw),
-      q(6400) => q(tbx),
-      q(6401) => q(tby),
-      q(6402) => q(tbz),
-      q(6403) => q(tca),
-      q(6404) => q(tcb),
-      q(6405) => q(tcc),
-      q(6406) => q(tcd),
-      q(6407) => q(tce),
-      q(6408) => q(tcf),
-      q(6409) => q(tcg),
-      q(6410) => q(tch),
-      q(6411) => q(wbf),
-      q(6412) => q(tck),
-      q(6413) => q(tcl),
-      q(6414) => q(tcm),
-      q(6415) => q(tcn),
-      q(6416) => q(tco),
-      q(6417) => q(tcp),
-      q(6418) => q(tcq),
-      q(6419) => q(tcs),
-      q(6420) => q(tct),
-      q(6421) => q(tcu),
-      q(6422) => q(tcw),
-      q(6423) => q(tcx),
-      q(6424) => q(tcy),
-      q(6425) => q(tcz),
-      q(6426) => q(tda),
-      q(6427) => q(tdb),
-      q(6428) => q(tdc),
-      q(6429) => q(tdd),
-      q(6430) => q(tde),
-      q(6431) => q(tdf),
-      q(6432) => q(tdg),
-      q(6433) => q(tdh),
-      q(6434) => q(tdi),
-      q(6435) => q(tdj),
-      q(6436) => q(tdk),
-      q(6437) => q(tdl),
-      q(6438) => q(tdn),
-      q(6439) => q(tdo),
-      q(6440) => q(tdq),
-      q(6441) => q(tdr),
-      q(6442) => q(tds),
-      q(6443) => q(tdt),
-      q(6444) => q(tdu),
-      q(6445) => q(tdv),
-      q(6446) => q(tdx),
-      q(6447) => q(tdy),
-      q(6448) => q(tea),
-      q(6449) => q(teb),
-      q(6450) => q(tec),
-      q(6451) => q(ted),
-      q(6452) => q(tee),
-      q(6453) => q(tef),
-      q(6454) => q(teg),
-      q(6455) => q(teh),
-      q(6456) => q(tei),
-      q(6457) => q(tek),
-      q(6458) => q(ten),
-      q(6459) => q(teo),
-      q(6460) => q(tep),
-      q(6461) => q(teq),
-      q(6462) => q(tes),
-      q(6463) => q(teu),
-      q(6464) => q(tev),
-      q(6465) => q(tew),
-      q(6466) => q(tex),
-      q(6467) => q(tey),
-      q(6468) => q(tfi),
-      q(6469) => q(tfn),
-      q(6470) => q(tfo),
-      q(6471) => q(tfr),
-      q(6472) => q(tft),
-      q(6473) => q(tga),
-      q(6474) => q(tgb),
-      q(6475) => q(tgc),
-      q(6476) => q(tgd),
-      q(6477) => q(tge),
-      q(6478) => q(tgf),
-      q(6479) => q(tgh),
-      q(6480) => q(tgi),
-      q(6481) => q(tgj),
-      q(6482) => q(tgn),
-      q(6483) => q(tgo),
-      q(6484) => q(tgp),
-      q(6485) => q(tgq),
-      q(6486) => q(tgr),
-      q(6487) => q(tgs),
-      q(6488) => q(tgt),
-      q(6489) => q(tgu),
-      q(6490) => q(tgv),
-      q(6491) => q(tgw),
-      q(6492) => q(tgx),
-      q(6493) => q(tgy),
-      q(6494) => q(tgz),
-      q(6495) => q(thc),
-      q(6496) => q(thd),
-      q(6497) => q(the),
-      q(6498) => q(thf),
-      q(6499) => q(thh),
-      q(6500) => q(thi),
-      q(6501) => q(thk),
-      q(6502) => q(thl),
-      q(6503) => q(thm),
-      q(6504) => q(thn),
-      q(6505) => q(thp),
-      q(6506) => q(thq),
-      q(6507) => q(thr),
-      q(6508) => q(ths),
-      q(6509) => q(tht),
-      q(6510) => q(thu),
-      q(6511) => q(thv),
-      q(6512) => q(thw),
-      q(6513) => q(thy),
-      q(6514) => q(thz),
-      q(6515) => q(tia),
-      q(6516) => q(tic),
-      q(6517) => q(tid),
-      q(6518) => q(tif),
-      q(6519) => q(tih),
-      q(6520) => q(tii),
-      q(6521) => q(tij),
-      q(6522) => q(tik),
-      q(6523) => q(til),
-      q(6524) => q(tim),
-      q(6525) => q(tin),
-      q(6526) => q(tio),
-      q(6527) => q(tip),
-      q(6528) => q(tiq),
-      q(6529) => q(tis),
-      q(6530) => q(tit),
-      q(6531) => q(tiu),
-      q(6532) => q(tiw),
-      q(6533) => q(tix),
-      q(6534) => q(tiy),
-      q(6535) => q(tiz),
-      q(6536) => q(tja),
-      q(6537) => q(tjg),
-      q(6538) => q(tji),
-      q(6539) => q(tjl),
-      q(6540) => q(tjm),
-      q(6541) => q(tjn),
-      q(6542) => q(tjo),
-      q(6543) => q(tjs),
-      q(6544) => q(tju),
-      q(6545) => q(tjw),
-      q(6546) => q(tka),
-      q(6547) => q(tkb),
-      q(6548) => q(tkd),
-      q(6549) => q(tke),
-      q(6550) => q(tkf),
-      q(6551) => q(tkg),
-      q(6552) => q(tkm),
-      q(6553) => q(tkn),
-      q(6554) => q(tkp),
-      q(6555) => q(tkq),
-      q(6556) => q(tkr),
-      q(6557) => q(tks),
-      q(6558) => q(tkt),
-      q(6559) => q(tku),
-      q(6560) => q(tkv),
-      q(6561) => q(tkw),
-      q(6562) => q(tkx),
-      q(6563) => q(tkz),
-      q(6564) => q(tla),
-      q(6565) => q(tlb),
-      q(6566) => q(tlc),
-      q(6567) => q(tld),
-      q(6568) => q(tlf),
-      q(6569) => q(tlg),
-      q(6570) => q(tlj),
-      q(6571) => q(tlk),
-      q(6572) => q(tll),
-      q(6573) => q(tlm),
-      q(6574) => q(tln),
-      q(6575) => q(tlo),
-      q(6576) => q(tlp),
-      q(6577) => q(tlq),
-      q(6578) => q(tlr),
-      q(6579) => q(tls),
-      q(6580) => q(tlt),
-      q(6581) => q(tlu),
-      q(6582) => q(tlv),
-      q(6583) => q(tlx),
-      q(6584) => q(tly),
-      q(6585) => q(tma),
-      q(6586) => q(tmb),
-      q(6587) => q(tmc),
-      q(6588) => q(tmd),
-      q(6589) => q(tme),
-      q(6590) => q(tmf),
-      q(6591) => q(tmg),
-      q(6592) => q(tmi),
-      q(6593) => q(tmj),
-      q(6594) => q(tmk),
-      q(6595) => q(tml),
-      q(6596) => q(tmm),
-      q(6597) => q(tmn),
-      q(6598) => q(tmo),
-      q(6599) => q(tmp),
-      q(6600) => q(tmq),
-      q(6601) => q(tmr),
-      q(6602) => q(tms),
-      q(6603) => q(tmt),
-      q(6604) => q(tmu),
-      q(6605) => q(tmv),
-      q(6606) => q(tmw),
-      q(6607) => q(tmy),
-      q(6608) => q(tmz),
-      q(6609) => q(tna),
-      q(6610) => q(tnb),
-      q(6611) => q(tnc),
-      q(6612) => q(tnd),
-      q(6613) => q(tne),
-      q(6614) => q(tng),
-      q(6615) => q(tnh),
-      q(6616) => q(tni),
-      q(6617) => q(tnk),
-      q(6618) => q(tnl),
-      q(6619) => q(tnm),
-      q(6620) => q(tnn),
-      q(6621) => q(tno),
-      q(6622) => q(tnp),
-      q(6623) => q(tnq),
-      q(6624) => q(tnr),
-      q(6625) => q(tns),
-      q(6626) => q(tnt),
-      q(6627) => q(tnu),
-      q(6628) => q(tnv),
-      q(6629) => q(tnw),
-      q(6630) => q(tnx),
-      q(6631) => q(tny),
-      q(6632) => q(tnz),
-      q(6633) => q(tob),
-      q(6634) => q(toc),
-      q(6635) => q(tod),
-      q(6636) => q(toe),
-      q(6637) => q(tof),
-      q(6638) => q(toh),
-      q(6639) => q(toi),
-      q(6640) => q(toj),
-      q(6641) => q(tol),
-      q(6642) => q(tom),
-      q(6643) => q(too),
-      q(6644) => q(top),
-      q(6645) => q(toq),
-      q(6646) => q(tor),
-      q(6647) => q(tos),
-      q(6648) => q(tou),
-      q(6649) => q(tov),
-      q(6650) => q(tow),
-      q(6651) => q(tox),
-      q(6652) => q(toy),
-      q(6653) => q(toz),
-      q(6654) => q(tpa),
-      q(6655) => q(tpc),
-      q(6656) => q(tpe),
-      q(6657) => q(tpf),
-      q(6658) => q(tpg),
-      q(6659) => q(tpj),
-      q(6660) => q(tpk),
-      q(6661) => q(tpl),
-      q(6662) => q(tpm),
-      q(6663) => q(tpn),
-      q(6664) => q(tpo),
-      q(6665) => q(tpp),
-      q(6666) => q(tpq),
-      q(6667) => q(tpr),
-      q(6668) => q(tpt),
-      q(6669) => q(tpu),
-      q(6670) => q(tpv),
-      q(6671) => q(tpw),
-      q(6672) => q(tpx),
-      q(6673) => q(tpy),
-      q(6674) => q(tpz),
-      q(6675) => q(tqb),
-      q(6676) => q(tql),
-      q(6677) => q(tqm),
-      q(6678) => q(tqn),
-      q(6679) => q(tqo),
-      q(6680) => q(tqp),
-      q(6681) => q(tqq),
-      q(6682) => q(tqr),
-      q(6683) => q(tqt),
-      q(6684) => q(tqu),
-      q(6685) => q(tqw),
-      q(6686) => q(tra),
-      q(6687) => q(trb),
-      q(6688) => q(trc),
-      q(6689) => q(trd),
-      q(6690) => q(tre),
-      q(6691) => q(trf),
-      q(6692) => q(trg),
-      q(6693) => q(trh),
-      q(6694) => q(tri),
-      q(6695) => q(trj),
-      q(6696) => q(trl),
-      q(6697) => q(trm),
-      q(6698) => q(trn),
-      q(6699) => q(tro),
-      q(6700) => q(trp),
-      q(6701) => q(trq),
-      q(6702) => q(trr),
-      q(6703) => q(trs),
-      q(6704) => q(trt),
-      q(6705) => q(tru),
-      q(6706) => q(trv),
-      q(6707) => q(trw),
-      q(6708) => q(trx),
-      q(6709) => q(try),
-      q(6710) => q(trz),
-      q(6711) => q(tsa),
-      q(6712) => q(tsb),
-      q(6713) => q(tsc),
-      q(6714) => q(tsd),
-      q(6715) => q(tse),
-      q(6716) => q(tsg),
-      q(6717) => q(tsh),
-      q(6718) => q(tsj),
-      q(6719) => q(tsk),
-      q(6720) => q(tsl),
-      q(6721) => q(tsm),
-      q(6722) => q(tsp),
-      q(6723) => q(tsq),
-      q(6724) => q(tsr),
-      q(6725) => q(tss),
-      q(6726) => q(tst),
-      q(6727) => q(tsu),
-      q(6728) => q(tsv),
-      q(6729) => q(tsw),
-      q(6730) => q(tsx),
-      q(6731) => q(tsy),
-      q(6732) => q(tsz),
-      q(6733) => q(tta),
-      q(6734) => q(ttb),
-      q(6735) => q(ttc),
-      q(6736) => q(ttd),
-      q(6737) => q(tte),
-      q(6738) => q(ttf),
-      q(6739) => q(ttg),
-      q(6740) => q(tth),
-      q(6741) => q(tti),
-      q(6742) => q(ttj),
-      q(6743) => q(ttk),
-      q(6744) => q(ttl),
-      q(6745) => q(ttm),
-      q(6746) => q(ttn),
-      q(6747) => q(tto),
-      q(6748) => q(ttp),
-      q(6749) => q(ttq),
-      q(6750) => q(ttr),
-      q(6751) => q(tts),
-      q(6752) => q(ttt),
-      q(6753) => q(ttu),
-      q(6754) => q(ttv),
-      q(6755) => q(ttw),
-      q(6756) => q(tty),
-      q(6757) => q(ttz),
-      q(6758) => q(tua),
-      q(6759) => q(tub),
-      q(6760) => q(tuc),
-      q(6761) => q(tud),
-      q(6762) => q(tue),
-      q(6763) => q(tuf),
-      q(6764) => q(tug),
-      q(6765) => q(tuh),
-      q(6766) => q(tui),
-      q(6767) => q(tuj),
-      q(6768) => q(tul),
-      q(6769) => q(tun),
-      q(6770) => q(tuo),
-      q(6771) => q(tuq),
-      q(6772) => q(tus),
-      q(6773) => q(tuu),
-      q(6774) => q(tuv),
-      q(6775) => q(tux),
-      q(6776) => q(tuy),
-      q(6777) => q(tuz),
-      q(6778) => q(tva),
-      q(6779) => q(tvd),
-      q(6780) => q(tve),
-      q(6781) => q(tvk),
-      q(6782) => q(tvm),
-      q(6783) => q(tvn),
-      q(6784) => q(tvo),
-      q(6785) => q(tvs),
-      q(6786) => q(tvt),
-      q(6787) => q(tvu),
-      q(6788) => q(tvw),
-      q(6789) => q(tvy),
-      q(6790) => q(twa),
-      q(6791) => q(twb),
-      q(6792) => q(twc),
-      q(6793) => q(twd),
-      q(6794) => q(twe),
-      q(6795) => q(twf),
-      q(6796) => q(twg),
-      q(6797) => q(twh),
-      q(6798) => q(twl),
-      q(6799) => q(twm),
-      q(6800) => q(twn),
-      q(6801) => q(two),
-      q(6802) => q(twp),
-      q(6803) => q(twq),
-      q(6804) => q(twr),
-      q(6805) => q(twt),
-      q(6806) => q(twu),
-      q(6807) => q(tww),
-      q(6808) => q(twx),
-      q(6809) => q(twy),
-      q(6810) => q(txa),
-      q(6811) => q(txb),
-      q(6812) => q(txc),
-      q(6813) => q(txe),
-      q(6814) => q(txg),
-      q(6815) => q(txh),
-      q(6816) => q(txi),
-      q(6817) => q(txj),
-      q(6818) => q(txm),
-      q(6819) => q(txn),
-      q(6820) => q(txo),
-      q(6821) => q(txq),
-      q(6822) => q(txr),
-      q(6823) => q(txs),
-      q(6824) => q(txt),
-      q(6825) => q(txu),
-      q(6826) => q(txx),
-      q(6827) => q(txy),
-      q(6828) => q(tya),
-      q(6829) => q(tye),
-      q(6830) => q(tyh),
-      q(6831) => q(tyi),
-      q(6832) => q(tyj),
-      q(6833) => q(tyl),
-      q(6834) => q(tyn),
-      q(6835) => q(typ),
-      q(6836) => q(tyr),
-      q(6837) => q(tys),
-      q(6838) => q(tyt),
-      q(6839) => q(tyu),
-      q(6840) => q(tyx),
-      q(6841) => q(tyz),
-      q(6842) => q(tza),
-      q(6843) => q(tzh),
-      q(6844) => q(tzj),
-      q(6845) => q(tzl),
-      q(6846) => q(tzm),
-      q(6847) => q(tzn),
-      q(6848) => q(tzo),
-      q(6849) => q(tzx),
-      q(6850) => q(uam),
-      q(6851) => q(uan),
-      q(6852) => q(uar),
-      q(6853) => q(uba),
-      q(6854) => q(ubi),
-      q(6855) => q(ubl),
-      q(6856) => q(ubr),
-      q(6857) => q(ubu),
-      q(6858) => q(uby),
-      q(6859) => q(uda),
-      q(6860) => q(ude),
-      q(6861) => q(udg),
-      q(6862) => q(udi),
-      q(6863) => q(udj),
-      q(6864) => q(udl),
-      q(6865) => q(udu),
-      q(6866) => q(ues),
-      q(6867) => q(ufi),
-      q(6868) => q(ugb),
-      q(6869) => q(uge),
-      q(6870) => q(ugn),
-      q(6871) => q(ugo),
-      q(6872) => q(ugy),
-      q(6873) => q(uha),
-      q(6874) => q(uhn),
-      q(6875) => q(uis),
-      q(6876) => q(uiv),
-      q(6877) => q(uji),
-      q(6878) => q(uka),
-      q(6879) => q(ukg),
-      q(6880) => q(ukh),
-      q(6881) => q(ukl),
-      q(6882) => q(ukp),
-      q(6883) => q(ukq),
-      q(6884) => q(uks),
-      q(6885) => q(uku),
-      q(6886) => q(ukw),
-      q(6887) => q(uky),
-      q(6888) => q(ula),
-      q(6889) => q(ulb),
-      q(6890) => q(ulc),
-      q(6891) => q(ule),
-      q(6892) => q(ulf),
-      q(6893) => q(uli),
-      q(6894) => q(ulk),
-      q(6895) => q(ull),
-      q(6896) => q(ulm),
-      q(6897) => q(uln),
-      q(6898) => q(ulu),
-      q(6899) => q(ulw),
-      q(6900) => q(uma),
-      q(6901) => q(umc),
-      q(6902) => q(umd),
-      q(6903) => q(umg),
-      q(6904) => q(umi),
-      q(6905) => q(umm),
-      q(6906) => q(umn),
-      q(6907) => q(umo),
-      q(6908) => q(ump),
-      q(6909) => q(umr),
-      q(6910) => q(ums),
-      q(6911) => q(umu),
-      q(6912) => q(una),
-      q(6913) => q(une),
-      q(6914) => q(ung),
-      q(6915) => q(unk),
-      q(6916) => q(unm),
-      q(6917) => q(unn),
-      q(6918) => q(unr),
-      q(6919) => q(unu),
-      q(6920) => q(unx),
-      q(6921) => q(unz),
-      q(6922) => q(upi),
-      q(6923) => q(upv),
-      q(6924) => q(ura),
-      q(6925) => q(urb),
-      q(6926) => q(urc),
-      q(6927) => q(ure),
-      q(6928) => q(urf),
-      q(6929) => q(urg),
-      q(6930) => q(urh),
-      q(6931) => q(uri),
-      q(6932) => q(urk),
-      q(6933) => q(url),
-      q(6934) => q(urm),
-      q(6935) => q(urn),
-      q(6936) => q(uro),
-      q(6937) => q(urp),
-      q(6938) => q(urr),
-      q(6939) => q(urt),
-      q(6940) => q(uru),
-      q(6941) => q(urv),
-      q(6942) => q(urw),
-      q(6943) => q(urx),
-      q(6944) => q(ury),
-      q(6945) => q(urz),
-      q(6946) => q(usa),
-      q(6947) => q(ush),
-      q(6948) => q(usi),
-      q(6949) => q(usk),
-      q(6950) => q(usp),
-      q(6951) => q(usu),
-      q(6952) => q(uta),
-      q(6953) => q(ute),
-      q(6954) => q(utp),
-      q(6955) => q(utr),
-      q(6956) => q(utu),
-      q(6957) => q(uum),
-      q(6958) => q(uun),
-      q(6959) => q(uur),
-      q(6960) => q(uuu),
-      q(6961) => q(uve),
-      q(6962) => q(uvh),
-      q(6963) => q(uvl),
-      q(6964) => q(uwa),
-      q(6965) => q(uya),
-      q(6966) => q(uzn),
-      q(6967) => q(uzs),
-      q(6968) => q(vaa),
-      q(6969) => q(vae),
-      q(6970) => q(vaf),
-      q(6971) => q(vag),
-      q(6972) => q(vah),
-      q(6973) => q(vaj),
-      q(6974) => q(val),
-      q(6975) => q(vam),
-      q(6976) => q(van),
-      q(6977) => q(vao),
-      q(6978) => q(vap),
-      q(6979) => q(var),
-      q(6980) => q(vas),
-      q(6981) => q(vau),
-      q(6982) => q(vav),
-      q(6983) => q(vay),
-      q(6984) => q(vbb),
-      q(6985) => q(vbk),
-      q(6986) => q(vec),
-      q(6987) => q(ved),
-      q(6988) => q(vel),
-      q(6989) => q(vem),
-      q(6990) => q(veo),
-      q(6991) => q(vep),
-      q(6992) => q(ver),
-      q(6993) => q(vgr),
-      q(6994) => q(vgt),
-      q(6995) => q(vic),
-      q(6996) => q(vid),
-      q(6997) => q(vif),
-      q(6998) => q(vig),
-      q(6999) => q(vil),
-      q(7000) => q(vin),
-      q(7001) => q(vis),
-      q(7002) => q(vit),
-      q(7003) => q(viv),
-      q(7004) => q(vka),
-      q(7005) => q(vki),
-      q(7006) => q(vkj),
-      q(7007) => q(vkk),
-      q(7008) => q(vkl),
-      q(7009) => q(vkm),
-      q(7010) => q(vko),
-      q(7011) => q(vkp),
-      q(7012) => q(vkt),
-      q(7013) => q(vku),
-      q(7014) => q(vlp),
-      q(7015) => q(vls),
-      q(7016) => q(vma),
-      q(7017) => q(vmb),
-      q(7018) => q(vmc),
-      q(7019) => q(vmd),
-      q(7020) => q(vme),
-      q(7021) => q(vmf),
-      q(7022) => q(vmg),
-      q(7023) => q(vmh),
-      q(7024) => q(vmi),
-      q(7025) => q(vmj),
-      q(7026) => q(vmk),
-      q(7027) => q(vml),
-      q(7028) => q(vmm),
-      q(7029) => q(vmp),
-      q(7030) => q(vmq),
-      q(7031) => q(vmr),
-      q(7032) => q(vms),
-      q(7033) => q(vmu),
-      q(7034) => q(vmv),
-      q(7035) => q(vmw),
-      q(7036) => q(vmx),
-      q(7037) => q(vmy),
-      q(7038) => q(vmz),
-      q(7039) => q(vnk),
-      q(7040) => q(vnm),
-      q(7041) => q(vnp),
-      q(7042) => q(vro),
-      q(7043) => q(vra),
-      q(7044) => q(vrs),
-      q(7045) => q(vrt),
-      q(7046) => q(vsi),
-      q(7047) => q(vsl),
-      q(7048) => q(vsv),
-      q(7049) => q(vto),
-      q(7050) => q(vum),
-      q(7051) => q(vun),
-      q(7052) => q(vut),
-      q(7053) => q(vwa),
-      q(7054) => q(waa),
-      q(7055) => q(wab),
-      q(7056) => q(wac),
-      q(7057) => q(wad),
-      q(7058) => q(wae),
-      q(7059) => q(waf),
-      q(7060) => q(wag),
-      q(7061) => q(wah),
-      q(7062) => q(wai),
-      q(7063) => q(waj),
-      q(7064) => q(wam),
-      q(7065) => q(wan),
-      q(7066) => q(wao),
-      q(7067) => q(wap),
-      q(7068) => q(waq),
-      q(7069) => q(wat),
-      q(7070) => q(wau),
-      q(7071) => q(wav),
-      q(7072) => q(waw),
-      q(7073) => q(wax),
-      q(7074) => q(way),
-      q(7075) => q(waz),
-      q(7076) => q(wba),
-      q(7077) => q(wbb),
-      q(7078) => q(wbe),
-      q(7079) => q(wbh),
-      q(7080) => q(wbi),
-      q(7081) => q(wbj),
-      q(7082) => q(wbk),
-      q(7083) => q(wbl),
-      q(7084) => q(wbm),
-      q(7085) => q(wbp),
-      q(7086) => q(wbq),
-      q(7087) => q(wbr),
-      q(7088) => q(wbt),
-      q(7089) => q(wbv),
-      q(7090) => q(wbw),
-      q(7091) => q(wca),
-      q(7092) => q(wci),
-      q(7093) => q(wdd),
-      q(7094) => q(wdg),
-      q(7095) => q(wdj),
-      q(7096) => q(wdk),
-      q(7097) => q(wdu),
-      q(7098) => q(wdy),
-      q(7099) => q(wea),
-      q(7100) => q(wec),
-      q(7101) => q(wed),
-      q(7102) => q(weg),
-      q(7103) => q(weh),
-      q(7104) => q(wei),
-      q(7105) => q(wem),
-      q(7106) => q(weo),
-      q(7107) => q(wep),
-      q(7108) => q(wer),
-      q(7109) => q(wes),
-      q(7110) => q(wet),
-      q(7111) => q(weu),
-      q(7112) => q(wew),
-      q(7113) => q(wfg),
-      q(7114) => q(wga),
-      q(7115) => q(wgb),
-      q(7116) => q(wgg),
-      q(7117) => q(wgi),
-      q(7118) => q(wgo),
-      q(7119) => q(wgu),
-      q(7120) => q(wgy),
-      q(7121) => q(wha),
-      q(7122) => q(whg),
-      q(7123) => q(whk),
-      q(7124) => q(whu),
-      q(7125) => q(wib),
-      q(7126) => q(wic),
-      q(7127) => q(wie),
-      q(7128) => q(wif),
-      q(7129) => q(wig),
-      q(7130) => q(wih),
-      q(7131) => q(wii),
-      q(7132) => q(wij),
-      q(7133) => q(wik),
-      q(7134) => q(wil),
-      q(7135) => q(wim),
-      q(7136) => q(win),
-      q(7137) => q(wir),
-      q(7138) => q(wiu),
-      q(7139) => q(wiv),
-      q(7140) => q(wiy),
-      q(7141) => q(wja),
-      q(7142) => q(wji),
-      q(7143) => q(wka),
-      q(7144) => q(wkb),
-      q(7145) => q(wkd),
-      q(7146) => q(wkl),
-      q(7147) => q(wku),
-      q(7148) => q(wkw),
-      q(7149) => q(wky),
-      q(7150) => q(wla),
-      q(7151) => q(wlc),
-      q(7152) => q(wle),
-      q(7153) => q(wlg),
-      q(7154) => q(wli),
-      q(7155) => q(wlk),
-      q(7156) => q(wll),
-      q(7157) => q(wlm),
-      q(7158) => q(wlo),
-      q(7159) => q(wlr),
-      q(7160) => q(wls),
-      q(7161) => q(wlu),
-      q(7162) => q(wlv),
-      q(7163) => q(wlw),
-      q(7164) => q(wlx),
-      q(7165) => q(wly),
-      q(7166) => q(wma),
-      q(7167) => q(wmb),
-      q(7168) => q(wmc),
-      q(7169) => q(wmd),
-      q(7170) => q(wme),
-      q(7171) => q(wmh),
-      q(7172) => q(wmi),
-      q(7173) => q(wmm),
-      q(7174) => q(wmn),
-      q(7175) => q(wmo),
-      q(7176) => q(wms),
-      q(7177) => q(wmt),
-      q(7178) => q(wmw),
-      q(7179) => q(wmx),
-      q(7180) => q(wnb),
-      q(7181) => q(wnc),
-      q(7182) => q(wnd),
-      q(7183) => q(wne),
-      q(7184) => q(wng),
-      q(7185) => q(wni),
-      q(7186) => q(wnk),
-      q(7187) => q(wnm),
-      q(7188) => q(wnn),
-      q(7189) => q(wno),
-      q(7190) => q(wnp),
-      q(7191) => q(wnu),
-      q(7192) => q(wnw),
-      q(7193) => q(wny),
-      q(7194) => q(woa),
-      q(7195) => q(wob),
-      q(7196) => q(woc),
-      q(7197) => q(wod),
-      q(7198) => q(woe),
-      q(7199) => q(wof),
-      q(7200) => q(wog),
-      q(7201) => q(woi),
-      q(7202) => q(wok),
-      q(7203) => q(wom),
-      q(7204) => q(won),
-      q(7205) => q(woo),
-      q(7206) => q(wor),
-      q(7207) => q(wos),
-      q(7208) => q(wow),
-      q(7209) => q(woy),
-      q(7210) => q(wpc),
-      q(7211) => q(wra),
-      q(7212) => q(wrb),
-      q(7213) => q(wrd),
-      q(7214) => q(wrg),
-      q(7215) => q(wrh),
-      q(7216) => q(wri),
-      q(7217) => q(wrk),
-      q(7218) => q(wrl),
-      q(7219) => q(wrm),
-      q(7220) => q(wrn),
-      q(7221) => q(wro),
-      q(7222) => q(wrp),
-      q(7223) => q(wrr),
-      q(7224) => q(wrs),
-      q(7225) => q(wru),
-      q(7226) => q(wrv),
-      q(7227) => q(wrw),
-      q(7228) => q(wrx),
-      q(7229) => q(wry),
-      q(7230) => q(wrz),
-      q(7231) => q(wsa),
-      q(7232) => q(wsi),
-      q(7233) => q(wsk),
-      q(7234) => q(wsr),
-      q(7235) => q(wss),
-      q(7236) => q(wsu),
-      q(7237) => q(wsv),
-      q(7238) => q(wtf),
-      q(7239) => q(wth),
-      q(7240) => q(wti),
-      q(7241) => q(wtk),
-      q(7242) => q(wtm),
-      q(7243) => q(wtw),
-      q(7244) => q(wua),
-      q(7245) => q(wub),
-      q(7246) => q(wud),
-      q(7247) => q(wuh),
-      q(7248) => q(wul),
-      q(7249) => q(wum),
-      q(7250) => q(wun),
-      q(7251) => q(wur),
-      q(7252) => q(wut),
-      q(7253) => q(wuu),
-      q(7254) => q(wuv),
-      q(7255) => q(wux),
-      q(7256) => q(wuy),
-      q(7257) => q(wwa),
-      q(7258) => q(wwb),
-      q(7259) => q(wwo),
-      q(7260) => q(wwr),
-      q(7261) => q(www),
-      q(7262) => q(wxa),
-      q(7263) => q(wxw),
-      q(7264) => q(wya),
-      q(7265) => q(wyb),
-      q(7266) => q(wyi),
-      q(7267) => q(wym),
-      q(7268) => q(wyr),
-      q(7269) => q(wyy),
-      q(7270) => q(xaa),
-      q(7271) => q(xab),
-      q(7272) => q(xac),
-      q(7273) => q(xad),
-      q(7274) => q(xae),
-      q(7275) => q(xag),
-      q(7276) => q(xai),
-      q(7277) => q(xaj),
-      q(7278) => q(xam),
-      q(7279) => q(xan),
-      q(7280) => q(xao),
-      q(7281) => q(xap),
-      q(7282) => q(xaq),
-      q(7283) => q(xar),
-      q(7284) => q(xas),
-      q(7285) => q(xat),
-      q(7286) => q(xau),
-      q(7287) => q(xav),
-      q(7288) => q(xaw),
-      q(7289) => q(xay),
-      q(7290) => q(xba),
-      q(7291) => q(xbb),
-      q(7292) => q(xbc),
-      q(7293) => q(xbd),
-      q(7294) => q(xbe),
-      q(7295) => q(xbg),
-      q(7296) => q(xbi),
-      q(7297) => q(xbj),
-      q(7298) => q(xbm),
-      q(7299) => q(xbn),
-      q(7300) => q(xbo),
-      q(7301) => q(xbp),
-      q(7302) => q(xbr),
-      q(7303) => q(xbw),
-      q(7304) => q(xbx),
-      q(7305) => q(xby),
-      q(7306) => q(xcb),
-      q(7307) => q(xcc),
-      q(7308) => q(xce),
-      q(7309) => q(xcg),
-      q(7310) => q(xch),
-      q(7311) => q(xcl),
-      q(7312) => q(xcm),
-      q(7313) => q(xcn),
-      q(7314) => q(xco),
-      q(7315) => q(xcr),
-      q(7316) => q(xct),
-      q(7317) => q(xcu),
-      q(7318) => q(xcv),
-      q(7319) => q(xcw),
-      q(7320) => q(xcy),
-      q(7321) => q(xda),
-      q(7322) => q(xdc),
-      q(7323) => q(xdk),
-      q(7324) => q(xdm),
-      q(7325) => q(xdy),
-      q(7326) => q(xeb),
-      q(7327) => q(xed),
-      q(7328) => q(xeg),
-      q(7329) => q(xel),
-      q(7330) => q(xem),
-      q(7331) => q(xep),
-      q(7332) => q(xer),
-      q(7333) => q(xes),
-      q(7334) => q(xet),
-      q(7335) => q(xeu),
-      q(7336) => q(xfa),
-      q(7337) => q(xga),
-      q(7338) => q(xgb),
-      q(7339) => q(xgd),
-      q(7340) => q(xgf),
-      q(7341) => q(xgg),
-      q(7342) => q(xgi),
-      q(7343) => q(xgl),
-      q(7344) => q(xgm),
-      q(7345) => q(xgr),
-      q(7346) => q(xgu),
-      q(7347) => q(xgw),
-      q(7348) => q(xha),
-      q(7349) => q(xhc),
-      q(7350) => q(xhd),
-      q(7351) => q(xhe),
-      q(7352) => q(xhr),
-      q(7353) => q(xht),
-      q(7354) => q(xhu),
-      q(7355) => q(xhv),
-      q(7356) => q(xib),
-      q(7357) => q(xii),
-      q(7358) => q(xil),
-      q(7359) => q(xin),
-      q(7360) => q(xip),
-      q(7361) => q(xir),
-      q(7362) => q(xis),
-      q(7363) => q(xiv),
-      q(7364) => q(xiy),
-      q(7365) => q(xjb),
-      q(7366) => q(xjt),
-      q(7367) => q(xka),
-      q(7368) => q(xkb),
-      q(7369) => q(xkc),
-      q(7370) => q(xkd),
-      q(7371) => q(xke),
-      q(7372) => q(xkf),
-      q(7373) => q(xkg),
-      q(7374) => q(xkh),
-      q(7375) => q(xki),
-      q(7376) => q(xkj),
-      q(7377) => q(xkk),
-      q(7378) => q(xkl),
-      q(7379) => q(xkn),
-      q(7380) => q(xko),
-      q(7381) => q(xkp),
-      q(7382) => q(xkq),
-      q(7383) => q(xkr),
-      q(7384) => q(xks),
-      q(7385) => q(xkt),
-      q(7386) => q(xku),
-      q(7387) => q(xkv),
-      q(7388) => q(xkw),
-      q(7389) => q(xkx),
-      q(7390) => q(xky),
-      q(7391) => q(xkz),
-      q(7392) => q(xla),
-      q(7393) => q(xlb),
-      q(7394) => q(xlc),
-      q(7395) => q(xld),
-      q(7396) => q(xle),
-      q(7397) => q(xlg),
-      q(7398) => q(xli),
-      q(7399) => q(xln),
-      q(7400) => q(xlo),
-      q(7401) => q(xlp),
-      q(7402) => q(xls),
-      q(7403) => q(xlu),
-      q(7404) => q(xly),
-      q(7405) => q(xma),
-      q(7406) => q(xmb),
-      q(7407) => q(xmc),
-      q(7408) => q(xmd),
-      q(7409) => q(xme),
-      q(7410) => q(xmf),
-      q(7411) => q(xmg),
-      q(7412) => q(xmh),
-      q(7413) => q(xmj),
-      q(7414) => q(xmk),
-      q(7415) => q(xml),
-      q(7416) => q(xmm),
-      q(7417) => q(xmn),
-      q(7418) => q(xmo),
-      q(7419) => q(xmp),
-      q(7420) => q(xmq),
-      q(7421) => q(xmr),
-      q(7422) => q(xms),
-      q(7423) => q(xmt),
-      q(7424) => q(xmu),
-      q(7425) => q(xmv),
-      q(7426) => q(xmw),
-      q(7427) => q(xmx),
-      q(7428) => q(xmy),
-      q(7429) => q(xmz),
-      q(7430) => q(xna),
-      q(7431) => q(xnb),
-      q(7432) => q(xng),
-      q(7433) => q(xnh),
-      q(7434) => q(xni),
-      q(7435) => q(xnk),
-      q(7436) => q(xnn),
-      q(7437) => q(xno),
-      q(7438) => q(xnr),
-      q(7439) => q(xns),
-      q(7440) => q(xnt),
-      q(7441) => q(xnu),
-      q(7442) => q(xny),
-      q(7443) => q(xnz),
-      q(7444) => q(xoc),
-      q(7445) => q(xod),
-      q(7446) => q(xog),
-      q(7447) => q(xoi),
-      q(7448) => q(xok),
-      q(7449) => q(xom),
-      q(7450) => q(xon),
-      q(7451) => q(xoo),
-      q(7452) => q(xop),
-      q(7453) => q(xor),
-      q(7454) => q(xow),
-      q(7455) => q(xpa),
-      q(7456) => q(xpc),
-      q(7457) => q(xpe),
-      q(7458) => q(xpg),
-      q(7459) => q(xpi),
-      q(7460) => q(xpj),
-      q(7461) => q(xpk),
-      q(7462) => q(xpm),
-      q(7463) => q(xpn),
-      q(7464) => q(xpo),
-      q(7465) => q(xpp),
-      q(7466) => q(xpq),
-      q(7467) => q(xpr),
-      q(7468) => q(xps),
-      q(7469) => q(xpt),
-      q(7470) => q(xpu),
-      q(7471) => q(xpy),
-      q(7472) => q(xqa),
-      q(7473) => q(xqt),
-      q(7474) => q(xra),
-      q(7475) => q(xrb),
-      q(7476) => q(xrd),
-      q(7477) => q(xre),
-      q(7478) => q(xrg),
-      q(7479) => q(xri),
-      q(7480) => q(xrm),
-      q(7481) => q(xrn),
-      q(7482) => q(xrq),
-      q(7483) => q(xrr),
-      q(7484) => q(xrt),
-      q(7485) => q(xru),
-      q(7486) => q(xrw),
-      q(7487) => q(xsa),
-      q(7488) => q(xsb),
-      q(7489) => q(xsc),
-      q(7490) => q(xsd),
-      q(7491) => q(xse),
-      q(7492) => q(xsh),
-      q(7493) => q(xsi),
-      q(7494) => q(xsl),
-      q(7495) => q(xsm),
-      q(7496) => q(xsn),
-      q(7497) => q(xso),
-      q(7498) => q(xsp),
-      q(7499) => q(xsq),
-      q(7500) => q(xsr),
-      q(7501) => q(xss),
-      q(7502) => q(xsu),
-      q(7503) => q(xsv),
-      q(7504) => q(xsy),
-      q(7505) => q(xta),
-      q(7506) => q(xtb),
-      q(7507) => q(xtc),
-      q(7508) => q(xtd),
-      q(7509) => q(xte),
-      q(7510) => q(xtg),
-      q(7511) => q(xth),
-      q(7512) => q(xti),
-      q(7513) => q(xtj),
-      q(7514) => q(xtl),
-      q(7515) => q(xtm),
-      q(7516) => q(xtn),
-      q(7517) => q(xto),
-      q(7518) => q(xtp),
-      q(7519) => q(xtq),
-      q(7520) => q(xtr),
-      q(7521) => q(xts),
-      q(7522) => q(xtt),
-      q(7523) => q(xtu),
-      q(7524) => q(xtv),
-      q(7525) => q(xtw),
-      q(7526) => q(xty),
-      q(7527) => q(xtz),
-      q(7528) => q(xua),
-      q(7529) => q(xub),
-      q(7530) => q(xud),
-      q(7531) => q(xug),
-      q(7532) => q(xuj),
-      q(7533) => q(xul),
-      q(7534) => q(xum),
-      q(7535) => q(xun),
-      q(7536) => q(xuo),
-      q(7537) => q(xup),
-      q(7538) => q(xur),
-      q(7539) => q(xut),
-      q(7540) => q(xuu),
-      q(7541) => q(xve),
-      q(7542) => q(xvi),
-      q(7543) => q(xvn),
-      q(7544) => q(xvo),
-      q(7545) => q(xvs),
-      q(7546) => q(xwa),
-      q(7547) => q(xwc),
-      q(7548) => q(xwd),
-      q(7549) => q(xwe),
-      q(7550) => q(xwg),
-      q(7551) => q(xwj),
-      q(7552) => q(xwk),
-      q(7553) => q(xwl),
-      q(7554) => q(xwo),
-      q(7555) => q(xwr),
-      q(7556) => q(xwt),
-      q(7557) => q(xww),
-      q(7558) => q(xxb),
-      q(7559) => q(xxk),
-      q(7560) => q(xxm),
-      q(7561) => q(xxr),
-      q(7562) => q(xxt),
-      q(7563) => q(xya),
-      q(7564) => q(xyb),
-      q(7565) => q(xyj),
-      q(7566) => q(xyk),
-      q(7567) => q(xyl),
-      q(7568) => q(xyt),
-      q(7569) => q(xyy),
-      q(7570) => q(xzh),
-      q(7571) => q(xzm),
-      q(7572) => q(xzp),
-      q(7573) => q(yaa),
-      q(7574) => q(yab),
-      q(7575) => q(yac),
-      q(7576) => q(yad),
-      q(7577) => q(yae),
-      q(7578) => q(yaf),
-      q(7579) => q(yag),
-      q(7580) => q(yah),
-      q(7581) => q(yai),
-      q(7582) => q(yaj),
-      q(7583) => q(yak),
-      q(7584) => q(yal),
-      q(7585) => q(yam),
-      q(7586) => q(yan),
-      q(7587) => q(yaq),
-      q(7588) => q(yar),
-      q(7589) => q(yas),
-      q(7590) => q(yat),
-      q(7591) => q(yau),
-      q(7592) => q(yav),
-      q(7593) => q(yaw),
-      q(7594) => q(yax),
-      q(7595) => q(yay),
-      q(7596) => q(yaz),
-      q(7597) => q(yba),
-      q(7598) => q(ybb),
-      q(7599) => q(ybe),
-      q(7600) => q(ybh),
-      q(7601) => q(ybi),
-      q(7602) => q(ybj),
-      q(7603) => q(ybk),
-      q(7604) => q(ybl),
-      q(7605) => q(ybm),
-      q(7606) => q(ybn),
-      q(7607) => q(ybo),
-      q(7608) => q(ybx),
-      q(7609) => q(yby),
-      q(7610) => q(ych),
-      q(7611) => q(ycl),
-      q(7612) => q(ycn),
-      q(7613) => q(ycp),
-      q(7614) => q(yda),
-      q(7615) => q(ydd),
-      q(7616) => q(yde),
-      q(7617) => q(ydg),
-      q(7618) => q(ydk),
-      q(7619) => q(yea),
-      q(7620) => q(yec),
-      q(7621) => q(yee),
-      q(7622) => q(yei),
-      q(7623) => q(yej),
-      q(7624) => q(yel),
-      q(7625) => q(yer),
-      q(7626) => q(yes),
-      q(7627) => q(yet),
-      q(7628) => q(yeu),
-      q(7629) => q(yev),
-      q(7630) => q(yey),
-      q(7631) => q(yga),
-      q(7632) => q(ygi),
-      q(7633) => q(ygl),
-      q(7634) => q(ygm),
-      q(7635) => q(ygp),
-      q(7636) => q(ygr),
-      q(7637) => q(ygs),
-      q(7638) => q(ygu),
-      q(7639) => q(ygw),
-      q(7640) => q(yha),
-      q(7641) => q(yhd),
-      q(7642) => q(yhl),
-      q(7643) => q(yhs),
-      q(7644) => q(yia),
-      q(7645) => q(yig),
-      q(7646) => q(yih),
-      q(7647) => q(yii),
-      q(7648) => q(yij),
-      q(7649) => q(yik),
-      q(7650) => q(yil),
-      q(7651) => q(yim),
-      q(7652) => q(yin),
-      q(7653) => q(yip),
-      q(7654) => q(yiq),
-      q(7655) => q(yir),
-      q(7656) => q(yis),
-      q(7657) => q(yit),
-      q(7658) => q(yiu),
-      q(7659) => q(yiv),
-      q(7660) => q(yix),
-      q(7661) => q(yiz),
-      q(7662) => q(yka),
-      q(7663) => q(ykg),
-      q(7664) => q(yki),
-      q(7665) => q(ykk),
-      q(7666) => q(ykl),
-      q(7667) => q(ykm),
-      q(7668) => q(ykn),
-      q(7669) => q(yko),
-      q(7670) => q(ykr),
-      q(7671) => q(ykt),
-      q(7672) => q(yku),
-      q(7673) => q(yky),
-      q(7674) => q(yla),
-      q(7675) => q(ylb),
-      q(7676) => q(yle),
-      q(7677) => q(ylg),
-      q(7678) => q(yli),
-      q(7679) => q(yll),
-      q(7680) => q(ylm),
-      q(7681) => q(yln),
-      q(7682) => q(ylo),
-      q(7683) => q(ylr),
-      q(7684) => q(ylu),
-      q(7685) => q(yly),
-      q(7686) => q(ymb),
-      q(7687) => q(ymc),
-      q(7688) => q(ymd),
-      q(7689) => q(yme),
-      q(7690) => q(ymg),
-      q(7691) => q(ymh),
-      q(7692) => q(ymi),
-      q(7693) => q(ymk),
-      q(7694) => q(yml),
-      q(7695) => q(ymm),
-      q(7696) => q(ymn),
-      q(7697) => q(ymo),
-      q(7698) => q(ymp),
-      q(7699) => q(ymq),
-      q(7700) => q(ymr),
-      q(7701) => q(yms),
-      q(7702) => q(ymx),
-      q(7703) => q(ymz),
-      q(7704) => q(yna),
-      q(7705) => q(ynd),
-      q(7706) => q(yne),
-      q(7707) => q(yng),
-      q(7708) => q(ynk),
-      q(7709) => q(ynl),
-      q(7710) => q(ynn),
-      q(7711) => q(yno),
-      q(7712) => q(ynq),
-      q(7713) => q(yns),
-      q(7714) => q(ynu),
-      q(7715) => q(yob),
-      q(7716) => q(yog),
-      q(7717) => q(yoi),
-      q(7718) => q(yok),
-      q(7719) => q(yol),
-      q(7720) => q(yom),
-      q(7721) => q(yon),
-      q(7722) => q(yot),
-      q(7723) => q(yox),
-      q(7724) => q(yoy),
-      q(7725) => q(ypa),
-      q(7726) => q(ypb),
-      q(7727) => q(ypg),
-      q(7728) => q(yph),
-      q(7729) => q(ypm),
-      q(7730) => q(ypn),
-      q(7731) => q(ypo),
-      q(7732) => q(ypp),
-      q(7733) => q(ypz),
-      q(7734) => q(yra),
-      q(7735) => q(yrb),
-      q(7736) => q(yre),
-      q(7737) => q(yri),
-      q(7738) => q(yrk),
-      q(7739) => q(yrl),
-      q(7740) => q(yrm),
-      q(7741) => q(yrn),
-      q(7742) => q(yrs),
-      q(7743) => q(yrw),
-      q(7744) => q(yry),
-      q(7745) => q(ysc),
-      q(7746) => q(ysd),
-      q(7747) => q(ysg),
-      q(7748) => q(ysl),
-      q(7749) => q(ysn),
-      q(7750) => q(yso),
-      q(7751) => q(ysp),
-      q(7752) => q(ysr),
-      q(7753) => q(yss),
-      q(7754) => q(ysy),
-      q(7755) => q(yta),
-      q(7756) => q(ytl),
-      q(7757) => q(ytp),
-      q(7758) => q(ytw),
-      q(7759) => q(yty),
-      q(7760) => q(yua),
-      q(7761) => q(yub),
-      q(7762) => q(yuc),
-      q(7763) => q(yud),
-      q(7764) => q(yue),
-      q(7765) => q(yuf),
-      q(7766) => q(yug),
-      q(7767) => q(yui),
-      q(7768) => q(yuj),
-      q(7769) => q(yuk),
-      q(7770) => q(yul),
-      q(7771) => q(yum),
-      q(7772) => q(yun),
-      q(7773) => q(yup),
-      q(7774) => q(yuq),
-      q(7775) => q(yur),
-      q(7776) => q(yut),
-      q(7777) => q(yuw),
-      q(7778) => q(yux),
-      q(7779) => q(yuy),
-      q(7780) => q(yuz),
-      q(7781) => q(yva),
-      q(7782) => q(yvt),
-      q(7783) => q(ywa),
-      q(7784) => q(ywg),
-      q(7785) => q(ywl),
-      q(7786) => q(ywn),
-      q(7787) => q(ywq),
-      q(7788) => q(ywr),
-      q(7789) => q(ywt),
-      q(7790) => q(ywu),
-      q(7791) => q(yww),
-      q(7792) => q(yxa),
-      q(7793) => q(yxg),
-      q(7794) => q(yxl),
-      q(7795) => q(yxm),
-      q(7796) => q(yxu),
-      q(7797) => q(yxy),
-      q(7798) => q(yyr),
-      q(7799) => q(yyu),
-      q(7800) => q(yyz),
-      q(7801) => q(yzg),
-      q(7802) => q(yzk),
-      q(7803) => q(zaa),
-      q(7804) => q(zab),
-      q(7805) => q(zac),
-      q(7806) => q(zad),
-      q(7807) => q(zae),
-      q(7808) => q(zaf),
-      q(7809) => q(zag),
-      q(7810) => q(zah),
-      q(7811) => q(zai),
-      q(7812) => q(zaj),
-      q(7813) => q(zak),
-      q(7814) => q(zal),
-      q(7815) => q(zam),
-      q(7816) => q(zao),
-      q(7817) => q(zaq),
-      q(7818) => q(zar),
-      q(7819) => q(zas),
-      q(7820) => q(zat),
-      q(7821) => q(zau),
-      q(7822) => q(zav),
-      q(7823) => q(zaw),
-      q(7824) => q(zax),
-      q(7825) => q(zay),
-      q(7826) => q(zaz),
-      q(7827) => q(zbc),
-      q(7828) => q(zbe),
-      q(7829) => q(zbt),
-      q(7830) => q(zbw),
-      q(7831) => q(zca),
-      q(7832) => q(zch),
-      q(7833) => q(zdj),
-      q(7834) => q(zea),
-      q(7835) => q(zeg),
-      q(7836) => q(zeh),
-      q(7837) => q(zga),
-      q(7838) => q(zgb),
-      q(7839) => q(zgm),
-      q(7840) => q(zgn),
-      q(7841) => q(zgr),
-      q(7842) => q(zhb),
-      q(7843) => q(zhd),
-      q(7844) => q(zhi),
-      q(7845) => q(zhn),
-      q(7846) => q(zhw),
-      q(7847) => q(zia),
-      q(7848) => q(zib),
-      q(7849) => q(zik),
-      q(7850) => q(zil),
-      q(7851) => q(zim),
-      q(7852) => q(zin),
-      q(7853) => q(zir),
-      q(7854) => q(ziw),
-      q(7855) => q(ziz),
-      q(7856) => q(zka),
-      q(7857) => q(zkb),
-      q(7858) => q(zkd),
-      q(7859) => q(zkg),
-      q(7860) => q(zkh),
-      q(7861) => q(zkk),
-      q(7862) => q(zkn),
-      q(7863) => q(zko),
-      q(7864) => q(zkp),
-      q(7865) => q(zkr),
-      q(7866) => q(zkt),
-      q(7867) => q(zku),
-      q(7868) => q(zkv),
-      q(7869) => q(zkz),
-      q(7870) => q(zlj),
-      q(7871) => q(zlm),
-      q(7872) => q(zln),
-      q(7873) => q(zlq),
-      q(7874) => q(zma),
-      q(7875) => q(zmb),
-      q(7876) => q(zmc),
-      q(7877) => q(zmd),
-      q(7878) => q(zme),
-      q(7879) => q(zmf),
-      q(7880) => q(zmg),
-      q(7881) => q(zmh),
-      q(7882) => q(zmi),
-      q(7883) => q(zmj),
-      q(7884) => q(zmk),
-      q(7885) => q(zml),
-      q(7886) => q(zmm),
-      q(7887) => q(zmn),
-      q(7888) => q(zmo),
-      q(7889) => q(zmp),
-      q(7890) => q(zmq),
-      q(7891) => q(zmr),
-      q(7892) => q(zms),
-      q(7893) => q(zmt),
-      q(7894) => q(zmu),
-      q(7895) => q(zmv),
-      q(7896) => q(zmw),
-      q(7897) => q(zmx),
-      q(7898) => q(zmy),
-      q(7899) => q(zmz),
-      q(7900) => q(zna),
-      q(7901) => q(zne),
-      q(7902) => q(zng),
-      q(7903) => q(znk),
-      q(7904) => q(zns),
-      q(7905) => q(zoc),
-      q(7906) => q(zoh),
-      q(7907) => q(zom),
-      q(7908) => q(zoo),
-      q(7909) => q(zoq),
-      q(7910) => q(zor),
-      q(7911) => q(zos),
-      q(7912) => q(zpa),
-      q(7913) => q(zpb),
-      q(7914) => q(zpc),
-      q(7915) => q(zpd),
-      q(7916) => q(zpe),
-      q(7917) => q(zpf),
-      q(7918) => q(zpg),
-      q(7919) => q(zph),
-      q(7920) => q(zpi),
-      q(7921) => q(zpj),
-      q(7922) => q(zpk),
-      q(7923) => q(zpl),
-      q(7924) => q(zpm),
-      q(7925) => q(zpn),
-      q(7926) => q(zpo),
-      q(7927) => q(zpp),
-      q(7928) => q(zpq),
-      q(7929) => q(zpr),
-      q(7930) => q(zps),
-      q(7931) => q(zpt),
-      q(7932) => q(zpu),
-      q(7933) => q(zpv),
-      q(7934) => q(zpw),
-      q(7935) => q(zpx),
-      q(7936) => q(zpy),
-      q(7937) => q(zpz),
-      q(7938) => q(zqe),
-      q(7939) => q(zra),
-      q(7940) => q(zrg),
-      q(7941) => q(zrn),
-      q(7942) => q(zro),
-      q(7943) => q(zrp),
-      q(7944) => q(zrs),
-      q(7945) => q(zsa),
-      q(7946) => q(zsk),
-      q(7947) => q(zsl),
-      q(7948) => q(zsm),
-      q(7949) => q(zsr),
-      q(7950) => q(zsu),
-      q(7951) => q(zte),
-      q(7952) => q(ztg),
-      q(7953) => q(ztl),
-      q(7954) => q(ztm),
-      q(7955) => q(ztn),
-      q(7956) => q(ztp),
-      q(7957) => q(ztq),
-      q(7958) => q(zts),
-      q(7959) => q(ztt),
-      q(7960) => q(ztu),
-      q(7961) => q(ztx),
-      q(7962) => q(zty),
-      q(7963) => q(zua),
-      q(7964) => q(zuh),
-      q(7965) => q(zum),
-      q(7966) => q(zuy),
-      q(7967) => q(zwa),
-      q(7968) => q(zyb),
-      q(7969) => q(zyg),
-      q(7970) => q(zyj),
-      q(7971) => q(zyn),
-      q(7972) => q(zyp),
-      q(7973) => q(zzj),
+      q(0921) => q(ato),
+      q(0922) => q(atp),
+      q(0923) => q(atq),
+      q(0924) => q(atr),
+      q(0925) => q(ats),
+      q(0926) => q(att),
+      q(0927) => q(atu),
+      q(0928) => q(atv),
+      q(0929) => q(atw),
+      q(0930) => q(atx),
+      q(0931) => q(aty),
+      q(0932) => q(atz),
+      q(0933) => q(aua),
+      q(0934) => q(aub),
+      q(0935) => q(auc),
+      q(0936) => q(aud),
+      q(0937) => q(aug),
+      q(0938) => q(auh),
+      q(0939) => q(aui),
+      q(0940) => q(auj),
+      q(0941) => q(auk),
+      q(0942) => q(aul),
+      q(0943) => q(aum),
+      q(0944) => q(aun),
+      q(0945) => q(auo),
+      q(0946) => q(aup),
+      q(0947) => q(auq),
+      q(0948) => q(aur),
+      q(0949) => q(aut),
+      q(0950) => q(auu),
+      q(0951) => q(auw),
+      q(0952) => q(aux),
+      q(0953) => q(auy),
+      q(0954) => q(auz),
+      q(0955) => q(avb),
+      q(0956) => q(avd),
+      q(0957) => q(avi),
+      q(0958) => q(avk),
+      q(0959) => q(avl),
+      q(0960) => q(avm),
+      q(0961) => q(avn),
+      q(0962) => q(avo),
+      q(0963) => q(avs),
+      q(0964) => q(avt),
+      q(0965) => q(avu),
+      q(0966) => q(avv),
+      q(0967) => q(awb),
+      q(0968) => q(awc),
+      q(0969) => q(awe),
+      q(0970) => q(awg),
+      q(0971) => q(awh),
+      q(0972) => q(awi),
+      q(0973) => q(awk),
+      q(0974) => q(awm),
+      q(0975) => q(awn),
+      q(0976) => q(awo),
+      q(0977) => q(awr),
+      q(0978) => q(aws),
+      q(0979) => q(awt),
+      q(0980) => q(awu),
+      q(0981) => q(awv),
+      q(0982) => q(aww),
+      q(0983) => q(awx),
+      q(0984) => q(awy),
+      q(0985) => q(axb),
+      q(0986) => q(axe),
+      q(0987) => q(axg),
+      q(0988) => q(axk),
+      q(0989) => q(axl),
+      q(0990) => q(axm),
+      q(0991) => q(axx),
+      q(0992) => q(aya),
+      q(0993) => q(ayb),
+      q(0994) => q(ayc),
+      q(0995) => q(ayd),
+      q(0996) => q(aye),
+      q(0997) => q(ayg),
+      q(0998) => q(ayh),
+      q(0999) => q(ayi),
+      q(1000) => q(ayk),
+      q(1001) => q(ayl),
+      q(1002) => q(ayn),
+      q(1003) => q(ayo),
+      q(1004) => q(ayp),
+      q(1005) => q(ayq),
+      q(1006) => q(ayr),
+      q(1007) => q(ays),
+      q(1008) => q(ayt),
+      q(1009) => q(ayu),
+      q(1010) => q(ayy),
+      q(1011) => q(ayz),
+      q(1012) => q(aza),
+      q(1013) => q(azb),
+      q(1014) => q(azd),
+      q(1015) => q(azg),
+      q(1016) => q(azj),
+      q(1017) => q(azm),
+      q(1018) => q(azn),
+      q(1019) => q(azo),
+      q(1020) => q(azt),
+      q(1021) => q(azz),
+      q(1022) => q(baa),
+      q(1023) => q(bab),
+      q(1024) => q(bac),
+      q(1025) => q(bae),
+      q(1026) => q(baf),
+      q(1027) => q(bag),
+      q(1028) => q(bah),
+      q(1029) => q(baj),
+      q(1030) => q(bao),
+      q(1031) => q(bap),
+      q(1032) => q(bar),
+      q(1033) => q(bau),
+      q(1034) => q(bav),
+      q(1035) => q(baw),
+      q(1036) => q(bax),
+      q(1037) => q(bay),
+      q(1038) => q(bba),
+      q(1039) => q(bbb),
+      q(1040) => q(bbc),
+      q(1041) => q(bbd),
+      q(1042) => q(bbe),
+      q(1043) => q(bbf),
+      q(1044) => q(bbg),
+      q(1045) => q(bbh),
+      q(1046) => q(bbi),
+      q(1047) => q(bbj),
+      q(1048) => q(bbk),
+      q(1049) => q(bbl),
+      q(1050) => q(bbm),
+      q(1051) => q(bbn),
+      q(1052) => q(bbo),
+      q(1053) => q(bbp),
+      q(1054) => q(bbq),
+      q(1055) => q(bbr),
+      q(1056) => q(bbs),
+      q(1057) => q(bbt),
+      q(1058) => q(bbu),
+      q(1059) => q(bbv),
+      q(1060) => q(bbw),
+      q(1061) => q(bbx),
+      q(1062) => q(bby),
+      q(1063) => q(bbz),
+      q(1064) => q(bca),
+      q(1065) => q(bcb),
+      q(1066) => q(bcc),
+      q(1067) => q(bcd),
+      q(1068) => q(bce),
+      q(1069) => q(bcf),
+      q(1070) => q(bcg),
+      q(1071) => q(bch),
+      q(1072) => q(bci),
+      q(1073) => q(bcj),
+      q(1074) => q(bck),
+      q(1075) => q(bcl),
+      q(1076) => q(bcm),
+      q(1077) => q(bcn),
+      q(1078) => q(bco),
+      q(1079) => q(bcp),
+      q(1080) => q(bcq),
+      q(1081) => q(bcr),
+      q(1082) => q(bcs),
+      q(1083) => q(bct),
+      q(1084) => q(bcu),
+      q(1085) => q(bcv),
+      q(1086) => q(bcw),
+      q(1087) => q(bcy),
+      q(1088) => q(bcz),
+      q(1089) => q(bda),
+      q(1090) => q(bdb),
+      q(1091) => q(bdc),
+      q(1092) => q(bdd),
+      q(1093) => q(bde),
+      q(1094) => q(bdf),
+      q(1095) => q(bdg),
+      q(1096) => q(bdh),
+      q(1097) => q(bdi),
+      q(1098) => q(bdj),
+      q(1099) => q(bdk),
+      q(1100) => q(bdl),
+      q(1101) => q(bdm),
+      q(1102) => q(bdn),
+      q(1103) => q(bdo),
+      q(1104) => q(bdp),
+      q(1105) => q(bdq),
+      q(1106) => q(bdr),
+      q(1107) => q(bds),
+      q(1108) => q(bdt),
+      q(1109) => q(bdu),
+      q(1110) => q(bdv),
+      q(1111) => q(bdw),
+      q(1112) => q(bdx),
+      q(1113) => q(bdy),
+      q(1114) => q(bdz),
+      q(1115) => q(bea),
+      q(1116) => q(beb),
+      q(1117) => q(bec),
+      q(1118) => q(bed),
+      q(1119) => q(bee),
+      q(1120) => q(bef),
+      q(1121) => q(beg),
+      q(1122) => q(beh),
+      q(1123) => q(bei),
+      q(1124) => q(bek),
+      q(1125) => q(beo),
+      q(1126) => q(bep),
+      q(1127) => q(beq),
+      q(1128) => q(bes),
+      q(1129) => q(bet),
+      q(1130) => q(beu),
+      q(1131) => q(bev),
+      q(1132) => q(bew),
+      q(1133) => q(bex),
+      q(1134) => q(bey),
+      q(1135) => q(bez),
+      q(1136) => q(mot),
+      q(1137) => q(bfb),
+      q(1138) => q(bfc),
+      q(1139) => q(bfd),
+      q(1140) => q(bfe),
+      q(1141) => q(bff),
+      q(1142) => q(bfg),
+      q(1143) => q(bfh),
+      q(1144) => q(bfi),
+      q(1145) => q(bfj),
+      q(1146) => q(bfk),
+      q(1147) => q(bfl),
+      q(1148) => q(bfm),
+      q(1149) => q(bfn),
+      q(1150) => q(bfo),
+      q(1151) => q(bfp),
+      q(1152) => q(bfq),
+      q(1153) => q(bfr),
+      q(1154) => q(bfs),
+      q(1155) => q(bft),
+      q(1156) => q(bfu),
+      q(1157) => q(bfw),
+      q(1158) => q(bfx),
+      q(1159) => q(bfy),
+      q(1160) => q(bfz),
+      q(1161) => q(bga),
+      q(1162) => q(bgb),
+      q(1163) => q(bgc),
+      q(1164) => q(bgd),
+      q(1165) => q(bge),
+      q(1166) => q(bgf),
+      q(1167) => q(bgg),
+      q(1168) => q(bgi),
+      q(1169) => q(bgj),
+      q(1170) => q(bgk),
+      q(1171) => q(bgl),
+      q(1172) => q(bgm),
+      q(1173) => q(bgn),
+      q(1174) => q(bgo),
+      q(1175) => q(bgp),
+      q(1176) => q(bgq),
+      q(1177) => q(bgr),
+      q(1178) => q(bgs),
+      q(1179) => q(bgt),
+      q(1180) => q(bgu),
+      q(1181) => q(bgv),
+      q(1182) => q(bgw),
+      q(1183) => q(bgx),
+      q(1184) => q(bgy),
+      q(1185) => q(bgz),
+      q(1186) => q(bha),
+      q(1187) => q(bhb),
+      q(1188) => q(bhc),
+      q(1189) => q(bhd),
+      q(1190) => q(bhe),
+      q(1191) => q(bhf),
+      q(1192) => q(bhg),
+      q(1193) => q(bhh),
+      q(1194) => q(bhi),
+      q(1195) => q(bhj),
+      q(1196) => q(bhl),
+      q(1197) => q(bhm),
+      q(1198) => q(bhn),
+      q(1199) => q(bhp),
+      q(1200) => q(bhq),
+      q(1201) => q(bhr),
+      q(1202) => q(bhs),
+      q(1203) => q(bht),
+      q(1204) => q(bhu),
+      q(1205) => q(bhv),
+      q(1206) => q(bhw),
+      q(1207) => q(bhx),
+      q(1208) => q(bhy),
+      q(1209) => q(bhz),
+      q(1210) => q(bia),
+      q(1211) => q(bib),
+      q(1212) => q(bic),
+      q(1213) => q(bid),
+      q(1214) => q(bie),
+      q(1215) => q(bif),
+      q(1216) => q(big),
+      q(1217) => q(bij),
+      q(1218) => q(bil),
+      q(1219) => q(bim),
+      q(1220) => q(bio),
+      q(1221) => q(bip),
+      q(1222) => q(biq),
+      q(1223) => q(bir),
+      q(1224) => q(bit),
+      q(1225) => q(biu),
+      q(1226) => q(biv),
+      q(1227) => q(biw),
+      q(1228) => q(bix),
+      q(1229) => q(biy),
+      q(1230) => q(biz),
+      q(1231) => q(bja),
+      q(1232) => q(bjb),
+      q(1233) => q(bjc),
+      q(1234) => q(bje),
+      q(1235) => q(bjf),
+      q(1236) => q(bjg),
+      q(1237) => q(bjh),
+      q(1238) => q(bji),
+      q(1239) => q(bjj),
+      q(1240) => q(bjk),
+      q(1241) => q(bjl),
+      q(1242) => q(bjm),
+      q(1243) => q(bjn),
+      q(1244) => q(bjo),
+      q(1245) => q(bjp),
+      q(1246) => q(bjr),
+      q(1247) => q(bjs),
+      q(1248) => q(bjt),
+      q(1249) => q(bju),
+      q(1250) => q(bjv),
+      q(1251) => q(bjw),
+      q(1252) => q(bjx),
+      q(1253) => q(bjy),
+      q(1254) => q(bjz),
+      q(1255) => q(bka),
+      q(1256) => q(bkc),
+      q(1257) => q(bkd),
+      q(1258) => q(bkf),
+      q(1259) => q(bkg),
+      q(1260) => q(bkh),
+      q(1261) => q(bki),
+      q(1262) => q(bkj),
+      q(1263) => q(bkk),
+      q(1264) => q(bkl),
+      q(1265) => q(bkm),
+      q(1266) => q(bkn),
+      q(1267) => q(bko),
+      q(1268) => q(bkp),
+      q(1269) => q(bkq),
+      q(1270) => q(bkr),
+      q(1271) => q(bks),
+      q(1272) => q(bkt),
+      q(1273) => q(bku),
+      q(1274) => q(bkv),
+      q(1275) => q(bkw),
+      q(1276) => q(bkx),
+      q(1277) => q(bky),
+      q(1278) => q(bkz),
+      q(1279) => q(blb),
+      q(1280) => q(blc),
+      q(1281) => q(bld),
+      q(1282) => q(ble),
+      q(1283) => q(blf),
+      q(1284) => q(blg),
+      q(1285) => q(blh),
+      q(1286) => q(bli),
+      q(1287) => q(blj),
+      q(1288) => q(blk),
+      q(1289) => q(bll),
+      q(1290) => q(blm),
+      q(1291) => q(bln),
+      q(1292) => q(blo),
+      q(1293) => q(blp),
+      q(1294) => q(blq),
+      q(1295) => q(blr),
+      q(1296) => q(bls),
+      q(1297) => q(blt),
+      q(1298) => q(blv),
+      q(1299) => q(blw),
+      q(1300) => q(blx),
+      q(1301) => q(bly),
+      q(1302) => q(blz),
+      q(1303) => q(bma),
+      q(1304) => q(bmb),
+      q(1305) => q(bmc),
+      q(1306) => q(bmd),
+      q(1307) => q(bme),
+      q(1308) => q(bmf),
+      q(1309) => q(bmg),
+      q(1310) => q(bmh),
+      q(1311) => q(bmi),
+      q(1312) => q(bmj),
+      q(1313) => q(bmk),
+      q(1314) => q(bml),
+      q(1315) => q(bmm),
+      q(1316) => q(bmn),
+      q(1317) => q(bmo),
+      q(1318) => q(bmp),
+      q(1319) => q(bmq),
+      q(1320) => q(bmr),
+      q(1321) => q(bms),
+      q(1322) => q(bmt),
+      q(1323) => q(bmu),
+      q(1324) => q(bmv),
+      q(1325) => q(bmw),
+      q(1326) => q(bmx),
+      q(1327) => q(bmz),
+      q(1328) => q(bna),
+      q(1329) => q(bnb),
+      q(1330) => q(bnc),
+      q(1331) => q(bnd),
+      q(1332) => q(bne),
+      q(1333) => q(bnf),
+      q(1334) => q(bng),
+      q(1335) => q(bni),
+      q(1336) => q(bnj),
+      q(1337) => q(bnk),
+      q(1338) => q(bnl),
+      q(1339) => q(bnm),
+      q(1340) => q(bnn),
+      q(1341) => q(bno),
+      q(1342) => q(bnp),
+      q(1343) => q(bnq),
+      q(1344) => q(bnr),
+      q(1345) => q(bns),
+      q(1346) => q(bnu),
+      q(1347) => q(bnv),
+      q(1348) => q(bnw),
+      q(1349) => q(bnx),
+      q(1350) => q(bny),
+      q(1351) => q(bnz),
+      q(1352) => q(boa),
+      q(1353) => q(bob),
+      q(1354) => q(boe),
+      q(1355) => q(bof),
+      q(1356) => q(bog),
+      q(1357) => q(boh),
+      q(1358) => q(boi),
+      q(1359) => q(boj),
+      q(1360) => q(bok),
+      q(1361) => q(bol),
+      q(1362) => q(bom),
+      q(1363) => q(bon),
+      q(1364) => q(boo),
+      q(1365) => q(bop),
+      q(1366) => q(boq),
+      q(1367) => q(bor),
+      q(1368) => q(bot),
+      q(1369) => q(bou),
+      q(1370) => q(bov),
+      q(1371) => q(bow),
+      q(1372) => q(box),
+      q(1373) => q(boy),
+      q(1374) => q(boz),
+      q(1375) => q(bpa),
+      q(1376) => q(bpb),
+      q(1377) => q(bpd),
+      q(1378) => q(bpg),
+      q(1379) => q(bph),
+      q(1380) => q(bpi),
+      q(1381) => q(bpj),
+      q(1382) => q(bpk),
+      q(1383) => q(bpl),
+      q(1384) => q(bpm),
+      q(1385) => q(bpn),
+      q(1386) => q(bpo),
+      q(1387) => q(bpp),
+      q(1388) => q(bpq),
+      q(1389) => q(bpr),
+      q(1390) => q(bps),
+      q(1391) => q(bpt),
+      q(1392) => q(bpu),
+      q(1393) => q(bpv),
+      q(1394) => q(bpw),
+      q(1395) => q(bpx),
+      q(1396) => q(bpy),
+      q(1397) => q(bpz),
+      q(1398) => q(bqa),
+      q(1399) => q(bqb),
+      q(1400) => q(bqc),
+      q(1401) => q(bqd),
+      q(1402) => q(bqf),
+      q(1403) => q(bqg),
+      q(1404) => q(bqh),
+      q(1405) => q(bqi),
+      q(1406) => q(bqj),
+      q(1407) => q(bqk),
+      q(1408) => q(bql),
+      q(1409) => q(bqm),
+      q(1410) => q(bqn),
+      q(1411) => q(bqo),
+      q(1412) => q(bqp),
+      q(1413) => q(bqq),
+      q(1414) => q(bqr),
+      q(1415) => q(bqs),
+      q(1416) => q(bqt),
+      q(1417) => q(bqu),
+      q(1418) => q(bqv),
+      q(1419) => q(bqw),
+      q(1420) => q(bqx),
+      q(1421) => q(bqy),
+      q(1422) => q(bqz),
+      q(1423) => q(brb),
+      q(1424) => q(brc),
+      q(1425) => q(brd),
+      q(1426) => q(brf),
+      q(1427) => q(brg),
+      q(1428) => q(brh),
+      q(1429) => q(bri),
+      q(1430) => q(brj),
+      q(1431) => q(brk),
+      q(1432) => q(brl),
+      q(1433) => q(brm),
+      q(1434) => q(brn),
+      q(1435) => q(bro),
+      q(1436) => q(brp),
+      q(1437) => q(brq),
+      q(1438) => q(brr),
+      q(1439) => q(brs),
+      q(1440) => q(brt),
+      q(1441) => q(bru),
+      q(1442) => q(brv),
+      q(1443) => q(brw),
+      q(1444) => q(brx),
+      q(1445) => q(bry),
+      q(1446) => q(brz),
+      q(1447) => q(bsa),
+      q(1448) => q(bsb),
+      q(1449) => q(bsc),
+      q(1450) => q(bse),
+      q(1451) => q(bsf),
+      q(1452) => q(bsg),
+      q(1453) => q(bsh),
+      q(1454) => q(bsi),
+      q(1455) => q(bsj),
+      q(1456) => q(bsk),
+      q(1457) => q(bsl),
+      q(1458) => q(bsm),
+      q(1459) => q(bsn),
+      q(1460) => q(bso),
+      q(1461) => q(bsp),
+      q(1462) => q(bsq),
+      q(1463) => q(bsr),
+      q(1464) => q(bss),
+      q(1465) => q(bst),
+      q(1466) => q(bsu),
+      q(1467) => q(bsv),
+      q(1468) => q(bsw),
+      q(1469) => q(bsx),
+      q(1470) => q(bsy),
+      q(1471) => q(bta),
+      q(1472) => q(btc),
+      q(1473) => q(btd),
+      q(1474) => q(bte),
+      q(1475) => q(btf),
+      q(1476) => q(btg),
+      q(1477) => q(bth),
+      q(1478) => q(bti),
+      q(1479) => q(btj),
+      q(1480) => q(btl),
+      q(1481) => q(btm),
+      q(1482) => q(btn),
+      q(1483) => q(bto),
+      q(1484) => q(btp),
+      q(1485) => q(btq),
+      q(1486) => q(btr),
+      q(1487) => q(bts),
+      q(1488) => q(btt),
+      q(1489) => q(btu),
+      q(1490) => q(btv),
+      q(1491) => q(btw),
+      q(1492) => q(btx),
+      q(1493) => q(bty),
+      q(1494) => q(btz),
+      q(1495) => q(bub),
+      q(1496) => q(buc),
+      q(1497) => q(bud),
+      q(1498) => q(bue),
+      q(1499) => q(buf),
+      q(1500) => q(buh),
+      q(1501) => q(bui),
+      q(1502) => q(buj),
+      q(1503) => q(buk),
+      q(1504) => q(bum),
+      q(1505) => q(bun),
+      q(1506) => q(buo),
+      q(1507) => q(bup),
+      q(1508) => q(buq),
+      q(1509) => q(bus),
+      q(1510) => q(but),
+      q(1511) => q(buu),
+      q(1512) => q(buv),
+      q(1513) => q(buw),
+      q(1514) => q(bux),
+      q(1515) => q(buy),
+      q(1516) => q(buz),
+      q(1517) => q(bva),
+      q(1518) => q(bvb),
+      q(1519) => q(bvc),
+      q(1520) => q(bvd),
+      q(1521) => q(bve),
+      q(1522) => q(bvf),
+      q(1523) => q(bvg),
+      q(1524) => q(bvh),
+      q(1525) => q(bvi),
+      q(1526) => q(bvj),
+      q(1527) => q(bvk),
+      q(1528) => q(bvl),
+      q(1529) => q(bvm),
+      q(1530) => q(bvn),
+      q(1531) => q(bvo),
+      q(1532) => q(bvp),
+      q(1533) => q(bvq),
+      q(1534) => q(bvr),
+      q(1535) => q(bvt),
+      q(1536) => q(bvu),
+      q(1537) => q(bvv),
+      q(1538) => q(bvw),
+      q(1539) => q(bvx),
+      q(1540) => q(bvy),
+      q(1541) => q(bvz),
+      q(1542) => q(bwa),
+      q(1543) => q(bwb),
+      q(1544) => q(bwc),
+      q(1545) => q(bwd),
+      q(1546) => q(bwe),
+      q(1547) => q(bwf),
+      q(1548) => q(bwg),
+      q(1549) => q(bwh),
+      q(1550) => q(bwi),
+      q(1551) => q(bwj),
+      q(1552) => q(bwk),
+      q(1553) => q(bwl),
+      q(1554) => q(bwm),
+      q(1555) => q(bwn),
+      q(1556) => q(bwo),
+      q(1557) => q(bwp),
+      q(1558) => q(bwq),
+      q(1559) => q(bwr),
+      q(1560) => q(bws),
+      q(1561) => q(bwt),
+      q(1562) => q(bwu),
+      q(1563) => q(bww),
+      q(1564) => q(bwx),
+      q(1565) => q(bwy),
+      q(1566) => q(bwz),
+      q(1567) => q(bxa),
+      q(1568) => q(bxb),
+      q(1569) => q(bxc),
+      q(1570) => q(bxd),
+      q(1571) => q(bxe),
+      q(1572) => q(bxf),
+      q(1573) => q(bxg),
+      q(1574) => q(bxh),
+      q(1575) => q(bxi),
+      q(1576) => q(bxj),
+      q(1577) => q(bxk),
+      q(1578) => q(bxl),
+      q(1579) => q(bxm),
+      q(1580) => q(bxn),
+      q(1581) => q(bxo),
+      q(1582) => q(bxp),
+      q(1583) => q(bxq),
+      q(1584) => q(bxr),
+      q(1585) => q(bxs),
+      q(1586) => q(bxu),
+      q(1587) => q(bxv),
+      q(1588) => q(bxw),
+      q(1589) => q(bxz),
+      q(1590) => q(bya),
+      q(1591) => q(byb),
+      q(1592) => q(byc),
+      q(1593) => q(byd),
+      q(1594) => q(bye),
+      q(1595) => q(byf),
+      q(1596) => q(byg),
+      q(1597) => q(byh),
+      q(1598) => q(byi),
+      q(1599) => q(byj),
+      q(1600) => q(byk),
+      q(1601) => q(byl),
+      q(1602) => q(bym),
+      q(1603) => q(byo),
+      q(1604) => q(byp),
+      q(1605) => q(byq),
+      q(1606) => q(byr),
+      q(1607) => q(bys),
+      q(1608) => q(byt),
+      q(1609) => q(byv),
+      q(1610) => q(byw),
+      q(1611) => q(byx),
+      q(1612) => q(byz),
+      q(1613) => q(bza),
+      q(1614) => q(bzb),
+      q(1615) => q(bzc),
+      q(1616) => q(bzd),
+      q(1617) => q(bze),
+      q(1618) => q(bzf),
+      q(1619) => q(bzg),
+      q(1620) => q(bzh),
+      q(1621) => q(bzi),
+      q(1622) => q(bzj),
+      q(1623) => q(bzk),
+      q(1624) => q(bzl),
+      q(1625) => q(bzm),
+      q(1626) => q(bzn),
+      q(1627) => q(bzo),
+      q(1628) => q(bzp),
+      q(1629) => q(bzq),
+      q(1630) => q(bzr),
+      q(1631) => q(bzs),
+      q(1632) => q(bzt),
+      q(1633) => q(bzu),
+      q(1634) => q(bzv),
+      q(1635) => q(bzw),
+      q(1636) => q(bzx),
+      q(1637) => q(bzy),
+      q(1638) => q(bzz),
+      q(1639) => q(caa),
+      q(1640) => q(cab),
+      q(1641) => q(cac),
+      q(1642) => q(cae),
+      q(1643) => q(caf),
+      q(1644) => q(cag),
+      q(1645) => q(cah),
+      q(1646) => q(caj),
+      q(1647) => q(cak),
+      q(1648) => q(cal),
+      q(1649) => q(cam),
+      q(1650) => q(can),
+      q(1651) => q(cao),
+      q(1652) => q(cap),
+      q(1653) => q(caq),
+      q(1654) => q(cas),
+      q(1655) => q(cav),
+      q(1656) => q(caw),
+      q(1657) => q(cax),
+      q(1658) => q(cay),
+      q(1659) => q(caz),
+      q(1660) => q(cbb),
+      q(1661) => q(cbc),
+      q(1662) => q(cbd),
+      q(1663) => q(cbe),
+      q(1664) => q(cbg),
+      q(1665) => q(cbh),
+      q(1666) => q(cbi),
+      q(1667) => q(cbj),
+      q(1668) => q(cbk),
+      q(1669) => q(cbl),
+      q(1670) => q(cbn),
+      q(1671) => q(cbo),
+      q(1672) => q(cbq),
+      q(1673) => q(cbr),
+      q(1674) => q(cbs),
+      q(1675) => q(cbt),
+      q(1676) => q(cbu),
+      q(1677) => q(cbv),
+      q(1678) => q(cbw),
+      q(1679) => q(cby),
+      q(1680) => q(cca),
+      q(1681) => q(ccc),
+      q(1682) => q(ccd),
+      q(1683) => q(cce),
+      q(1684) => q(ccg),
+      q(1685) => q(cch),
+      q(1686) => q(ccj),
+      q(1687) => q(ccl),
+      q(1688) => q(ccm),
+      q(1689) => q(cco),
+      q(1690) => q(ccp),
+      q(1691) => q(ccr),
+      q(1692) => q(cda),
+      q(1693) => q(cde),
+      q(1694) => q(cdf),
+      q(1695) => q(cdg),
+      q(1696) => q(cdh),
+      q(1697) => q(cdi),
+      q(1698) => q(cdj),
+      q(1699) => q(cdm),
+      q(1700) => q(cdn),
+      q(1701) => q(cdo),
+      q(1702) => q(cdr),
+      q(1703) => q(cds),
+      q(1704) => q(cdy),
+      q(1705) => q(cdz),
+      q(1706) => q(cea),
+      q(1707) => q(ceg),
+      q(1708) => q(cek),
+      q(1709) => q(cen),
+      q(1710) => q(cet),
+      q(1711) => q(cfa),
+      q(1712) => q(cfd),
+      q(1713) => q(cfg),
+      q(1714) => q(cfm),
+      q(1715) => q(cga),
+      q(1716) => q(cgc),
+      q(1717) => q(cgg),
+      q(1718) => q(cgk),
+      q(1719) => q(chc),
+      q(1720) => q(chd),
+      q(1721) => q(chf),
+      q(1722) => q(chh),
+      q(1723) => q(chj),
+      q(1724) => q(chl),
+      q(1725) => q(chq),
+      q(1726) => q(cht),
+      q(1727) => q(chw),
+      q(1728) => q(chx),
+      q(1729) => q(chz),
+      q(1730) => q(cia),
+      q(1731) => q(cib),
+      q(1732) => q(cic),
+      q(1733) => q(cid),
+      q(1734) => q(cie),
+      q(1735) => q(cih),
+      q(1736) => q(cik),
+      q(1737) => q(cim),
+      q(1738) => q(cin),
+      q(1739) => q(cip),
+      q(1740) => q(cir),
+      q(1741) => q(ciw),
+      q(1742) => q(ciy),
+      q(1743) => q(cja),
+      q(1744) => q(cje),
+      q(1745) => q(cjh),
+      q(1746) => q(cji),
+      q(1747) => q(cjk),
+      q(1748) => q(cjm),
+      q(1749) => q(cjn),
+      q(1750) => q(cjo),
+      q(1751) => q(cjp),
+      q(1752) => q(cjs),
+      q(1753) => q(cjv),
+      q(1754) => q(cjy),
+      q(1755) => q(ckb),
+      q(1756) => q(ckh),
+      q(1757) => q(ckl),
+      q(1758) => q(ckn),
+      q(1759) => q(cko),
+      q(1760) => q(ckq),
+      q(1761) => q(ckr),
+      q(1762) => q(cks),
+      q(1763) => q(ckt),
+      q(1764) => q(cku),
+      q(1765) => q(ckv),
+      q(1766) => q(ckx),
+      q(1767) => q(cky),
+      q(1768) => q(ckz),
+      q(1769) => q(cla),
+      q(1770) => q(clc),
+      q(1771) => q(cld),
+      q(1772) => q(cle),
+      q(1773) => q(clh),
+      q(1774) => q(cli),
+      q(1775) => q(clj),
+      q(1776) => q(clk),
+      q(1777) => q(cll),
+      q(1778) => q(clm),
+      q(1779) => q(clo),
+      q(1780) => q(clt),
+      q(1781) => q(clu),
+      q(1782) => q(clw),
+      q(1783) => q(cly),
+      q(1784) => q(cma),
+      q(1785) => q(cme),
+      q(1786) => q(cmg),
+      q(1787) => q(cmi),
+      q(1788) => q(cml),
+      q(1789) => q(cmm),
+      q(1790) => q(cmn),
+      q(1791) => q(cmo),
+      q(1792) => q(cmr),
+      q(1793) => q(cms),
+      q(1794) => q(cmt),
+      q(1795) => q(cna),
+      q(1796) => q(cnb),
+      q(1797) => q(cnc),
+      q(1798) => q(cng),
+      q(1799) => q(cnh),
+      q(1800) => q(cni),
+      q(1801) => q(cnk),
+      q(1802) => q(cnl),
+      q(1803) => q(cno),
+      q(1804) => q(cns),
+      q(1805) => q(cnt),
+      q(1806) => q(cnu),
+      q(1807) => q(cnw),
+      q(1808) => q(cnx),
+      q(1809) => q(coa),
+      q(1810) => q(cob),
+      q(1811) => q(coc),
+      q(1812) => q(cod),
+      q(1813) => q(coe),
+      q(1814) => q(cof),
+      q(1815) => q(cog),
+      q(1816) => q(coh),
+      q(1817) => q(coj),
+      q(1818) => q(cok),
+      q(1819) => q(col),
+      q(1820) => q(com),
+      q(1821) => q(con),
+      q(1822) => q(coo),
+      q(1823) => q(coq),
+      q(1824) => q(cot),
+      q(1825) => q(cou),
+      q(1826) => q(cov),
+      q(1827) => q(cow),
+      q(1828) => q(cox),
+      q(1829) => q(coy),
+      q(1830) => q(coz),
+      q(1831) => q(cpa),
+      q(1832) => q(cpb),
+      q(1833) => q(cpc),
+      q(1834) => q(cpg),
+      q(1835) => q(cpi),
+      q(1836) => q(cpn),
+      q(1837) => q(cpo),
+      q(1838) => q(cps),
+      q(1839) => q(cpu),
+      q(1840) => q(cpx),
+      q(1841) => q(cpy),
+      q(1842) => q(cqd),
+      q(1843) => q(cqu),
+      q(1844) => q(cra),
+      q(1845) => q(crb),
+      q(1846) => q(crc),
+      q(1847) => q(crd),
+      q(1848) => q(crf),
+      q(1849) => q(crg),
+      q(1850) => q(cri),
+      q(1851) => q(crj),
+      q(1852) => q(crk),
+      q(1853) => q(crl),
+      q(1854) => q(crm),
+      q(1855) => q(crn),
+      q(1856) => q(cro),
+      q(1857) => q(crq),
+      q(1858) => q(crr),
+      q(1859) => q(crs),
+      q(1860) => q(crt),
+      q(1861) => q(crv),
+      q(1862) => q(crw),
+      q(1863) => q(crx),
+      q(1864) => q(cry),
+      q(1865) => q(crz),
+      q(1866) => q(csa),
+      q(1867) => q(csc),
+      q(1868) => q(csd),
+      q(1869) => q(cse),
+      q(1870) => q(csf),
+      q(1871) => q(csg),
+      q(1872) => q(csh),
+      q(1873) => q(csi),
+      q(1874) => q(csj),
+      q(1875) => q(csk),
+      q(1876) => q(csl),
+      q(1877) => q(csm),
+      q(1878) => q(csn),
+      q(1879) => q(cso),
+      q(1880) => q(csq),
+      q(1881) => q(csr),
+      q(1882) => q(css),
+      q(1883) => q(cst),
+      q(1884) => q(csv),
+      q(1885) => q(csw),
+      q(1886) => q(csy),
+      q(1887) => q(csz),
+      q(1888) => q(cta),
+      q(1889) => q(ctc),
+      q(1890) => q(ctd),
+      q(1891) => q(cte),
+      q(1892) => q(ctg),
+      q(1893) => q(cth),
+      q(1894) => q(ctl),
+      q(1895) => q(ctm),
+      q(1896) => q(ctn),
+      q(1897) => q(cto),
+      q(1898) => q(ctp),
+      q(1899) => q(cts),
+      q(1900) => q(ctt),
+      q(1901) => q(ctu),
+      q(1902) => q(ctz),
+      q(1903) => q(cua),
+      q(1904) => q(cub),
+      q(1905) => q(cuc),
+      q(1906) => q(cug),
+      q(1907) => q(cuh),
+      q(1908) => q(cui),
+      q(1909) => q(cuj),
+      q(1910) => q(cuk),
+      q(1911) => q(cul),
+      q(1912) => q(cum),
+      q(1913) => q(cuo),
+      q(1914) => q(cup),
+      q(1915) => q(cuq),
+      q(1916) => q(cur),
+      q(1917) => q(cut),
+      q(1918) => q(cuu),
+      q(1919) => q(cuv),
+      q(1920) => q(cuw),
+      q(1921) => q(cux),
+      q(1922) => q(cvg),
+      q(1923) => q(cvn),
+      q(1924) => q(cwa),
+      q(1925) => q(cwb),
+      q(1926) => q(cwd),
+      q(1927) => q(cwe),
+      q(1928) => q(cwg),
+      q(1929) => q(cwt),
+      q(1930) => q(cya),
+      q(1931) => q(cyb),
+      q(1932) => q(cyo),
+      q(1933) => q(czh),
+      q(1934) => q(czk),
+      q(1935) => q(czn),
+      q(1936) => q(czo),
+      q(1937) => q(czt),
+      q(1938) => q(daa),
+      q(1939) => q(dac),
+      q(1940) => q(dad),
+      q(1941) => q(dae),
+      q(1942) => q(dag),
+      q(1943) => q(dah),
+      q(1944) => q(dai),
+      q(1945) => q(daj),
+      q(1946) => q(dal),
+      q(1947) => q(dam),
+      q(1948) => q(dao),
+      q(1949) => q(daq),
+      q(1950) => q(das),
+      q(1951) => q(dau),
+      q(1952) => q(dav),
+      q(1953) => q(daw),
+      q(1954) => q(dax),
+      q(1955) => q(daz),
+      q(1956) => q(dba),
+      q(1957) => q(dbb),
+      q(1958) => q(dbd),
+      q(1959) => q(dbe),
+      q(1960) => q(dbf),
+      q(1961) => q(dbg),
+      q(1962) => q(dbi),
+      q(1963) => q(dbj),
+      q(1964) => q(dbl),
+      q(1965) => q(dbm),
+      q(1966) => q(dbn),
+      q(1967) => q(dbo),
+      q(1968) => q(dbp),
+      q(1969) => q(dbq),
+      q(1970) => q(dbr),
+      q(1971) => q(dbt),
+      q(1972) => q(dbu),
+      q(1973) => q(dbv),
+      q(1974) => q(dbw),
+      q(1975) => q(dby),
+      q(1976) => q(dcc),
+      q(1977) => q(dcr),
+      q(1978) => q(dda),
+      q(1979) => q(ddd),
+      q(1980) => q(dde),
+      q(1981) => q(ddg),
+      q(1982) => q(ddi),
+      q(1983) => q(ddj),
+      q(1984) => q(ddn),
+      q(1985) => q(ddo),
+      q(1986) => q(ddr),
+      q(1987) => q(dds),
+      q(1988) => q(ddw),
+      q(1989) => q(dec),
+      q(1990) => q(ded),
+      q(1991) => q(dee),
+      q(1992) => q(def),
+      q(1993) => q(deg),
+      q(1994) => q(deh),
+      q(1995) => q(dei),
+      q(1996) => q(dek),
+      q(1997) => q(dem),
+      q(1998) => q(dep),
+      q(1999) => q(deq),
+      q(2000) => q(der),
+      q(2001) => q(des),
+      q(2002) => q(dev),
+      q(2003) => q(dez),
+      q(2004) => q(dga),
+      q(2005) => q(dgb),
+      q(2006) => q(dgc),
+      q(2007) => q(dgd),
+      q(2008) => q(dge),
+      q(2009) => q(dgg),
+      q(2010) => q(dgh),
+      q(2011) => q(dgi),
+      q(2012) => q(dgk),
+      q(2013) => q(dgl),
+      q(2014) => q(dgn),
+      q(2015) => q(dgo),
+      q(2016) => q(dgs),
+      q(2017) => q(dgt),
+      q(2018) => q(dgu),
+      q(2019) => q(dgw),
+      q(2020) => q(dgx),
+      q(2021) => q(dgz),
+      q(2022) => q(dhd),
+      q(2023) => q(dhg),
+      q(2024) => q(dhi),
+      q(2025) => q(dhl),
+      q(2026) => q(dhm),
+      q(2027) => q(dhn),
+      q(2028) => q(dho),
+      q(2029) => q(dhr),
+      q(2030) => q(dhs),
+      q(2031) => q(dhu),
+      q(2032) => q(dhv),
+      q(2033) => q(dhw),
+      q(2034) => q(dhx),
+      q(2035) => q(dia),
+      q(2036) => q(dib),
+      q(2037) => q(dic),
+      q(2038) => q(did),
+      q(2039) => q(dif),
+      q(2040) => q(dig),
+      q(2041) => q(dih),
+      q(2042) => q(dii),
+      q(2043) => q(dij),
+      q(2044) => q(dik),
+      q(2045) => q(dil),
+      q(2046) => q(dim),
+      q(2047) => q(dio),
+      q(2048) => q(dip),
+      q(2049) => q(diq),
+      q(2050) => q(dir),
+      q(2051) => q(dis),
+      q(2052) => q(dit),
+      q(2053) => q(diu),
+      q(2054) => q(diw),
+      q(2055) => q(dix),
+      q(2056) => q(diy),
+      q(2057) => q(diz),
+      q(2058) => q(dja),
+      q(2059) => q(djb),
+      q(2060) => q(djc),
+      q(2061) => q(djd),
+      q(2062) => q(dje),
+      q(2063) => q(djf),
+      q(2064) => q(dji),
+      q(2065) => q(djj),
+      q(2066) => q(djk),
+      q(2067) => q(djm),
+      q(2068) => q(djn),
+      q(2069) => q(djo),
+      q(2070) => q(djr),
+      q(2071) => q(dju),
+      q(2072) => q(djw),
+      q(2073) => q(dka),
+      q(2074) => q(dkk),
+      q(2075) => q(dkr),
+      q(2076) => q(dks),
+      q(2077) => q(dkx),
+      q(2078) => q(dlg),
+      q(2079) => q(dlk),
+      q(2080) => q(dlm),
+      q(2081) => q(dln),
+      q(2082) => q(dma),
+      q(2083) => q(dmb),
+      q(2084) => q(dmc),
+      q(2085) => q(dmd),
+      q(2086) => q(dme),
+      q(2087) => q(dmg),
+      q(2088) => q(dmk),
+      q(2089) => q(dml),
+      q(2090) => q(dmm),
+      q(2091) => q(dmo),
+      q(2092) => q(dmr),
+      q(2093) => q(dms),
+      q(2094) => q(dmu),
+      q(2095) => q(dmv),
+      q(2096) => q(dmw),
+      q(2097) => q(dmx),
+      q(2098) => q(dmy),
+      q(2099) => q(dna),
+      q(2100) => q(dnd),
+      q(2101) => q(dne),
+      q(2102) => q(dng),
+      q(2103) => q(dni),
+      q(2104) => q(dnj),
+      q(2105) => q(dnk),
+      q(2106) => q(dnn),
+      q(2107) => q(dnr),
+      q(2108) => q(dnt),
+      q(2109) => q(dnu),
+      q(2110) => q(dnv),
+      q(2111) => q(dnw),
+      q(2112) => q(dny),
+      q(2113) => q(doa),
+      q(2114) => q(dob),
+      q(2115) => q(doc),
+      q(2116) => q(doe),
+      q(2117) => q(dof),
+      q(2118) => q(doh),
+      q(2119) => q(dok),
+      q(2120) => q(dol),
+      q(2121) => q(don),
+      q(2122) => q(doo),
+      q(2123) => q(dop),
+      q(2124) => q(doq),
+      q(2125) => q(dor),
+      q(2126) => q(dos),
+      q(2127) => q(dot),
+      q(2128) => q(dov),
+      q(2129) => q(dow),
+      q(2130) => q(dox),
+      q(2131) => q(doy),
+      q(2132) => q(doz),
+      q(2133) => q(dpp),
+      q(2134) => q(drb),
+      q(2135) => q(drc),
+      q(2136) => q(drd),
+      q(2137) => q(dre),
+      q(2138) => q(drg),
+      q(2139) => q(dri),
+      q(2140) => q(drl),
+      q(2141) => q(drn),
+      q(2142) => q(dro),
+      q(2143) => q(drq),
+      q(2144) => q(drr),
+      q(2145) => q(drs),
+      q(2146) => q(drt),
+      q(2147) => q(dru),
+      q(2148) => q(dry),
+      q(2149) => q(dse),
+      q(2150) => q(dsh),
+      q(2151) => q(dsi),
+      q(2152) => q(dsl),
+      q(2153) => q(dsn),
+      q(2154) => q(dso),
+      q(2155) => q(dsq),
+      q(2156) => q(dta),
+      q(2157) => q(dtb),
+      q(2158) => q(dtd),
+      q(2159) => q(dth),
+      q(2160) => q(dti),
+      q(2161) => q(dtk),
+      q(2162) => q(dtm),
+      q(2163) => q(dto),
+      q(2164) => q(dtp),
+      q(2165) => q(dtr),
+      q(2166) => q(dts),
+      q(2167) => q(dtt),
+      q(2168) => q(dtu),
+      q(2169) => q(dty),
+      q(2170) => q(dub),
+      q(2171) => q(duc),
+      q(2172) => q(dud),
+      q(2173) => q(due),
+      q(2174) => q(duf),
+      q(2175) => q(dug),
+      q(2176) => q(duh),
+      q(2177) => q(dui),
+      q(2178) => q(duj),
+      q(2179) => q(duk),
+      q(2180) => q(dul),
+      q(2181) => q(dun),
+      q(2182) => q(duo),
+      q(2183) => q(dup),
+      q(2184) => q(duq),
+      q(2185) => q(dur),
+      q(2186) => q(dus),
+      q(2187) => q(duu),
+      q(2188) => q(duv),
+      q(2189) => q(duw),
+      q(2190) => q(dux),
+      q(2191) => q(duy),
+      q(2192) => q(duz),
+      q(2193) => q(dva),
+      q(2194) => q(dwa),
+      q(2195) => q(dwr),
+      q(2196) => q(dws),
+      q(2197) => q(dww),
+      q(2198) => q(dya),
+      q(2199) => q(dyb),
+      q(2200) => q(dyd),
+      q(2201) => q(dyg),
+      q(2202) => q(dyi),
+      q(2203) => q(dym),
+      q(2204) => q(dyn),
+      q(2205) => q(dyo),
+      q(2206) => q(dyy),
+      q(2207) => q(dza),
+      q(2208) => q(dze),
+      q(2209) => q(dzg),
+      q(2210) => q(dzl),
+      q(2211) => q(dzn),
+      q(2212) => q(eaa),
+      q(2213) => q(ebg),
+      q(2214) => q(ebk),
+      q(2215) => q(ebo),
+      q(2216) => q(ebr),
+      q(2217) => q(ebu),
+      q(2218) => q(ecr),
+      q(2219) => q(ecs),
+      q(2220) => q(ecy),
+      q(2221) => q(eee),
+      q(2222) => q(efa),
+      q(2223) => q(efe),
+      q(2224) => q(ega),
+      q(2225) => q(egl),
+      q(2226) => q(ego),
+      q(2227) => q(ehu),
+      q(2228) => q(eip),
+      q(2229) => q(eit),
+      q(2230) => q(eiv),
+      q(2231) => q(eja),
+      q(2232) => q(ekc),
+      q(2233) => q(eke),
+      q(2234) => q(ekg),
+      q(2235) => q(eki),
+      q(2236) => q(ekk),
+      q(2237) => q(ekl),
+      q(2238) => q(ekm),
+      q(2239) => q(eko),
+      q(2240) => q(ekp),
+      q(2241) => q(ekr),
+      q(2242) => q(eky),
+      q(2243) => q(ele),
+      q(2244) => q(elh),
+      q(2245) => q(eli),
+      q(2246) => q(elk),
+      q(2247) => q(elm),
+      q(2248) => q(elo),
+      q(2249) => q(elu),
+      q(2250) => q(ema),
+      q(2251) => q(emb),
+      q(2252) => q(eme),
+      q(2253) => q(emg),
+      q(2254) => q(emi),
+      q(2255) => q(emk),
+      q(2256) => q(emm),
+      q(2257) => q(emn),
+      q(2258) => q(emp),
+      q(2259) => q(ems),
+      q(2260) => q(emu),
+      q(2261) => q(emw),
+      q(2262) => q(emx),
+      q(2263) => q(emy),
+      q(2264) => q(ena),
+      q(2265) => q(enb),
+      q(2266) => q(enc),
+      q(2267) => q(end),
+      q(2268) => q(enf),
+      q(2269) => q(enh),
+      q(2270) => q(enl),
+      q(2271) => q(enn),
+      q(2272) => q(eno),
+      q(2273) => q(enq),
+      q(2274) => q(enr),
+      q(2275) => q(enu),
+      q(2276) => q(env),
+      q(2277) => q(enw),
+      q(2278) => q(enx),
+      q(2279) => q(eot),
+      q(2280) => q(epi),
+      q(2281) => q(era),
+      q(2282) => q(erg),
+      q(2283) => q(erh),
+      q(2284) => q(eri),
+      q(2285) => q(erk),
+      q(2286) => q(ero),
+      q(2287) => q(err),
+      q(2288) => q(ers),
+      q(2289) => q(ert),
+      q(2290) => q(erw),
+      q(2291) => q(ese),
+      q(2292) => q(esh),
+      q(2293) => q(esi),
+      q(2294) => q(esk),
+      q(2295) => q(esl),
+      q(2296) => q(esm),
+      q(2297) => q(esn),
+      q(2298) => q(eso),
+      q(2299) => q(esq),
+      q(2300) => q(ess),
+      q(2301) => q(esu),
+      q(2302) => q(esy),
+      q(2303) => q(etb),
+      q(2304) => q(etc),
+      q(2305) => q(eth),
+      q(2306) => q(etn),
+      q(2307) => q(eto),
+      q(2308) => q(etr),
+      q(2309) => q(ets),
+      q(2310) => q(ett),
+      q(2311) => q(etu),
+      q(2312) => q(etx),
+      q(2313) => q(etz),
+      q(2314) => q(eve),
+      q(2315) => q(evh),
+      q(2316) => q(evn),
+      q(2317) => q(ext),
+      q(2318) => q(eya),
+      q(2319) => q(eyo),
+      q(2320) => q(eza),
+      q(2321) => q(eze),
+      q(2322) => q(faa),
+      q(2323) => q(fab),
+      q(2324) => q(fad),
+      q(2325) => q(faf),
+      q(2326) => q(fag),
+      q(2327) => q(fah),
+      q(2328) => q(fai),
+      q(2329) => q(faj),
+      q(2330) => q(fak),
+      q(2331) => q(fal),
+      q(2332) => q(fam),
+      q(2333) => q(fap),
+      q(2334) => q(far),
+      q(2335) => q(fau),
+      q(2336) => q(fax),
+      q(2337) => q(fay),
+      q(2338) => q(faz),
+      q(2339) => q(fbl),
+      q(2340) => q(fcs),
+      q(2341) => q(fer),
+      q(2342) => q(ffi),
+      q(2343) => q(ffm),
+      q(2344) => q(fgr),
+      q(2345) => q(fia),
+      q(2346) => q(fie),
+      q(2347) => q(fip),
+      q(2348) => q(fir),
+      q(2349) => q(fit),
+      q(2350) => q(fiw),
+      q(2351) => q(fkk),
+      q(2352) => q(fkv),
+      q(2353) => q(fla),
+      q(2354) => q(flh),
+      q(2355) => q(fli),
+      q(2356) => q(fll),
+      q(2357) => q(fln),
+      q(2358) => q(flr),
+      q(2359) => q(fly),
+      q(2360) => q(fmp),
+      q(2361) => q(fmu),
+      q(2362) => q(fng),
+      q(2363) => q(fni),
+      q(2364) => q(fod),
+      q(2365) => q(foi),
+      q(2366) => q(fom),
+      q(2367) => q(for),
+      q(2368) => q(fos),
+      q(2369) => q(fpe),
+      q(2370) => q(fqs),
+      q(2371) => q(frc),
+      q(2372) => q(frd),
+      q(2373) => q(frk),
+      q(2374) => q(frp),
+      q(2375) => q(frq),
+      q(2376) => q(frt),
+      q(2377) => q(fse),
+      q(2378) => q(fsl),
+      q(2379) => q(fss),
+      q(2380) => q(fub),
+      q(2381) => q(fuc),
+      q(2382) => q(fud),
+      q(2383) => q(fue),
+      q(2384) => q(fuf),
+      q(2385) => q(fuh),
+      q(2386) => q(fui),
+      q(2387) => q(fuj),
+      q(2388) => q(fum),
+      q(2389) => q(fun),
+      q(2390) => q(fuq),
+      q(2391) => q(fut),
+      q(2392) => q(fuu),
+      q(2393) => q(fuv),
+      q(2394) => q(fuy),
+      q(2395) => q(fvr),
+      q(2396) => q(fwa),
+      q(2397) => q(fwe),
+      q(2398) => q(gab),
+      q(2399) => q(gac),
+      q(2400) => q(gad),
+      q(2401) => q(gae),
+      q(2402) => q(gaf),
+      q(2403) => q(gag),
+      q(2404) => q(gah),
+      q(2405) => q(gai),
+      q(2406) => q(gaj),
+      q(2407) => q(gak),
+      q(2408) => q(gal),
+      q(2409) => q(gam),
+      q(2410) => q(gan),
+      q(2411) => q(gao),
+      q(2412) => q(gap),
+      q(2413) => q(gaq),
+      q(2414) => q(gar),
+      q(2415) => q(gas),
+      q(2416) => q(gat),
+      q(2417) => q(gau),
+      q(2418) => q(gaw),
+      q(2419) => q(gax),
+      q(2420) => q(gaz),
+      q(2421) => q(gbb),
+      q(2422) => q(gbd),
+      q(2423) => q(gbe),
+      q(2424) => q(gbf),
+      q(2425) => q(gbg),
+      q(2426) => q(gbh),
+      q(2427) => q(gbi),
+      q(2428) => q(gbj),
+      q(2429) => q(gbk),
+      q(2430) => q(gbl),
+      q(2431) => q(gbm),
+      q(2432) => q(gbn),
+      q(2433) => q(gbo),
+      q(2434) => q(gbp),
+      q(2435) => q(gbq),
+      q(2436) => q(gbr),
+      q(2437) => q(gbs),
+      q(2438) => q(gbu),
+      q(2439) => q(gbv),
+      q(2440) => q(gbw),
+      q(2441) => q(gbx),
+      q(2442) => q(gby),
+      q(2443) => q(gbz),
+      q(2444) => q(gcc),
+      q(2445) => q(gcd),
+      q(2446) => q(gce),
+      q(2447) => q(gcf),
+      q(2448) => q(gcl),
+      q(2449) => q(gcn),
+      q(2450) => q(gcr),
+      q(2451) => q(gct),
+      q(2452) => q(gda),
+      q(2453) => q(gdb),
+      q(2454) => q(gdc),
+      q(2455) => q(gdd),
+      q(2456) => q(gde),
+      q(2457) => q(gdf),
+      q(2458) => q(gdg),
+      q(2459) => q(gdh),
+      q(2460) => q(gdi),
+      q(2461) => q(gdj),
+      q(2462) => q(gdk),
+      q(2463) => q(gdl),
+      q(2464) => q(gdm),
+      q(2465) => q(gdn),
+      q(2466) => q(gdo),
+      q(2467) => q(gdq),
+      q(2468) => q(gdr),
+      q(2469) => q(gds),
+      q(2470) => q(gdt),
+      q(2471) => q(gdu),
+      q(2472) => q(gdx),
+      q(2473) => q(gea),
+      q(2474) => q(geb),
+      q(2475) => q(gec),
+      q(2476) => q(ged),
+      q(2477) => q(geg),
+      q(2478) => q(geh),
+      q(2479) => q(gei),
+      q(2480) => q(gej),
+      q(2481) => q(gek),
+      q(2482) => q(gel),
+      q(2483) => q(geq),
+      q(2484) => q(ges),
+      q(2485) => q(gev),
+      q(2486) => q(gew),
+      q(2487) => q(gex),
+      q(2488) => q(gey),
+      q(2489) => q(gfk),
+      q(2490) => q(gft),
+      q(2491) => q(gga),
+      q(2492) => q(ggb),
+      q(2493) => q(ggd),
+      q(2494) => q(gge),
+      q(2495) => q(ggg),
+      q(2496) => q(ggk),
+      q(2497) => q(ggl),
+      q(2498) => q(ggn),
+      q(2499) => q(ggo),
+      q(2500) => q(ggt),
+      q(2501) => q(ggu),
+      q(2502) => q(ggw),
+      q(2503) => q(gha),
+      q(2504) => q(ghc),
+      q(2505) => q(ghe),
+      q(2506) => q(ghh),
+      q(2507) => q(ghk),
+      q(2508) => q(ghl),
+      q(2509) => q(ghn),
+      q(2510) => q(gho),
+      q(2511) => q(ghr),
+      q(2512) => q(ghs),
+      q(2513) => q(ght),
+      q(2514) => q(gia),
+      q(2515) => q(gib),
+      q(2516) => q(gic),
+      q(2517) => q(gid),
+      q(2518) => q(gig),
+      q(2519) => q(gih),
+      q(2520) => q(gim),
+      q(2521) => q(gin),
+      q(2522) => q(gip),
+      q(2523) => q(giq),
+      q(2524) => q(gir),
+      q(2525) => q(gis),
+      q(2526) => q(git),
+      q(2527) => q(giu),
+      q(2528) => q(giw),
+      q(2529) => q(gix),
+      q(2530) => q(giy),
+      q(2531) => q(giz),
+      q(2532) => q(gji),
+      q(2533) => q(gjk),
+      q(2534) => q(gjm),
+      q(2535) => q(gjn),
+      q(2536) => q(gju),
+      q(2537) => q(gka),
+      q(2538) => q(gke),
+      q(2539) => q(gkn),
+      q(2540) => q(gko),
+      q(2541) => q(gkp),
+      q(2542) => q(gku),
+      q(2543) => q(glc),
+      q(2544) => q(gld),
+      q(2545) => q(glh),
+      q(2546) => q(gli),
+      q(2547) => q(glj),
+      q(2548) => q(glk),
+      q(2549) => q(gll),
+      q(2550) => q(glo),
+      q(2551) => q(glr),
+      q(2552) => q(glu),
+      q(2553) => q(glw),
+      q(2554) => q(gly),
+      q(2555) => q(gma),
+      q(2556) => q(gmb),
+      q(2557) => q(gmd),
+      q(2558) => q(gmg),
+      q(2559) => q(gml),
+      q(2560) => q(gmm),
+      q(2561) => q(gmn),
+      q(2562) => q(gmu),
+      q(2563) => q(gmv),
+      q(2564) => q(gmx),
+      q(2565) => q(gmy),
+      q(2566) => q(gmz),
+      q(2567) => q(gna),
+      q(2568) => q(gnb),
+      q(2569) => q(gnc),
+      q(2570) => q(gnd),
+      q(2571) => q(gne),
+      q(2572) => q(gng),
+      q(2573) => q(gnh),
+      q(2574) => q(gni),
+      q(2575) => q(gnq),
+      q(2576) => q(gnl),
+      q(2577) => q(gnm),
+      q(2578) => q(gnn),
+      q(2579) => q(gno),
+      q(2580) => q(gnr),
+      q(2581) => q(gnt),
+      q(2582) => q(gnu),
+      q(2583) => q(gnw),
+      q(2584) => q(gnz),
+      q(2585) => q(goa),
+      q(2586) => q(gob),
+      q(2587) => q(goc),
+      q(2588) => q(god),
+      q(2589) => q(goe),
+      q(2590) => q(gof),
+      q(2591) => q(gog),
+      q(2592) => q(goi),
+      q(2593) => q(goj),
+      q(2594) => q(gok),
+      q(2595) => q(gol),
+      q(2596) => q(gom),
+      q(2597) => q(goo),
+      q(2598) => q(gop),
+      q(2599) => q(goq),
+      q(2600) => q(gos),
+      q(2601) => q(gou),
+      q(2602) => q(gow),
+      q(2603) => q(gox),
+      q(2604) => q(goy),
+      q(2605) => q(goz),
+      q(2606) => q(gpa),
+      q(2607) => q(gpe),
+      q(2608) => q(gpn),
+      q(2609) => q(gqa),
+      q(2610) => q(gqi),
+      q(2611) => q(gqn),
+      q(2612) => q(gqr),
+      q(2613) => q(gqu),
+      q(2614) => q(gra),
+      q(2615) => q(grd),
+      q(2616) => q(grg),
+      q(2617) => q(grh),
+      q(2618) => q(gri),
+      q(2619) => q(grj),
+      q(2620) => q(grm),
+      q(2621) => q(gro),
+      q(2622) => q(grq),
+      q(2623) => q(grr),
+      q(2624) => q(grs),
+      q(2625) => q(grt),
+      q(2626) => q(gru),
+      q(2627) => q(grv),
+      q(2628) => q(grw),
+      q(2629) => q(grx),
+      q(2630) => q(gry),
+      q(2631) => q(grz),
+      q(2632) => q(gse),
+      q(2633) => q(gsg),
+      q(2634) => q(gsl),
+      q(2635) => q(gsm),
+      q(2636) => q(gsn),
+      q(2637) => q(gso),
+      q(2638) => q(gsp),
+      q(2639) => q(gss),
+      q(2640) => q(gta),
+      q(2641) => q(gtu),
+      q(2642) => q(gua),
+      q(2643) => q(gub),
+      q(2644) => q(guc),
+      q(2645) => q(gud),
+      q(2646) => q(gue),
+      q(2647) => q(guf),
+      q(2648) => q(gug),
+      q(2649) => q(guh),
+      q(2650) => q(gui),
+      q(2651) => q(guk),
+      q(2652) => q(gul),
+      q(2653) => q(gum),
+      q(2654) => q(gun),
+      q(2655) => q(guo),
+      q(2656) => q(gup),
+      q(2657) => q(yif),
+      q(2658) => q(gur),
+      q(2659) => q(gus),
+      q(2660) => q(gut),
+      q(2661) => q(guu),
+      q(2662) => q(guv),
+      q(2663) => q(guw),
+      q(2664) => q(gux),
+      q(2665) => q(guz),
+      q(2666) => q(gva),
+      q(2667) => q(gvc),
+      q(2668) => q(gve),
+      q(2669) => q(gvf),
+      q(2670) => q(gvj),
+      q(2671) => q(gvl),
+      q(2672) => q(gvm),
+      q(2673) => q(gvn),
+      q(2674) => q(gvo),
+      q(2675) => q(gvp),
+      q(2676) => q(gvr),
+      q(2677) => q(gvs),
+      q(2678) => q(gvy),
+      q(2679) => q(gwa),
+      q(2680) => q(gwb),
+      q(2681) => q(gwc),
+      q(2682) => q(gwd),
+      q(2683) => q(gwe),
+      q(2684) => q(gwf),
+      q(2685) => q(gwg),
+      q(2686) => q(gwj),
+      q(2687) => q(gwm),
+      q(2688) => q(gwn),
+      q(2689) => q(gwr),
+      q(2690) => q(gwt),
+      q(2691) => q(gwu),
+      q(2692) => q(gww),
+      q(2693) => q(gwx),
+      q(2694) => q(gxx),
+      q(2695) => q(gya),
+      q(2696) => q(gyb),
+      q(2697) => q(gyd),
+      q(2698) => q(gye),
+      q(2699) => q(gyf),
+      q(2700) => q(gyg),
+      q(2701) => q(gyi),
+      q(2702) => q(gyl),
+      q(2703) => q(gym),
+      q(2704) => q(gyn),
+      q(2705) => q(gyr),
+      q(2706) => q(gyy),
+      q(2707) => q(gza),
+      q(2708) => q(gzi),
+      q(2709) => q(gzn),
+      q(2710) => q(haa),
+      q(2711) => q(hab),
+      q(2712) => q(hac),
+      q(2713) => q(had),
+      q(2714) => q(hae),
+      q(2715) => q(haf),
+      q(2716) => q(hag),
+      q(2717) => q(hah),
+      q(2718) => q(haj),
+      q(2719) => q(hak),
+      q(2720) => q(hal),
+      q(2721) => q(ham),
+      q(2722) => q(han),
+      q(2723) => q(hao),
+      q(2724) => q(hap),
+      q(2725) => q(haq),
+      q(2726) => q(har),
+      q(2727) => q(has),
+      q(2728) => q(hav),
+      q(2729) => q(hax),
+      q(2730) => q(hay),
+      q(2731) => q(haz),
+      q(2732) => q(hba),
+      q(2733) => q(hbb),
+      q(2734) => q(hbn),
+      q(2735) => q(hbo),
+      q(2736) => q(hbu),
+      q(2737) => q(hca),
+      q(2738) => q(hch),
+      q(2739) => q(hdn),
+      q(2740) => q(hds),
+      q(2741) => q(hdy),
+      q(2742) => q(hea),
+      q(2743) => q(hed),
+      q(2744) => q(heg),
+      q(2745) => q(heh),
+      q(2746) => q(hei),
+      q(2747) => q(hem),
+      q(2748) => q(hgm),
+      q(2749) => q(hgw),
+      q(2750) => q(hhi),
+      q(2751) => q(hhr),
+      q(2752) => q(hhy),
+      q(2753) => q(hia),
+      q(2754) => q(hib),
+      q(2755) => q(hid),
+      q(2756) => q(hif),
+      q(2757) => q(hig),
+      q(2758) => q(hih),
+      q(2759) => q(hii),
+      q(2760) => q(hij),
+      q(2761) => q(hik),
+      q(2762) => q(hio),
+      q(2763) => q(hir),
+      q(2764) => q(hiw),
+      q(2765) => q(hix),
+      q(2766) => q(hji),
+      q(2767) => q(hka),
+      q(2768) => q(hke),
+      q(2769) => q(hkk),
+      q(2770) => q(hks),
+      q(2771) => q(hla),
+      q(2772) => q(hlb),
+      q(2773) => q(hld),
+      q(2774) => q(hle),
+      q(2775) => q(hlt),
+      q(2776) => q(hlu),
+      q(2777) => q(hma),
+      q(2778) => q(hmb),
+      q(2779) => q(hmc),
+      q(2780) => q(hmd),
+      q(2781) => q(hme),
+      q(2782) => q(hmf),
+      q(2783) => q(hmg),
+      q(2784) => q(hmh),
+      q(2785) => q(hmi),
+      q(2786) => q(hmj),
+      q(2787) => q(hmk),
+      q(2788) => q(hml),
+      q(2789) => q(hmm),
+      q(2790) => q(hmp),
+      q(2791) => q(hmq),
+      q(2792) => q(hmr),
+      q(2793) => q(hms),
+      q(2794) => q(hmt),
+      q(2795) => q(hmu),
+      q(2796) => q(hmv),
+      q(2797) => q(hmw),
+      q(2798) => q(hmy),
+      q(2799) => q(hmz),
+      q(2800) => q(hna),
+      q(2801) => q(hnd),
+      q(2802) => q(hne),
+      q(2803) => q(hnh),
+      q(2804) => q(hni),
+      q(2805) => q(hnj),
+      q(2806) => q(hnn),
+      q(2807) => q(hno),
+      q(2808) => q(hns),
+      q(2809) => q(hnu),
+      q(2810) => q(hoa),
+      q(2811) => q(hob),
+      q(2812) => q(hoc),
+      q(2813) => q(hod),
+      q(2814) => q(hoe),
+      q(2815) => q(hoh),
+      q(2816) => q(hoi),
+      q(2817) => q(hoj),
+      q(2818) => q(hol),
+      q(2819) => q(hom),
+      q(2820) => q(hoo),
+      q(2821) => q(hop),
+      q(2822) => q(hor),
+      q(2823) => q(hos),
+      q(2824) => q(hot),
+      q(2825) => q(hov),
+      q(2826) => q(how),
+      q(2827) => q(hoy),
+      q(2828) => q(hoz),
+      q(2829) => q(hpo),
+      q(2830) => q(hps),
+      q(2831) => q(hra),
+      q(2832) => q(hrc),
+      q(2833) => q(hre),
+      q(2834) => q(hrk),
+      q(2835) => q(hrm),
+      q(2836) => q(hro),
+      q(2837) => q(hrp),
+      q(2838) => q(hrt),
+      q(2839) => q(hru),
+      q(2840) => q(hrw),
+      q(2841) => q(hrx),
+      q(2842) => q(hrz),
+      q(2843) => q(hsh),
+      q(2844) => q(hsl),
+      q(2845) => q(hsn),
+      q(2846) => q(hss),
+      q(2847) => q(hti),
+      q(2848) => q(hto),
+      q(2849) => q(hts),
+      q(2850) => q(htu),
+      q(2851) => q(htx),
+      q(2852) => q(hub),
+      q(2853) => q(huc),
+      q(2854) => q(hud),
+      q(2855) => q(hue),
+      q(2856) => q(huf),
+      q(2857) => q(hug),
+      q(2858) => q(huh),
+      q(2859) => q(hui),
+      q(2860) => q(huj),
+      q(2861) => q(huk),
+      q(2862) => q(hul),
+      q(2863) => q(hum),
+      q(2864) => q(huo),
+      q(2865) => q(huq),
+      q(2866) => q(hur),
+      q(2867) => q(hus),
+      q(2868) => q(hut),
+      q(2869) => q(huu),
+      q(2870) => q(huv),
+      q(2871) => q(huw),
+      q(2872) => q(hux),
+      q(2873) => q(huy),
+      q(2874) => q(huz),
+      q(2875) => q(hvc),
+      q(2876) => q(hve),
+      q(2877) => q(hvk),
+      q(2878) => q(hvn),
+      q(2879) => q(hvv),
+      q(2880) => q(hwa),
+      q(2881) => q(hwc),
+      q(2882) => q(hwo),
+      q(2883) => q(hya),
+      q(2884) => q(iai),
+      q(2885) => q(ian),
+      q(2886) => q(iap),
+      q(2887) => q(iar),
+      q(2888) => q(ibb),
+      q(2889) => q(ibd),
+      q(2890) => q(ibe),
+      q(2891) => q(ibg),
+      q(2892) => q(ibl),
+      q(2893) => q(ibm),
+      q(2894) => q(ibn),
+      q(2895) => q(ibr),
+      q(2896) => q(ibu),
+      q(2897) => q(iby),
+      q(2898) => q(ica),
+      q(2899) => q(ich),
+      q(2900) => q(icl),
+      q(2901) => q(icr),
+      q(2902) => q(ida),
+      q(2903) => q(idb),
+      q(2904) => q(idc),
+      q(2905) => q(idd),
+      q(2906) => q(ide),
+      q(2907) => q(idi),
+      q(2908) => q(idr),
+      q(2909) => q(ids),
+      q(2910) => q(idt),
+      q(2911) => q(idu),
+      q(2912) => q(ifa),
+      q(2913) => q(ifb),
+      q(2914) => q(ife),
+      q(2915) => q(iff),
+      q(2916) => q(ifk),
+      q(2917) => q(ifm),
+      q(2918) => q(ifu),
+      q(2919) => q(ify),
+      q(2920) => q(igb),
+      q(2921) => q(ige),
+      q(2922) => q(igg),
+      q(2923) => q(igl),
+      q(2924) => q(igm),
+      q(2925) => q(ign),
+      q(2926) => q(igo),
+      q(2927) => q(igs),
+      q(2928) => q(igw),
+      q(2929) => q(ihb),
+      q(2930) => q(ihi),
+      q(2931) => q(ihp),
+      q(2932) => q(ihw),
+      q(2933) => q(iin),
+      q(2934) => q(ijc),
+      q(2935) => q(ije),
+      q(2936) => q(ijj),
+      q(2937) => q(ijn),
+      q(2938) => q(ijs),
+      q(2939) => q(ike),
+      q(2940) => q(iki),
+      q(2941) => q(ikk),
+      q(2942) => q(ikl),
+      q(2943) => q(iko),
+      q(2944) => q(ikp),
+      q(2945) => q(ikr),
+      q(2946) => q(iks),
+      q(2947) => q(ikt),
+      q(2948) => q(ikv),
+      q(2949) => q(ikw),
+      q(2950) => q(ikx),
+      q(2951) => q(ikz),
+      q(2952) => q(ila),
+      q(2953) => q(ilb),
+      q(2954) => q(ilg),
+      q(2955) => q(ili),
+      q(2956) => q(ilk),
+      q(2957) => q(ill),
+      q(2958) => q(ils),
+      q(2959) => q(ilu),
+      q(2960) => q(ilv),
+      q(2961) => q(ima),
+      q(2962) => q(imi),
+      q(2963) => q(iml),
+      q(2964) => q(imn),
+      q(2965) => q(imo),
+      q(2966) => q(imr),
+      q(2967) => q(ims),
+      q(2968) => q(imy),
+      q(2969) => q(inb),
+      q(2970) => q(ing),
+      q(2971) => q(inj),
+      q(2972) => q(inl),
+      q(2973) => q(inm),
+      q(2974) => q(inn),
+      q(2975) => q(ino),
+      q(2976) => q(inp),
+      q(2977) => q(ins),
+      q(2978) => q(int),
+      q(2979) => q(inz),
+      q(2980) => q(ior),
+      q(2981) => q(iou),
+      q(2982) => q(iow),
+      q(2983) => q(ipi),
+      q(2984) => q(ipo),
+      q(2985) => q(iqu),
+      q(2986) => q(iqw),
+      q(2987) => q(ire),
+      q(2988) => q(irh),
+      q(2989) => q(iri),
+      q(2990) => q(irk),
+      q(2991) => q(irn),
+      q(2992) => q(irr),
+      q(2993) => q(iru),
+      q(2994) => q(irx),
+      q(2995) => q(iry),
+      q(2996) => q(isa),
+      q(2997) => q(isc),
+      q(2998) => q(isd),
+      q(2999) => q(ise),
+      q(3000) => q(isg),
+      q(3001) => q(ish),
+      q(3002) => q(isi),
+      q(3003) => q(isk),
+      q(3004) => q(ism),
+      q(3005) => q(isn),
+      q(3006) => q(iso),
+      q(3007) => q(isr),
+      q(3008) => q(ist),
+      q(3009) => q(isu),
+      q(3010) => q(itb),
+      q(3011) => q(ite),
+      q(3012) => q(iti),
+      q(3013) => q(itk),
+      q(3014) => q(itl),
+      q(3015) => q(itm),
+      q(3016) => q(ito),
+      q(3017) => q(itr),
+      q(3018) => q(its),
+      q(3019) => q(itt),
+      q(3020) => q(itv),
+      q(3021) => q(itw),
+      q(3022) => q(itx),
+      q(3023) => q(ity),
+      q(3024) => q(itz),
+      q(3025) => q(ium),
+      q(3026) => q(ivb),
+      q(3027) => q(ivv),
+      q(3028) => q(iwk),
+      q(3029) => q(iwm),
+      q(3030) => q(iwo),
+      q(3031) => q(iws),
+      q(3032) => q(ixc),
+      q(3033) => q(ixl),
+      q(3034) => q(iya),
+      q(3035) => q(iyo),
+      q(3036) => q(iyx),
+      q(3037) => q(izh),
+      q(3038) => q(izr),
+      q(3039) => q(izz),
+      q(3040) => q(jaa),
+      q(3041) => q(jab),
+      q(3042) => q(jac),
+      q(3043) => q(jad),
+      q(3044) => q(jae),
+      q(3045) => q(jaf),
+      q(3046) => q(jah),
+      q(3047) => q(jaj),
+      q(3048) => q(jak),
+      q(3049) => q(jal),
+      q(3050) => q(jam),
+      q(3051) => q(jan),
+      q(3052) => q(jao),
+      q(3053) => q(jaq),
+      q(3054) => q(jas),
+      q(3055) => q(jat),
+      q(3056) => q(jau),
+      q(3057) => q(jax),
+      q(3058) => q(jay),
+      q(3059) => q(jaz),
+      q(3060) => q(jbe),
+      q(3061) => q(jbi),
+      q(3062) => q(jbj),
+      q(3063) => q(jbk),
+      q(3064) => q(jbn),
+      q(3065) => q(jbr),
+      q(3066) => q(jbt),
+      q(3067) => q(jbu),
+      q(3068) => q(jbw),
+      q(3069) => q(jcs),
+      q(3070) => q(jct),
+      q(3071) => q(jda),
+      q(3072) => q(jdg),
+      q(3073) => q(jdt),
+      q(3074) => q(jeb),
+      q(3075) => q(jee),
+      q(3076) => q(jeg),
+      q(3077) => q(jeh),
+      q(3078) => q(jei),
+      q(3079) => q(jek),
+      q(3080) => q(jel),
+      q(3081) => q(jen),
+      q(3082) => q(jer),
+      q(3083) => q(jet),
+      q(3084) => q(jeu),
+      q(3085) => q(jgb),
+      q(3086) => q(jge),
+      q(3087) => q(jgk),
+      q(3088) => q(jgo),
+      q(3089) => q(jhi),
+      q(3090) => q(jhs),
+      q(3091) => q(jia),
+      q(3092) => q(jib),
+      q(3093) => q(jic),
+      q(3094) => q(jid),
+      q(3095) => q(jie),
+      q(3096) => q(jig),
+      q(3097) => q(jih),
+      q(3098) => q(jii),
+      q(3099) => q(jil),
+      q(3100) => q(jim),
+      q(3101) => q(jio),
+      q(3102) => q(jiq),
+      q(3103) => q(jit),
+      q(3104) => q(jiu),
+      q(3105) => q(jiv),
+      q(3106) => q(jiy),
+      q(3107) => q(jje),
+      q(3108) => q(jjr),
+      q(3109) => q(jkm),
+      q(3110) => q(jko),
+      q(3111) => q(jkp),
+      q(3112) => q(jkr),
+      q(3113) => q(jku),
+      q(3114) => q(jle),
+      q(3115) => q(jls),
+      q(3116) => q(jma),
+      q(3117) => q(jmb),
+      q(3118) => q(jmc),
+      q(3119) => q(jmd),
+      q(3120) => q(jmi),
+      q(3121) => q(jml),
+      q(3122) => q(jmn),
+      q(3123) => q(jmr),
+      q(3124) => q(jms),
+      q(3125) => q(jmw),
+      q(3126) => q(jmx),
+      q(3127) => q(jna),
+      q(3128) => q(jnd),
+      q(3129) => q(jng),
+      q(3130) => q(jni),
+      q(3131) => q(jnj),
+      q(3132) => q(jnl),
+      q(3133) => q(jns),
+      q(3134) => q(job),
+      q(3135) => q(jod),
+      q(3136) => q(jog),
+      q(3137) => q(jor),
+      q(3138) => q(jos),
+      q(3139) => q(jow),
+      q(3140) => q(jpa),
+      q(3141) => q(jqr),
+      q(3142) => q(jra),
+      q(3143) => q(jrr),
+      q(3144) => q(jrt),
+      q(3145) => q(jru),
+      q(3146) => q(jsl),
+      q(3147) => q(jua),
+      q(3148) => q(jub),
+      q(3149) => q(juc),
+      q(3150) => q(jud),
+      q(3151) => q(juh),
+      q(3152) => q(jui),
+      q(3153) => q(juk),
+      q(3154) => q(jul),
+      q(3155) => q(jum),
+      q(3156) => q(jun),
+      q(3157) => q(juo),
+      q(3158) => q(jup),
+      q(3159) => q(jur),
+      q(3160) => q(jus),
+      q(3161) => q(jut),
+      q(3162) => q(juu),
+      q(3163) => q(juw),
+      q(3164) => q(juy),
+      q(3165) => q(jvd),
+      q(3166) => q(jvn),
+      q(3167) => q(jwi),
+      q(3168) => q(jya),
+      q(3169) => q(jye),
+      q(3170) => q(jyy),
+      q(3171) => q(kad),
+      q(3172) => q(kae),
+      q(3173) => q(kaf),
+      q(3174) => q(kag),
+      q(3175) => q(kah),
+      q(3176) => q(kai),
+      q(3177) => q(kaj),
+      q(3178) => q(kak),
+      q(3179) => q(kao),
+      q(3180) => q(kap),
+      q(3181) => q(kaq),
+      q(3182) => q(kav),
+      q(3183) => q(kax),
+      q(3184) => q(kay),
+      q(3185) => q(kba),
+      q(3186) => q(kbb),
+      q(3187) => q(kbc),
+      q(3188) => q(kbe),
+      q(3189) => q(kbg),
+      q(3190) => q(kbh),
+      q(3191) => q(kbi),
+      q(3192) => q(kbj),
+      q(3193) => q(kbk),
+      q(3194) => q(kbl),
+      q(3195) => q(kbm),
+      q(3196) => q(kbn),
+      q(3197) => q(kbo),
+      q(3198) => q(kbp),
+      q(3199) => q(kbq),
+      q(3200) => q(kbr),
+      q(3201) => q(kbs),
+      q(3202) => q(kbt),
+      q(3203) => q(kbu),
+      q(3204) => q(kbv),
+      q(3205) => q(kbw),
+      q(3206) => q(kbx),
+      q(3207) => q(kby),
+      q(3208) => q(kbz),
+      q(3209) => q(kca),
+      q(3210) => q(kcb),
+      q(3211) => q(kcc),
+      q(3212) => q(kcd),
+      q(3213) => q(kce),
+      q(3214) => q(kcf),
+      q(3215) => q(kcg),
+      q(3216) => q(kch),
+      q(3217) => q(kci),
+      q(3218) => q(kcj),
+      q(3219) => q(kck),
+      q(3220) => q(kcl),
+      q(3221) => q(kcm),
+      q(3222) => q(kcn),
+      q(3223) => q(kco),
+      q(3224) => q(kcp),
+      q(3225) => q(kcq),
+      q(3226) => q(kcr),
+      q(3227) => q(kcs),
+      q(3228) => q(kct),
+      q(3229) => q(kcu),
+      q(3230) => q(kcv),
+      q(3231) => q(kcw),
+      q(3232) => q(kcx),
+      q(3233) => q(kcy),
+      q(3234) => q(kcz),
+      q(3235) => q(kda),
+      q(3236) => q(kdc),
+      q(3237) => q(kdd),
+      q(3238) => q(kde),
+      q(3239) => q(kdf),
+      q(3240) => q(kdg),
+      q(3241) => q(kdh),
+      q(3242) => q(kdi),
+      q(3243) => q(kdj),
+      q(3244) => q(kdk),
+      q(3245) => q(kdl),
+      q(3246) => q(kdm),
+      q(3247) => q(kdn),
+      q(3248) => q(kdp),
+      q(3249) => q(kdq),
+      q(3250) => q(kdr),
+      q(3251) => q(kdt),
+      q(3252) => q(kdu),
+      q(3253) => q(kdw),
+      q(3254) => q(kdx),
+      q(3255) => q(kdy),
+      q(3256) => q(kdz),
+      q(3257) => q(kea),
+      q(3258) => q(keb),
+      q(3259) => q(kec),
+      q(3260) => q(ked),
+      q(3261) => q(kee),
+      q(3262) => q(kef),
+      q(3263) => q(keg),
+      q(3264) => q(keh),
+      q(3265) => q(kei),
+      q(3266) => q(kej),
+      q(3267) => q(kek),
+      q(3268) => q(kel),
+      q(3269) => q(kem),
+      q(3270) => q(ken),
+      q(3271) => q(keo),
+      q(3272) => q(kep),
+      q(3273) => q(keq),
+      q(3274) => q(ker),
+      q(3275) => q(kes),
+      q(3276) => q(ket),
+      q(3277) => q(keu),
+      q(3278) => q(kev),
+      q(3279) => q(kew),
+      q(3280) => q(kex),
+      q(3281) => q(key),
+      q(3282) => q(kez),
+      q(3283) => q(kfa),
+      q(3284) => q(kfb),
+      q(3285) => q(kfc),
+      q(3286) => q(kfd),
+      q(3287) => q(kfe),
+      q(3288) => q(kff),
+      q(3289) => q(kfg),
+      q(3290) => q(kfh),
+      q(3291) => q(kfi),
+      q(3292) => q(kfj),
+      q(3293) => q(kfk),
+      q(3294) => q(kfl),
+      q(3295) => q(kfm),
+      q(3296) => q(kfn),
+      q(3297) => q(kfo),
+      q(3298) => q(kfp),
+      q(3299) => q(kfq),
+      q(3300) => q(kfr),
+      q(3301) => q(kfs),
+      q(3302) => q(kft),
+      q(3303) => q(kfu),
+      q(3304) => q(kfv),
+      q(3305) => q(kfw),
+      q(3306) => q(kfx),
+      q(3307) => q(kfy),
+      q(3308) => q(kfz),
+      q(3309) => q(kga),
+      q(3310) => q(kgb),
+      q(3311) => q(kgc),
+      q(3312) => q(kgd),
+      q(3313) => q(kge),
+      q(3314) => q(kgf),
+      q(3315) => q(kgg),
+      q(3316) => q(kgi),
+      q(3317) => q(kgj),
+      q(3318) => q(kgk),
+      q(3319) => q(kgl),
+      q(3320) => q(kuq),
+      q(3321) => q(kgn),
+      q(3322) => q(kgo),
+      q(3323) => q(kgp),
+      q(3324) => q(kgq),
+      q(3325) => q(kgr),
+      q(3326) => q(kgs),
+      q(3327) => q(kgt),
+      q(3328) => q(kgu),
+      q(3329) => q(kgv),
+      q(3330) => q(kgw),
+      q(3331) => q(kgx),
+      q(3332) => q(kgy),
+      q(3333) => q(khb),
+      q(3334) => q(khc),
+      q(3335) => q(khd),
+      q(3336) => q(khe),
+      q(3337) => q(khf),
+      q(3338) => q(khg),
+      q(3339) => q(khh),
+      q(3340) => q(khj),
+      q(3341) => q(khk),
+      q(3342) => q(khl),
+      q(3343) => q(khn),
+      q(3344) => q(khp),
+      q(3345) => q(khq),
+      q(3346) => q(khr),
+      q(3347) => q(khs),
+      q(3348) => q(kht),
+      q(3349) => q(khu),
+      q(3350) => q(khv),
+      q(3351) => q(khw),
+      q(3352) => q(khx),
+      q(3353) => q(khy),
+      q(3354) => q(khz),
+      q(3355) => q(kia),
+      q(3356) => q(kib),
+      q(3357) => q(kic),
+      q(3358) => q(kid),
+      q(3359) => q(kie),
+      q(3360) => q(kif),
+      q(3361) => q(kig),
+      q(3362) => q(kih),
+      q(3363) => q(kii),
+      q(3364) => q(kij),
+      q(3365) => q(kil),
+      q(3366) => q(kim),
+      q(3367) => q(kio),
+      q(3368) => q(kip),
+      q(3369) => q(kiq),
+      q(3370) => q(kis),
+      q(3371) => q(kit),
+      q(3372) => q(kiu),
+      q(3373) => q(kiv),
+      q(3374) => q(kiw),
+      q(3375) => q(kix),
+      q(3376) => q(kiy),
+      q(3377) => q(kiz),
+      q(3378) => q(kja),
+      q(3379) => q(kjb),
+      q(3380) => q(kjc),
+      q(3381) => q(kjd),
+      q(3382) => q(kje),
+      q(3383) => q(kjf),
+      q(3384) => q(kjg),
+      q(3385) => q(kjh),
+      q(3386) => q(kji),
+      q(3387) => q(kjj),
+      q(3388) => q(kjk),
+      q(3389) => q(kjl),
+      q(3390) => q(kjm),
+      q(3391) => q(kjn),
+      q(3392) => q(kjo),
+      q(3393) => q(kjp),
+      q(3394) => q(kjq),
+      q(3395) => q(kjr),
+      q(3396) => q(kjs),
+      q(3397) => q(kjt),
+      q(3398) => q(kju),
+      q(3399) => q(kjv),
+      q(3400) => q(kjx),
+      q(3401) => q(kjy),
+      q(3402) => q(kjz),
+      q(3403) => q(kka),
+      q(3404) => q(kkb),
+      q(3405) => q(kkc),
+      q(3406) => q(kkd),
+      q(3407) => q(kke),
+      q(3408) => q(kkf),
+      q(3409) => q(kkg),
+      q(3410) => q(kkh),
+      q(3411) => q(kki),
+      q(3412) => q(kkj),
+      q(3413) => q(kkk),
+      q(3414) => q(kkl),
+      q(3415) => q(kkm),
+      q(3416) => q(kkn),
+      q(3417) => q(kko),
+      q(3418) => q(kkp),
+      q(3419) => q(kkq),
+      q(3420) => q(kkr),
+      q(3421) => q(kks),
+      q(3422) => q(kkt),
+      q(3423) => q(kku),
+      q(3424) => q(kkv),
+      q(3425) => q(kkw),
+      q(3426) => q(kkx),
+      q(3427) => q(kky),
+      q(3428) => q(kkz),
+      q(3429) => q(kla),
+      q(3430) => q(klb),
+      q(3431) => q(klc),
+      q(3432) => q(kld),
+      q(3433) => q(kle),
+      q(3434) => q(klf),
+      q(3435) => q(klg),
+      q(3436) => q(klh),
+      q(3437) => q(kli),
+      q(3438) => q(klj),
+      q(3439) => q(klk),
+      q(3440) => q(kll),
+      q(3441) => q(klm),
+      q(3442) => q(kln),
+      q(3443) => q(klo),
+      q(3444) => q(klp),
+      q(3445) => q(klq),
+      q(3446) => q(klr),
+      q(3447) => q(kls),
+      q(3448) => q(klt),
+      q(3449) => q(klu),
+      q(3450) => q(klv),
+      q(3451) => q(klw),
+      q(3452) => q(klx),
+      q(3453) => q(kly),
+      q(3454) => q(klz),
+      q(3455) => q(kma),
+      q(3456) => q(kmc),
+      q(3457) => q(kmd),
+      q(3458) => q(kme),
+      q(3459) => q(kmf),
+      q(3460) => q(kmg),
+      q(3461) => q(kmh),
+      q(3462) => q(kmi),
+      q(3463) => q(kmj),
+      q(3464) => q(kmk),
+      q(3465) => q(kml),
+      q(3466) => q(kmm),
+      q(3467) => q(kmn),
+      q(3468) => q(kmo),
+      q(3469) => q(kmp),
+      q(3470) => q(kmq),
+      q(3471) => q(kmr),
+      q(3472) => q(kms),
+      q(3473) => q(kmt),
+      q(3474) => q(kmu),
+      q(3475) => q(kmv),
+      q(3476) => q(kmw),
+      q(3477) => q(kmx),
+      q(3478) => q(kmy),
+      q(3479) => q(kmz),
+      q(3480) => q(kna),
+      q(3481) => q(knb),
+      q(3482) => q(knc),
+      q(3483) => q(knd),
+      q(3484) => q(kne),
+      q(3485) => q(knf),
+      q(3486) => q(kng),
+      q(3487) => q(kni),
+      q(3488) => q(knj),
+      q(3489) => q(knk),
+      q(3490) => q(knl),
+      q(3491) => q(knm),
+      q(3492) => q(knn),
+      q(3493) => q(kno),
+      q(3494) => q(knp),
+      q(3495) => q(knq),
+      q(3496) => q(knr),
+      q(3497) => q(kns),
+      q(3498) => q(knt),
+      q(3499) => q(knu),
+      q(3500) => q(knv),
+      q(3501) => q(knw),
+      q(3502) => q(knx),
+      q(3503) => q(kny),
+      q(3504) => q(knz),
+      q(3505) => q(koa),
+      q(3506) => q(koc),
+      q(3507) => q(kod),
+      q(3508) => q(koe),
+      q(3509) => q(kof),
+      q(3510) => q(kog),
+      q(3511) => q(koh),
+      q(3512) => q(koi),
+      q(3513) => q(kol),
+      q(3514) => q(koo),
+      q(3515) => q(kop),
+      q(3516) => q(koq),
+      q(3517) => q(kot),
+      q(3518) => q(kou),
+      q(3519) => q(kov),
+      q(3520) => q(kow),
+      q(3521) => q(kox),
+      q(3522) => q(koy),
+      q(3523) => q(koz),
+      q(3524) => q(kpa),
+      q(3525) => q(kpb),
+      q(3526) => q(kpc),
+      q(3527) => q(kpd),
+      q(3528) => q(kpf),
+      q(3529) => q(kpg),
+      q(3530) => q(kph),
+      q(3531) => q(kpi),
+      q(3532) => q(kpj),
+      q(3533) => q(kpk),
+      q(3534) => q(kpl),
+      q(3535) => q(kpm),
+      q(3536) => q(kpn),
+      q(3537) => q(kpo),
+      q(3538) => q(kpq),
+      q(3539) => q(kpr),
+      q(3540) => q(kps),
+      q(3541) => q(kpt),
+      q(3542) => q(kpu),
+      q(3543) => q(kpv),
+      q(3544) => q(kpw),
+      q(3545) => q(kpx),
+      q(3546) => q(kpy),
+      q(3547) => q(kpz),
+      q(3548) => q(kqa),
+      q(3549) => q(kqb),
+      q(3550) => q(kqc),
+      q(3551) => q(kqd),
+      q(3552) => q(kqe),
+      q(3553) => q(kqf),
+      q(3554) => q(kqg),
+      q(3555) => q(kqh),
+      q(3556) => q(kqi),
+      q(3557) => q(kqj),
+      q(3558) => q(kqk),
+      q(3559) => q(kql),
+      q(3560) => q(kqm),
+      q(3561) => q(kqn),
+      q(3562) => q(kqo),
+      q(3563) => q(kqp),
+      q(3564) => q(kqq),
+      q(3565) => q(kqr),
+      q(3566) => q(kqs),
+      q(3567) => q(kqt),
+      q(3568) => q(kqu),
+      q(3569) => q(kqv),
+      q(3570) => q(kqw),
+      q(3571) => q(kqx),
+      q(3572) => q(kqy),
+      q(3573) => q(kqz),
+      q(3574) => q(kra),
+      q(3575) => q(krb),
+      q(3576) => q(krd),
+      q(3577) => q(kre),
+      q(3578) => q(krf),
+      q(3579) => q(krh),
+      q(3580) => q(kri),
+      q(3581) => q(krj),
+      q(3582) => q(krk),
+      q(3583) => q(krm),
+      q(3584) => q(krn),
+      q(3585) => q(krp),
+      q(3586) => q(krr),
+      q(3587) => q(krs),
+      q(3588) => q(krt),
+      q(3589) => q(krv),
+      q(3590) => q(krw),
+      q(3591) => q(krx),
+      q(3592) => q(kry),
+      q(3593) => q(krz),
+      q(3594) => q(ksa),
+      q(3595) => q(ksb),
+      q(3596) => q(ksc),
+      q(3597) => q(ksd),
+      q(3598) => q(kse),
+      q(3599) => q(ksf),
+      q(3600) => q(ksg),
+      q(3601) => q(ksh),
+      q(3602) => q(ksi),
+      q(3603) => q(ksj),
+      q(3604) => q(ksk),
+      q(3605) => q(ksl),
+      q(3606) => q(ksm),
+      q(3607) => q(ksn),
+      q(3608) => q(kso),
+      q(3609) => q(ksp),
+      q(3610) => q(ksq),
+      q(3611) => q(ksr),
+      q(3612) => q(kss),
+      q(3613) => q(kst),
+      q(3614) => q(ksu),
+      q(3615) => q(ksv),
+      q(3616) => q(ksw),
+      q(3617) => q(ksx),
+      q(3618) => q(ksy),
+      q(3619) => q(ksz),
+      q(3620) => q(kta),
+      q(3621) => q(ktb),
+      q(3622) => q(ktc),
+      q(3623) => q(ktd),
+      q(3624) => q(kte),
+      q(3625) => q(ktf),
+      q(3626) => q(ktg),
+      q(3627) => q(kth),
+      q(3628) => q(kti),
+      q(3629) => q(ktj),
+      q(3630) => q(ktk),
+      q(3631) => q(ktl),
+      q(3632) => q(ktm),
+      q(3633) => q(ktn),
+      q(3634) => q(kto),
+      q(3635) => q(ktp),
+      q(3636) => q(ktq),
+      q(3637) => q(ktr),
+      q(3638) => q(kts),
+      q(3639) => q(ktt),
+      q(3640) => q(ktu),
+      q(3641) => q(ktv),
+      q(3642) => q(ktw),
+      q(3643) => q(ktx),
+      q(3644) => q(kty),
+      q(3645) => q(ktz),
+      q(3646) => q(kub),
+      q(3647) => q(kuc),
+      q(3648) => q(kud),
+      q(3649) => q(kue),
+      q(3650) => q(kuf),
+      q(3651) => q(kug),
+      q(3652) => q(kuh),
+      q(3653) => q(kui),
+      q(3654) => q(kuj),
+      q(3655) => q(kuk),
+      q(3656) => q(kul),
+      q(3657) => q(kun),
+      q(3658) => q(kuo),
+      q(3659) => q(kup),
+      q(3660) => q(kus),
+      q(3661) => q(kuu),
+      q(3662) => q(kuv),
+      q(3663) => q(kuw),
+      q(3664) => q(kux),
+      q(3665) => q(kuy),
+      q(3666) => q(kuz),
+      q(3667) => q(kva),
+      q(3668) => q(kvb),
+      q(3669) => q(kvc),
+      q(3670) => q(kvd),
+      q(3671) => q(kve),
+      q(3672) => q(kvf),
+      q(3673) => q(kvg),
+      q(3674) => q(kvh),
+      q(3675) => q(kvi),
+      q(3676) => q(kvj),
+      q(3677) => q(kvk),
+      q(3678) => q(kvl),
+      q(3679) => q(kvm),
+      q(3680) => q(kvn),
+      q(3681) => q(kvo),
+      q(3682) => q(kvp),
+      q(3683) => q(kvq),
+      q(3684) => q(kvr),
+      q(3685) => q(kvs),
+      q(3686) => q(kvt),
+      q(3687) => q(kvu),
+      q(3688) => q(kvv),
+      q(3689) => q(kvw),
+      q(3690) => q(kvx),
+      q(3691) => q(kvy),
+      q(3692) => q(kvz),
+      q(3693) => q(kwa),
+      q(3694) => q(kwb),
+      q(3695) => q(kwc),
+      q(3696) => q(kwd),
+      q(3697) => q(kwe),
+      q(3698) => q(kwf),
+      q(3699) => q(kwg),
+      q(3700) => q(kwh),
+      q(3701) => q(kwi),
+      q(3702) => q(kwj),
+      q(3703) => q(kwk),
+      q(3704) => q(kwl),
+      q(3705) => q(kwm),
+      q(3706) => q(kwn),
+      q(3707) => q(kwo),
+      q(3708) => q(kwp),
+      q(3709) => q(kwr),
+      q(3710) => q(kws),
+      q(3711) => q(kwt),
+      q(3712) => q(kwu),
+      q(3713) => q(kwv),
+      q(3714) => q(kww),
+      q(3715) => q(kwx),
+      q(3716) => q(kwy),
+      q(3717) => q(kwz),
+      q(3718) => q(kxa),
+      q(3719) => q(kxb),
+      q(3720) => q(kxc),
+      q(3721) => q(kxd),
+      q(3722) => q(kxf),
+      q(3723) => q(kxh),
+      q(3724) => q(kxi),
+      q(3725) => q(kxj),
+      q(3726) => q(kxk),
+      q(3727) => q(kxl),
+      q(3728) => q(kxm),
+      q(3729) => q(kxn),
+      q(3730) => q(kxo),
+      q(3731) => q(kxp),
+      q(3732) => q(kxq),
+      q(3733) => q(kxr),
+      q(3734) => q(kxs),
+      q(3735) => q(kxt),
+      q(3736) => q(kxu),
+      q(3737) => q(kxv),
+      q(3738) => q(kxw),
+      q(3739) => q(kxx),
+      q(3740) => q(kxy),
+      q(3741) => q(kxz),
+      q(3742) => q(kya),
+      q(3743) => q(kyb),
+      q(3744) => q(kyc),
+      q(3745) => q(kyd),
+      q(3746) => q(kye),
+      q(3747) => q(kyf),
+      q(3748) => q(kyg),
+      q(3749) => q(kyh),
+      q(3750) => q(kyi),
+      q(3751) => q(kyj),
+      q(3752) => q(kyk),
+      q(3753) => q(kyl),
+      q(3754) => q(kym),
+      q(3755) => q(kyn),
+      q(3756) => q(kyo),
+      q(3757) => q(kyp),
+      q(3758) => q(kyq),
+      q(3759) => q(kyr),
+      q(3760) => q(kys),
+      q(3761) => q(kyt),
+      q(3762) => q(kyu),
+      q(3763) => q(kyv),
+      q(3764) => q(kyw),
+      q(3765) => q(kyx),
+      q(3766) => q(kyy),
+      q(3767) => q(kyz),
+      q(3768) => q(kza),
+      q(3769) => q(kzb),
+      q(3770) => q(kzc),
+      q(3771) => q(kzd),
+      q(3772) => q(kze),
+      q(3773) => q(kzf),
+      q(3774) => q(kzg),
+      q(3775) => q(kzi),
+      q(3776) => q(kzj),
+      q(3777) => q(kzk),
+      q(3778) => q(kzl),
+      q(3779) => q(kzm),
+      q(3780) => q(kzn),
+      q(3781) => q(kzo),
+      q(3782) => q(kzp),
+      q(3783) => q(kzq),
+      q(3784) => q(kzr),
+      q(3785) => q(kzs),
+      q(3786) => q(kzt),
+      q(3787) => q(kzu),
+      q(3788) => q(kzv),
+      q(3789) => q(kzw),
+      q(3790) => q(kzx),
+      q(3791) => q(kzy),
+      q(3792) => q(kzz),
+      q(3793) => q(laa),
+      q(3794) => q(lab),
+      q(3795) => q(lac),
+      q(3796) => q(lae),
+      q(3797) => q(laf),
+      q(3798) => q(lag),
+      q(3799) => q(lai),
+      q(3800) => q(laj),
+      q(3801) => q(lak),
+      q(3802) => q(lal),
+      q(3803) => q(lan),
+      q(3804) => q(lap),
+      q(3805) => q(laq),
+      q(3806) => q(lar),
+      q(3807) => q(las),
+      q(3808) => q(lau),
+      q(3809) => q(law),
+      q(3810) => q(lax),
+      q(3811) => q(lay),
+      q(3812) => q(laz),
+      q(3813) => q(lba),
+      q(3814) => q(lbb),
+      q(3815) => q(lbc),
+      q(3816) => q(lbe),
+      q(3817) => q(lbf),
+      q(3818) => q(lbg),
+      q(3819) => q(lbi),
+      q(3820) => q(lbj),
+      q(3821) => q(lbk),
+      q(3822) => q(lbl),
+      q(3823) => q(lbm),
+      q(3824) => q(lbn),
+      q(3825) => q(lbo),
+      q(3826) => q(lbq),
+      q(3827) => q(lbr),
+      q(3828) => q(lbs),
+      q(3829) => q(lbt),
+      q(3830) => q(lbu),
+      q(3831) => q(lbv),
+      q(3832) => q(lbw),
+      q(3833) => q(lbx),
+      q(3834) => q(lby),
+      q(3835) => q(lbz),
+      q(3836) => q(lcc),
+      q(3837) => q(lcd),
+      q(3838) => q(lce),
+      q(3839) => q(lcf),
+      q(3840) => q(lch),
+      q(3841) => q(lcl),
+      q(3842) => q(lcm),
+      q(3843) => q(lcp),
+      q(3844) => q(lcq),
+      q(3845) => q(lcs),
+      q(3846) => q(lda),
+      q(3847) => q(ldb),
+      q(3848) => q(ldd),
+      q(3849) => q(ldg),
+      q(3850) => q(ldh),
+      q(3851) => q(ldi),
+      q(3852) => q(ldj),
+      q(3853) => q(ldk),
+      q(3854) => q(ldl),
+      q(3855) => q(ldm),
+      q(3856) => q(ldn),
+      q(3857) => q(ldo),
+      q(3858) => q(ldp),
+      q(3859) => q(ldq),
+      q(3860) => q(lea),
+      q(3861) => q(leb),
+      q(3862) => q(lec),
+      q(3863) => q(led),
+      q(3864) => q(lee),
+      q(3865) => q(lef),
+      q(3866) => q(leh),
+      q(3867) => q(lei),
+      q(3868) => q(lej),
+      q(3869) => q(lek),
+      q(3870) => q(lel),
+      q(3871) => q(lem),
+      q(3872) => q(len),
+      q(3873) => q(leo),
+      q(3874) => q(lep),
+      q(3875) => q(leq),
+      q(3876) => q(ler),
+      q(3877) => q(les),
+      q(3878) => q(let),
+      q(3879) => q(leu),
+      q(3880) => q(lev),
+      q(3881) => q(lew),
+      q(3882) => q(lex),
+      q(3883) => q(ley),
+      q(3884) => q(lfa),
+      q(3885) => q(lfn),
+      q(3886) => q(lga),
+      q(3887) => q(lgb),
+      q(3888) => q(lgg),
+      q(3889) => q(lgh),
+      q(3890) => q(lgi),
+      q(3891) => q(lgk),
+      q(3892) => q(lgl),
+      q(3893) => q(lgm),
+      q(3894) => q(lgn),
+      q(3895) => q(lgq),
+      q(3896) => q(lgr),
+      q(3897) => q(lgt),
+      q(3898) => q(lgu),
+      q(3899) => q(lgz),
+      q(3900) => q(lha),
+      q(3901) => q(lhh),
+      q(3902) => q(lhi),
+      q(3903) => q(lhl),
+      q(3904) => q(lhm),
+      q(3905) => q(lhn),
+      q(3906) => q(lhp),
+      q(3907) => q(lhs),
+      q(3908) => q(lht),
+      q(3909) => q(lhu),
+      q(3910) => q(lia),
+      q(3911) => q(lib),
+      q(3912) => q(lic),
+      q(3913) => q(lid),
+      q(3914) => q(lie),
+      q(3915) => q(lif),
+      q(3916) => q(lig),
+      q(3917) => q(lih),
+      q(3918) => q(lij),
+      q(3919) => q(lik),
+      q(3920) => q(lil),
+      q(3921) => q(lio),
+      q(3922) => q(lip),
+      q(3923) => q(liq),
+      q(3924) => q(lir),
+      q(3925) => q(lis),
+      q(3926) => q(liu),
+      q(3927) => q(liv),
+      q(3928) => q(liw),
+      q(3929) => q(lix),
+      q(3930) => q(liy),
+      q(3931) => q(liz),
+      q(3932) => q(lja),
+      q(3933) => q(lje),
+      q(3934) => q(lji),
+      q(3935) => q(ljl),
+      q(3936) => q(ljp),
+      q(3937) => q(ljw),
+      q(3938) => q(ljx),
+      q(3939) => q(lka),
+      q(3940) => q(lkb),
+      q(3941) => q(lkc),
+      q(3942) => q(lkd),
+      q(3943) => q(lke),
+      q(3944) => q(lkh),
+      q(3945) => q(lki),
+      q(3946) => q(lkj),
+      q(3947) => q(lkl),
+      q(3948) => q(lkm),
+      q(3949) => q(lkn),
+      q(3950) => q(lko),
+      q(3951) => q(lkr),
+      q(3952) => q(lks),
+      q(3953) => q(lkt),
+      q(3954) => q(lku),
+      q(3955) => q(lky),
+      q(3956) => q(lla),
+      q(3957) => q(llb),
+      q(3958) => q(llc),
+      q(3959) => q(lld),
+      q(3960) => q(lle),
+      q(3961) => q(llf),
+      q(3962) => q(llg),
+      q(3963) => q(llh),
+      q(3964) => q(lli),
+      q(3965) => q(llj),
+      q(3966) => q(llk),
+      q(3967) => q(lll),
+      q(3968) => q(llm),
+      q(3969) => q(lln),
+      q(3970) => q(llo),
+      q(3971) => q(llp),
+      q(3972) => q(llq),
+      q(3973) => q(lls),
+      q(3974) => q(llu),
+      q(3975) => q(llx),
+      q(3976) => q(lma),
+      q(3977) => q(lmb),
+      q(3978) => q(lmc),
+      q(3979) => q(lmd),
+      q(3980) => q(lme),
+      q(3981) => q(lmf),
+      q(3982) => q(lmg),
+      q(3983) => q(lmh),
+      q(3984) => q(lmi),
+      q(3985) => q(lmj),
+      q(3986) => q(lmk),
+      q(3987) => q(lml),
+      q(3988) => q(lmn),
+      q(3989) => q(lmo),
+      q(3990) => q(lmp),
+      q(3991) => q(lmq),
+      q(3992) => q(lmr),
+      q(3993) => q(lmu),
+      q(3994) => q(lmv),
+      q(3995) => q(lmw),
+      q(3996) => q(lmx),
+      q(3997) => q(lmy),
+      q(3998) => q(lmz),
+      q(3999) => q(lna),
+      q(4000) => q(lnb),
+      q(4001) => q(lnd),
+      q(4002) => q(lng),
+      q(4003) => q(lnh),
+      q(4004) => q(lni),
+      q(4005) => q(lnj),
+      q(4006) => q(lnl),
+      q(4007) => q(lnm),
+      q(4008) => q(lnn),
+      q(4009) => q(lno),
+      q(4010) => q(lns),
+      q(4011) => q(lnu),
+      q(4012) => q(lnw),
+      q(4013) => q(lnz),
+      q(4014) => q(loa),
+      q(4015) => q(lob),
+      q(4016) => q(loc),
+      q(4017) => q(loe),
+      q(4018) => q(lof),
+      q(4019) => q(log),
+      q(4020) => q(loh),
+      q(4021) => q(loi),
+      q(4022) => q(loj),
+      q(4023) => q(lok),
+      q(4024) => q(lom),
+      q(4025) => q(lon),
+      q(4026) => q(loo),
+      q(4027) => q(lop),
+      q(4028) => q(loq),
+      q(4029) => q(lor),
+      q(4030) => q(los),
+      q(4031) => q(lot),
+      q(4032) => q(lou),
+      q(4033) => q(lov),
+      q(4034) => q(low),
+      q(4035) => q(lox),
+      q(4036) => q(loy),
+      q(4037) => q(lpa),
+      q(4038) => q(lpe),
+      q(4039) => q(lpn),
+      q(4040) => q(lpo),
+      q(4041) => q(lpx),
+      q(4042) => q(lra),
+      q(4043) => q(lrc),
+      q(4044) => q(lre),
+      q(4045) => q(lrg),
+      q(4046) => q(lri),
+      q(4047) => q(lrk),
+      q(4048) => q(lrl),
+      q(4049) => q(lrm),
+      q(4050) => q(lrn),
+      q(4051) => q(lro),
+      q(4052) => q(lrr),
+      q(4053) => q(lrt),
+      q(4054) => q(lrv),
+      q(4055) => q(lrz),
+      q(4056) => q(lsa),
+      q(4057) => q(lsd),
+      q(4058) => q(lse),
+      q(4059) => q(lsg),
+      q(4060) => q(lsh),
+      q(4061) => q(lsi),
+      q(4062) => q(lsl),
+      q(4063) => q(lsm),
+      q(4064) => q(lso),
+      q(4065) => q(lsp),
+      q(4066) => q(lsr),
+      q(4067) => q(lss),
+      q(4068) => q(lst),
+      q(4069) => q(lsy),
+      q(4070) => q(ltc),
+      q(4071) => q(ltg),
+      q(4072) => q(lti),
+      q(4073) => q(ltn),
+      q(4074) => q(lto),
+      q(4075) => q(lts),
+      q(4076) => q(ltu),
+      q(4077) => q(luc),
+      q(4078) => q(lud),
+      q(4079) => q(lue),
+      q(4080) => q(luf),
+      q(4081) => q(luj),
+      q(4082) => q(luk),
+      q(4083) => q(lul),
+      q(4084) => q(lum),
+      q(4085) => q(lup),
+      q(4086) => q(luq),
+      q(4087) => q(lur),
+      q(4088) => q(lut),
+      q(4089) => q(luu),
+      q(4090) => q(luv),
+      q(4091) => q(luw),
+      q(4092) => q(luy),
+      q(4093) => q(luz),
+      q(4094) => q(lva),
+      q(4095) => q(lvk),
+      q(4096) => q(lvs),
+      q(4097) => q(lvu),
+      q(4098) => q(lwa),
+      q(4099) => q(lwe),
+      q(4100) => q(lwg),
+      q(4101) => q(lwh),
+      q(4102) => q(lwl),
+      q(4103) => q(lwm),
+      q(4104) => q(lwo),
+      q(4105) => q(lwt),
+      q(4106) => q(lwu),
+      q(4107) => q(lww),
+      q(4108) => q(lya),
+      q(4109) => q(lyg),
+      q(4110) => q(lyn),
+      q(4111) => q(lzh),
+      q(4112) => q(lzl),
+      q(4113) => q(lzn),
+      q(4114) => q(lzz),
+      q(4115) => q(maa),
+      q(4116) => q(mab),
+      q(4117) => q(mae),
+      q(4118) => q(maf),
+      q(4119) => q(maj),
+      q(4120) => q(mam),
+      q(4121) => q(maq),
+      q(4122) => q(mat),
+      q(4123) => q(mau),
+      q(4124) => q(mav),
+      q(4125) => q(maw),
+      q(4126) => q(max),
+      q(4127) => q(maz),
+      q(4128) => q(mba),
+      q(4129) => q(mbb),
+      q(4130) => q(mbc),
+      q(4131) => q(mbd),
+      q(4132) => q(mbe),
+      q(4133) => q(mbf),
+      q(4134) => q(mbh),
+      q(4135) => q(mbi),
+      q(4136) => q(mbj),
+      q(4137) => q(mbk),
+      q(4138) => q(mbl),
+      q(4139) => q(mbm),
+      q(4140) => q(mbn),
+      q(4141) => q(mbo),
+      q(4142) => q(mbp),
+      q(4143) => q(mbq),
+      q(4144) => q(mbr),
+      q(4145) => q(mbs),
+      q(4146) => q(mbt),
+      q(4147) => q(mbu),
+      q(4148) => q(mbv),
+      q(4149) => q(mbw),
+      q(4150) => q(mbx),
+      q(4151) => q(mby),
+      q(4152) => q(mbz),
+      q(4153) => q(mca),
+      q(4154) => q(mcb),
+      q(4155) => q(mcc),
+      q(4156) => q(mcd),
+      q(4157) => q(mce),
+      q(4158) => q(mcf),
+      q(4159) => q(mcg),
+      q(4160) => q(mch),
+      q(4161) => q(mci),
+      q(4162) => q(mcj),
+      q(4163) => q(mck),
+      q(4164) => q(mcl),
+      q(4165) => q(mcm),
+      q(4166) => q(mcn),
+      q(4167) => q(mco),
+      q(4168) => q(mcp),
+      q(4169) => q(mcq),
+      q(4170) => q(mcr),
+      q(4171) => q(mcs),
+      q(4172) => q(mct),
+      q(4173) => q(mcu),
+      q(4174) => q(mcv),
+      q(4175) => q(mcw),
+      q(4176) => q(mcx),
+      q(4177) => q(mcy),
+      q(4178) => q(mcz),
+      q(4179) => q(mda),
+      q(4180) => q(mdb),
+      q(4181) => q(mdc),
+      q(4182) => q(mdd),
+      q(4183) => q(mde),
+      q(4184) => q(mdg),
+      q(4185) => q(mdh),
+      q(4186) => q(mdi),
+      q(4187) => q(mdj),
+      q(4188) => q(mdk),
+      q(4189) => q(mdl),
+      q(4190) => q(mdm),
+      q(4191) => q(mdn),
+      q(4192) => q(mdp),
+      q(4193) => q(mdq),
+      q(4194) => q(mds),
+      q(4195) => q(mdt),
+      q(4196) => q(mdu),
+      q(4197) => q(mdv),
+      q(4198) => q(mdw),
+      q(4199) => q(mdx),
+      q(4200) => q(mdy),
+      q(4201) => q(mdz),
+      q(4202) => q(mea),
+      q(4203) => q(meb),
+      q(4204) => q(mec),
+      q(4205) => q(med),
+      q(4206) => q(mee),
+      q(4207) => q(mef),
+      q(4208) => q(meh),
+      q(4209) => q(mei),
+      q(4210) => q(mej),
+      q(4211) => q(mek),
+      q(4212) => q(mel),
+      q(4213) => q(mem),
+      q(4214) => q(meo),
+      q(4215) => q(mep),
+      q(4216) => q(meq),
+      q(4217) => q(mer),
+      q(4218) => q(mes),
+      q(4219) => q(met),
+      q(4220) => q(meu),
+      q(4221) => q(mev),
+      q(4222) => q(mew),
+      q(4223) => q(mey),
+      q(4224) => q(mez),
+      q(4225) => q(mfa),
+      q(4226) => q(mfb),
+      q(4227) => q(mfc),
+      q(4228) => q(mfd),
+      q(4229) => q(mfe),
+      q(4230) => q(mff),
+      q(4231) => q(mfg),
+      q(4232) => q(mfh),
+      q(4233) => q(mfi),
+      q(4234) => q(mfj),
+      q(4235) => q(mfk),
+      q(4236) => q(mfl),
+      q(4237) => q(mfm),
+      q(4238) => q(mfn),
+      q(4239) => q(mfo),
+      q(4240) => q(mfp),
+      q(4241) => q(mfq),
+      q(4242) => q(mfr),
+      q(4243) => q(mfs),
+      q(4244) => q(mft),
+      q(4245) => q(mfu),
+      q(4246) => q(mfv),
+      q(4247) => q(mfw),
+      q(4248) => q(mfx),
+      q(4249) => q(mfy),
+      q(4250) => q(mfz),
+      q(4251) => q(mgb),
+      q(4252) => q(mgc),
+      q(4253) => q(mgd),
+      q(4254) => q(mge),
+      q(4255) => q(mgf),
+      q(4256) => q(mgg),
+      q(4257) => q(mgh),
+      q(4258) => q(mgi),
+      q(4259) => q(mgj),
+      q(4260) => q(mgk),
+      q(4261) => q(mgl),
+      q(4262) => q(mgm),
+      q(4263) => q(mgn),
+      q(4264) => q(mgo),
+      q(4265) => q(mgp),
+      q(4266) => q(mgq),
+      q(4267) => q(mgr),
+      q(4268) => q(mgs),
+      q(4269) => q(mgt),
+      q(4270) => q(mgu),
+      q(4271) => q(mgv),
+      q(4272) => q(mgw),
+      q(4273) => q(mgy),
+      q(4274) => q(mgz),
+      q(4275) => q(mha),
+      q(4276) => q(mhb),
+      q(4277) => q(mhc),
+      q(4278) => q(mhd),
+      q(4279) => q(mhe),
+      q(4280) => q(mhf),
+      q(4281) => q(mhg),
+      q(4282) => q(mhi),
+      q(4283) => q(mhj),
+      q(4284) => q(mhk),
+      q(4285) => q(mhl),
+      q(4286) => q(mhm),
+      q(4287) => q(mhn),
+      q(4288) => q(mho),
+      q(4289) => q(mhp),
+      q(4290) => q(mhq),
+      q(4291) => q(mhr),
+      q(4292) => q(mhs),
+      q(4293) => q(mht),
+      q(4294) => q(mhu),
+      q(4295) => q(mhw),
+      q(4296) => q(mhx),
+      q(4297) => q(mhy),
+      q(4298) => q(mhz),
+      q(4299) => q(mia),
+      q(4300) => q(mib),
+      q(4301) => q(mid),
+      q(4302) => q(mie),
+      q(4303) => q(mif),
+      q(4304) => q(mig),
+      q(4305) => q(mih),
+      q(4306) => q(mii),
+      q(4307) => q(mij),
+      q(4308) => q(mik),
+      q(4309) => q(mil),
+      q(4310) => q(mim),
+      q(4311) => q(mio),
+      q(4312) => q(mip),
+      q(4313) => q(miq),
+      q(4314) => q(mir),
+      q(4315) => q(mit),
+      q(4316) => q(miu),
+      q(4317) => q(miw),
+      q(4318) => q(mix),
+      q(4319) => q(miy),
+      q(4320) => q(miz),
+      q(4321) => q(mjc),
+      q(4322) => q(mjd),
+      q(4323) => q(mje),
+      q(4324) => q(mjg),
+      q(4325) => q(mjh),
+      q(4326) => q(mji),
+      q(4327) => q(mjj),
+      q(4328) => q(mjk),
+      q(4329) => q(mjl),
+      q(4330) => q(mjm),
+      q(4331) => q(mjn),
+      q(4332) => q(mjo),
+      q(4333) => q(mjp),
+      q(4334) => q(mjq),
+      q(4335) => q(mjr),
+      q(4336) => q(mjs),
+      q(4337) => q(mjt),
+      q(4338) => q(mju),
+      q(4339) => q(mjv),
+      q(4340) => q(mjw),
+      q(4341) => q(mjx),
+      q(4342) => q(mjy),
+      q(4343) => q(mjz),
+      q(4344) => q(mka),
+      q(4345) => q(mkb),
+      q(4346) => q(mkc),
+      q(4347) => q(mke),
+      q(4348) => q(mkf),
+      q(4349) => q(mkg),
+      q(4350) => q(mki),
+      q(4351) => q(mkj),
+      q(4352) => q(mkk),
+      q(4353) => q(mkl),
+      q(4354) => q(mkm),
+      q(4355) => q(mkn),
+      q(4356) => q(mko),
+      q(4357) => q(mkp),
+      q(4358) => q(mkq),
+      q(4359) => q(mkr),
+      q(4360) => q(mks),
+      q(4361) => q(mkt),
+      q(4362) => q(mku),
+      q(4363) => q(mkv),
+      q(4364) => q(mkw),
+      q(4365) => q(mkx),
+      q(4366) => q(mky),
+      q(4367) => q(mkz),
+      q(4368) => q(mla),
+      q(4369) => q(mlb),
+      q(4370) => q(mlc),
+      q(4371) => q(mle),
+      q(4372) => q(mlf),
+      q(4373) => q(mlh),
+      q(4374) => q(mli),
+      q(4375) => q(mlj),
+      q(4376) => q(mlk),
+      q(4377) => q(mll),
+      q(4378) => q(mlm),
+      q(4379) => q(mln),
+      q(4380) => q(mlo),
+      q(4381) => q(mlp),
+      q(4382) => q(mlq),
+      q(4383) => q(mlr),
+      q(4384) => q(mls),
+      q(4385) => q(mlu),
+      q(4386) => q(mlv),
+      q(4387) => q(mlw),
+      q(4388) => q(mlx),
+      q(4389) => q(mlz),
+      q(4390) => q(mma),
+      q(4391) => q(mmb),
+      q(4392) => q(mmc),
+      q(4393) => q(mmd),
+      q(4394) => q(mme),
+      q(4395) => q(mmf),
+      q(4396) => q(mmg),
+      q(4397) => q(mmh),
+      q(4398) => q(mmi),
+      q(4399) => q(mmj),
+      q(4400) => q(mmk),
+      q(4401) => q(mml),
+      q(4402) => q(mmm),
+      q(4403) => q(mmn),
+      q(4404) => q(mmo),
+      q(4405) => q(mmp),
+      q(4406) => q(mmq),
+      q(4407) => q(mmr),
+      q(4408) => q(mmt),
+      q(4409) => q(mmu),
+      q(4410) => q(mmv),
+      q(4411) => q(mmw),
+      q(4412) => q(mmx),
+      q(4413) => q(mmy),
+      q(4414) => q(mmz),
+      q(4415) => q(mna),
+      q(4416) => q(mnb),
+      q(4417) => q(mnd),
+      q(4418) => q(mne),
+      q(4419) => q(mnf),
+      q(4420) => q(mng),
+      q(4421) => q(mnh),
+      q(4422) => q(mnj),
+      q(4423) => q(mnk),
+      q(4424) => q(mnl),
+      q(4425) => q(mnm),
+      q(4426) => q(mnn),
+      q(4427) => q(mnp),
+      q(4428) => q(mnq),
+      q(4429) => q(mnr),
+      q(4430) => q(mns),
+      q(4431) => q(mnu),
+      q(4432) => q(mnv),
+      q(4433) => q(mnw),
+      q(4434) => q(mnx),
+      q(4435) => q(mny),
+      q(4436) => q(mnz),
+      q(4437) => q(moa),
+      q(4438) => q(moc),
+      q(4439) => q(mod),
+      q(4440) => q(moe),
+      q(4441) => q(mog),
+      q(4442) => q(moi),
+      q(4443) => q(moj),
+      q(4444) => q(mok),
+      q(4445) => q(mom),
+      q(4446) => q(moo),
+      q(4447) => q(mop),
+      q(4448) => q(moq),
+      q(4449) => q(mor),
+      q(4450) => q(mou),
+      q(4451) => q(mov),
+      q(4452) => q(mow),
+      q(4453) => q(mox),
+      q(4454) => q(moy),
+      q(4455) => q(moz),
+      q(4456) => q(mpa),
+      q(4457) => q(mpb),
+      q(4458) => q(mpc),
+      q(4459) => q(mpd),
+      q(4460) => q(mpe),
+      q(4461) => q(mpg),
+      q(4462) => q(mph),
+      q(4463) => q(mpi),
+      q(4464) => q(mpj),
+      q(4465) => q(mpk),
+      q(4466) => q(mpl),
+      q(4467) => q(mpm),
+      q(4468) => q(mpn),
+      q(4469) => q(mpo),
+      q(4470) => q(mpp),
+      q(4471) => q(mpq),
+      q(4472) => q(mpr),
+      q(4473) => q(mps),
+      q(4474) => q(mpt),
+      q(4475) => q(mpu),
+      q(4476) => q(mpv),
+      q(4477) => q(mpw),
+      q(4478) => q(mpx),
+      q(4479) => q(mpy),
+      q(4480) => q(mpz),
+      q(4481) => q(mqa),
+      q(4482) => q(mqb),
+      q(4483) => q(mqc),
+      q(4484) => q(mqe),
+      q(4485) => q(mqf),
+      q(4486) => q(mqg),
+      q(4487) => q(mqh),
+      q(4488) => q(mqi),
+      q(4489) => q(mqj),
+      q(4490) => q(mqk),
+      q(4491) => q(mql),
+      q(4492) => q(mqm),
+      q(4493) => q(mqn),
+      q(4494) => q(mqo),
+      q(4495) => q(mqp),
+      q(4496) => q(mqq),
+      q(4497) => q(mqr),
+      q(4498) => q(mqs),
+      q(4499) => q(mqt),
+      q(4500) => q(mqu),
+      q(4501) => q(mqv),
+      q(4502) => q(mqw),
+      q(4503) => q(mqx),
+      q(4504) => q(mqy),
+      q(4505) => q(mqz),
+      q(4506) => q(mra),
+      q(4507) => q(mrb),
+      q(4508) => q(mrc),
+      q(4509) => q(mrd),
+      q(4510) => q(mre),
+      q(4511) => q(mrf),
+      q(4512) => q(mrg),
+      q(4513) => q(mrh),
+      q(4514) => q(mrj),
+      q(4515) => q(mrk),
+      q(4516) => q(mrl),
+      q(4517) => q(mrm),
+      q(4518) => q(mrn),
+      q(4519) => q(mro),
+      q(4520) => q(mrp),
+      q(4521) => q(mrq),
+      q(4522) => q(mrr),
+      q(4523) => q(mrs),
+      q(4524) => q(mrt),
+      q(4525) => q(mru),
+      q(4526) => q(mrv),
+      q(4527) => q(mrw),
+      q(4528) => q(mrx),
+      q(4529) => q(mry),
+      q(4530) => q(mrz),
+      q(4531) => q(msb),
+      q(4532) => q(msc),
+      q(4533) => q(msd),
+      q(4534) => q(mse),
+      q(4535) => q(msf),
+      q(4536) => q(msg),
+      q(4537) => q(msh),
+      q(4538) => q(msi),
+      q(4539) => q(msj),
+      q(4540) => q(msk),
+      q(4541) => q(msl),
+      q(4542) => q(msm),
+      q(4543) => q(msn),
+      q(4544) => q(mso),
+      q(4545) => q(msp),
+      q(4546) => q(msq),
+      q(4547) => q(msr),
+      q(4548) => q(mss),
+      q(4549) => q(msu),
+      q(4550) => q(msv),
+      q(4551) => q(msw),
+      q(4552) => q(msx),
+      q(4553) => q(msy),
+      q(4554) => q(msz),
+      q(4555) => q(mta),
+      q(4556) => q(mtb),
+      q(4557) => q(mtc),
+      q(4558) => q(mtd),
+      q(4559) => q(mte),
+      q(4560) => q(mtf),
+      q(4561) => q(mtg),
+      q(4562) => q(mth),
+      q(4563) => q(mti),
+      q(4564) => q(mtj),
+      q(4565) => q(mtk),
+      q(4566) => q(mtl),
+      q(4567) => q(mtm),
+      q(4568) => q(mtn),
+      q(4569) => q(mto),
+      q(4570) => q(mtp),
+      q(4571) => q(mtq),
+      q(4572) => q(mtr),
+      q(4573) => q(mts),
+      q(4574) => q(mtt),
+      q(4575) => q(mtu),
+      q(4576) => q(mtv),
+      q(4577) => q(mtw),
+      q(4578) => q(mtx),
+      q(4579) => q(mty),
+      q(4580) => q(mua),
+      q(4581) => q(mub),
+      q(4582) => q(muc),
+      q(4583) => q(mud),
+      q(4584) => q(mue),
+      q(4585) => q(mug),
+      q(4586) => q(muh),
+      q(4587) => q(mui),
+      q(4588) => q(muj),
+      q(4589) => q(muk),
+      q(4590) => q(mum),
+      q(4591) => q(muo),
+      q(4592) => q(mup),
+      q(4593) => q(muq),
+      q(4594) => q(mur),
+      q(4595) => q(mut),
+      q(4596) => q(muu),
+      q(4597) => q(muv),
+      q(4598) => q(mux),
+      q(4599) => q(muy),
+      q(4600) => q(muz),
+      q(4601) => q(mva),
+      q(4602) => q(mvb),
+      q(4603) => q(mvd),
+      q(4604) => q(mve),
+      q(4605) => q(mvf),
+      q(4606) => q(mvg),
+      q(4607) => q(mvh),
+      q(4608) => q(mvi),
+      q(4609) => q(mvk),
+      q(4610) => q(mvl),
+      q(4611) => q(mvm),
+      q(4612) => q(mvn),
+      q(4613) => q(mvo),
+      q(4614) => q(mvp),
+      q(4615) => q(mvq),
+      q(4616) => q(mvr),
+      q(4617) => q(mvs),
+      q(4618) => q(mvt),
+      q(4619) => q(mvu),
+      q(4620) => q(mvv),
+      q(4621) => q(mvw),
+      q(4622) => q(mvx),
+      q(4623) => q(mvy),
+      q(4624) => q(mvz),
+      q(4625) => q(mwa),
+      q(4626) => q(mwb),
+      q(4627) => q(mwc),
+      q(4628) => q(mwe),
+      q(4629) => q(mwf),
+      q(4630) => q(mwg),
+      q(4631) => q(mwh),
+      q(4632) => q(mwi),
+      q(4633) => q(mwk),
+      q(4634) => q(mwm),
+      q(4635) => q(mwn),
+      q(4636) => q(mwo),
+      q(4637) => q(mwp),
+      q(4638) => q(mwq),
+      q(4639) => q(mws),
+      q(4640) => q(mwt),
+      q(4641) => q(mwu),
+      q(4642) => q(mwv),
+      q(4643) => q(mww),
+      q(4644) => q(mwx),
+      q(4645) => q(mwy),
+      q(4646) => q(mwz),
+      q(4647) => q(mxa),
+      q(4648) => q(mxb),
+      q(4649) => q(mxc),
+      q(4650) => q(mxd),
+      q(4651) => q(mxe),
+      q(4652) => q(mxf),
+      q(4653) => q(mxg),
+      q(4654) => q(mxh),
+      q(4655) => q(mxi),
+      q(4656) => q(mxj),
+      q(4657) => q(mxk),
+      q(4658) => q(mxl),
+      q(4659) => q(mxm),
+      q(4660) => q(mxn),
+      q(4661) => q(mxo),
+      q(4662) => q(mxp),
+      q(4663) => q(mxq),
+      q(4664) => q(mxr),
+      q(4665) => q(mxs),
+      q(4666) => q(mxt),
+      q(4667) => q(mxu),
+      q(4668) => q(mxv),
+      q(4669) => q(mxw),
+      q(4670) => q(mxx),
+      q(4671) => q(mxy),
+      q(4672) => q(mxz),
+      q(4673) => q(myb),
+      q(4674) => q(myc),
+      q(4675) => q(myd),
+      q(4676) => q(mye),
+      q(4677) => q(myf),
+      q(4678) => q(myg),
+      q(4679) => q(myh),
+      q(4680) => q(myi),
+      q(4681) => q(myj),
+      q(4682) => q(myk),
+      q(4683) => q(myl),
+      q(4684) => q(mym),
+      q(4685) => q(myo),
+      q(4686) => q(myp),
+      q(4687) => q(myr),
+      q(4688) => q(mys),
+      q(4689) => q(myu),
+      q(4690) => q(myw),
+      q(4691) => q(myx),
+      q(4692) => q(myy),
+      q(4693) => q(myz),
+      q(4694) => q(mza),
+      q(4695) => q(mzb),
+      q(4696) => q(mzc),
+      q(4697) => q(mzd),
+      q(4698) => q(mze),
+      q(4699) => q(mzg),
+      q(4700) => q(mzh),
+      q(4701) => q(mzi),
+      q(4702) => q(mzj),
+      q(4703) => q(mzk),
+      q(4704) => q(mzl),
+      q(4705) => q(mzm),
+      q(4706) => q(mzn),
+      q(4707) => q(mzo),
+      q(4708) => q(mzp),
+      q(4709) => q(mzq),
+      q(4710) => q(mzr),
+      q(4711) => q(mzs),
+      q(4712) => q(mzt),
+      q(4713) => q(mzu),
+      q(4714) => q(mzv),
+      q(4715) => q(mzw),
+      q(4716) => q(mzx),
+      q(4717) => q(mzy),
+      q(4718) => q(mzz),
+      q(4719) => q(naa),
+      q(4720) => q(nab),
+      q(4721) => q(nac),
+      q(4722) => q(nad),
+      q(4723) => q(nae),
+      q(4724) => q(naf),
+      q(4725) => q(nag),
+      q(4726) => q(naj),
+      q(4727) => q(nak),
+      q(4728) => q(nal),
+      q(4729) => q(nam),
+      q(4730) => q(nan),
+      q(4731) => q(nao),
+      q(4732) => q(naq),
+      q(4733) => q(nar),
+      q(4734) => q(nas),
+      q(4735) => q(nat),
+      q(4736) => q(naw),
+      q(4737) => q(nax),
+      q(4738) => q(nay),
+      q(4739) => q(naz),
+      q(4740) => q(nba),
+      q(4741) => q(nbb),
+      q(4742) => q(nbc),
+      q(4743) => q(nbd),
+      q(4744) => q(nbe),
+      q(4745) => q(nbg),
+      q(4746) => q(nbh),
+      q(4747) => q(nbi),
+      q(4748) => q(nbj),
+      q(4749) => q(nbk),
+      q(4750) => q(nbm),
+      q(4751) => q(nbn),
+      q(4752) => q(nbo),
+      q(4753) => q(nbp),
+      q(4754) => q(nbq),
+      q(4755) => q(nbr),
+      q(4756) => q(nbs),
+      q(4757) => q(nbt),
+      q(4758) => q(nbu),
+      q(4759) => q(nbv),
+      q(4760) => q(nbw),
+      q(4761) => q(nby),
+      q(4762) => q(nca),
+      q(4763) => q(ncb),
+      q(4764) => q(ncc),
+      q(4765) => q(ncd),
+      q(4766) => q(nce),
+      q(4767) => q(ncf),
+      q(4768) => q(ncg),
+      q(4769) => q(nch),
+      q(4770) => q(nci),
+      q(4771) => q(ncj),
+      q(4772) => q(nck),
+      q(4773) => q(ncl),
+      q(4774) => q(ncm),
+      q(4775) => q(ncn),
+      q(4776) => q(nco),
+      q(4777) => q(ncp),
+      q(4778) => q(ncr),
+      q(4779) => q(ncs),
+      q(4780) => q(nct),
+      q(4781) => q(ncu),
+      q(4782) => q(ncx),
+      q(4783) => q(ncz),
+      q(4784) => q(nda),
+      q(4785) => q(ndb),
+      q(4786) => q(ndc),
+      q(4787) => q(ndd),
+      q(4788) => q(ndf),
+      q(4789) => q(ndg),
+      q(4790) => q(ndh),
+      q(4791) => q(ndi),
+      q(4792) => q(ndj),
+      q(4793) => q(ndk),
+      q(4794) => q(ndl),
+      q(4795) => q(ndm),
+      q(4796) => q(ndn),
+      q(4797) => q(ndp),
+      q(4798) => q(ndq),
+      q(4799) => q(ndr),
+      q(4800) => q(ndt),
+      q(4801) => q(ndu),
+      q(4802) => q(ndv),
+      q(4803) => q(ndw),
+      q(4804) => q(ndx),
+      q(4805) => q(ndy),
+      q(4806) => q(ndz),
+      q(4807) => q(nea),
+      q(4808) => q(neb),
+      q(4809) => q(nec),
+      q(4810) => q(ned),
+      q(4811) => q(nee),
+      q(4812) => q(nef),
+      q(4813) => q(neg),
+      q(4814) => q(neh),
+      q(4815) => q(nei),
+      q(4816) => q(nej),
+      q(4817) => q(nek),
+      q(4818) => q(nem),
+      q(4819) => q(nen),
+      q(4820) => q(neo),
+      q(4821) => q(neq),
+      q(4822) => q(ner),
+      q(4823) => q(nes),
+      q(4824) => q(net),
+      q(4825) => q(neu),
+      q(4826) => q(nev),
+      q(4827) => q(nex),
+      q(4828) => q(ney),
+      q(4829) => q(nez),
+      q(4830) => q(nfa),
+      q(4831) => q(nfd),
+      q(4832) => q(nfl),
+      q(4833) => q(nfr),
+      q(4834) => q(nfu),
+      q(4835) => q(nga),
+      q(4836) => q(ngb),
+      q(4837) => q(ngc),
+      q(4838) => q(ngd),
+      q(4839) => q(nge),
+      q(4840) => q(ngg),
+      q(4841) => q(ngh),
+      q(4842) => q(ngi),
+      q(4843) => q(ngj),
+      q(4844) => q(ngk),
+      q(4845) => q(ngl),
+      q(4846) => q(ngm),
+      q(4847) => q(ngn),
+      q(4848) => q(ngo),
+      q(4849) => q(ngp),
+      q(4850) => q(ngq),
+      q(4851) => q(ngr),
+      q(4852) => q(ngs),
+      q(4853) => q(ngt),
+      q(4854) => q(ngu),
+      q(4855) => q(ngv),
+      q(4856) => q(ngw),
+      q(4857) => q(ngx),
+      q(4858) => q(ngy),
+      q(4859) => q(ngz),
+      q(4860) => q(nha),
+      q(4861) => q(nhb),
+      q(4862) => q(nhc),
+      q(4863) => q(nhd),
+      q(4864) => q(nhe),
+      q(4865) => q(nhf),
+      q(4866) => q(nhg),
+      q(4867) => q(nhh),
+      q(4868) => q(nhi),
+      q(4869) => q(nhk),
+      q(4870) => q(nhm),
+      q(4871) => q(nhn),
+      q(4872) => q(nho),
+      q(4873) => q(nhp),
+      q(4874) => q(nhq),
+      q(4875) => q(nhr),
+      q(4876) => q(nht),
+      q(4877) => q(nhu),
+      q(4878) => q(nhv),
+      q(4879) => q(nhw),
+      q(4880) => q(nhx),
+      q(4881) => q(nhy),
+      q(4882) => q(nhz),
+      q(4883) => q(nib),
+      q(4884) => q(nid),
+      q(4885) => q(nie),
+      q(4886) => q(nif),
+      q(4887) => q(nig),
+      q(4888) => q(nih),
+      q(4889) => q(nii),
+      q(4890) => q(nij),
+      q(4891) => q(nik),
+      q(4892) => q(nil),
+      q(4893) => q(nim),
+      q(4894) => q(nin),
+      q(4895) => q(nio),
+      q(4896) => q(niq),
+      q(4897) => q(nir),
+      q(4898) => q(nis),
+      q(4899) => q(nit),
+      q(4900) => q(niv),
+      q(4901) => q(niw),
+      q(4902) => q(nix),
+      q(4903) => q(niy),
+      q(4904) => q(niz),
+      q(4905) => q(nja),
+      q(4906) => q(njb),
+      q(4907) => q(njd),
+      q(4908) => q(njh),
+      q(4909) => q(nji),
+      q(4910) => q(njj),
+      q(4911) => q(njl),
+      q(4912) => q(njm),
+      q(4913) => q(njn),
+      q(4914) => q(njo),
+      q(4915) => q(njr),
+      q(4916) => q(njs),
+      q(4917) => q(njt),
+      q(4918) => q(nju),
+      q(4919) => q(njx),
+      q(4920) => q(njy),
+      q(4921) => q(njz),
+      q(4922) => q(nka),
+      q(4923) => q(nkb),
+      q(4924) => q(nkc),
+      q(4925) => q(nkd),
+      q(4926) => q(nke),
+      q(4927) => q(nkf),
+      q(4928) => q(nkg),
+      q(4929) => q(nkh),
+      q(4930) => q(nki),
+      q(4931) => q(nkj),
+      q(4932) => q(nkk),
+      q(4933) => q(nkm),
+      q(4934) => q(nkn),
+      q(4935) => q(nko),
+      q(4936) => q(nkp),
+      q(4937) => q(nkq),
+      q(4938) => q(nkr),
+      q(4939) => q(nks),
+      q(4940) => q(nkt),
+      q(4941) => q(nku),
+      q(4942) => q(nkv),
+      q(4943) => q(nkw),
+      q(4944) => q(nkx),
+      q(4945) => q(nkz),
+      q(4946) => q(nla),
+      q(4947) => q(nlc),
+      q(4948) => q(nle),
+      q(4949) => q(nlg),
+      q(4950) => q(nli),
+      q(4951) => q(nlj),
+      q(4952) => q(nlk),
+      q(4953) => q(nll),
+      q(4954) => q(nlo),
+      q(4955) => q(nlq),
+      q(4956) => q(nlu),
+      q(4957) => q(nlv),
+      q(4958) => q(nlw),
+      q(4959) => q(nlx),
+      q(4960) => q(nly),
+      q(4961) => q(nlz),
+      q(4962) => q(nma),
+      q(4963) => q(nmb),
+      q(4964) => q(nmc),
+      q(4965) => q(nmd),
+      q(4966) => q(nme),
+      q(4967) => q(nmf),
+      q(4968) => q(nmg),
+      q(4969) => q(nmh),
+      q(4970) => q(nmi),
+      q(4971) => q(nmj),
+      q(4972) => q(nmk),
+      q(4973) => q(nml),
+      q(4974) => q(nmm),
+      q(4975) => q(nmn),
+      q(4976) => q(nmo),
+      q(4977) => q(nmp),
+      q(4978) => q(nmq),
+      q(4979) => q(nmr),
+      q(4980) => q(nms),
+      q(4981) => q(nmt),
+      q(4982) => q(nmu),
+      q(4983) => q(nmv),
+      q(4984) => q(nmw),
+      q(4985) => q(nmx),
+      q(4986) => q(nmy),
+      q(4987) => q(nmz),
+      q(4988) => q(nna),
+      q(4989) => q(nnb),
+      q(4990) => q(nnc),
+      q(4991) => q(nnd),
+      q(4992) => q(nne),
+      q(4993) => q(nnf),
+      q(4994) => q(nng),
+      q(4995) => q(nnh),
+      q(4996) => q(nni),
+      q(4997) => q(nnj),
+      q(4998) => q(nnk),
+      q(4999) => q(nnl),
+      q(5000) => q(nnm),
+      q(5001) => q(nnn),
+      q(5002) => q(nnp),
+      q(5003) => q(nnq),
+      q(5004) => q(nnr),
+      q(5005) => q(nns),
+      q(5006) => q(nnt),
+      q(5007) => q(nnu),
+      q(5008) => q(nnv),
+      q(5009) => q(nnw),
+      q(5010) => q(nny),
+      q(5011) => q(nnz),
+      q(5012) => q(noa),
+      q(5013) => q(noc),
+      q(5014) => q(nod),
+      q(5015) => q(noe),
+      q(5016) => q(nof),
+      q(5017) => q(noh),
+      q(5018) => q(noi),
+      q(5019) => q(noj),
+      q(5020) => q(nok),
+      q(5021) => q(nol),
+      q(5022) => q(nom),
+      q(5023) => q(nop),
+      q(5024) => q(noq),
+      q(5025) => q(nos),
+      q(5026) => q(not),
+      q(5027) => q(nou),
+      q(5028) => q(nov),
+      q(5029) => q(now),
+      q(5030) => q(noy),
+      q(5031) => q(noz),
+      q(5032) => q(npa),
+      q(5033) => q(npb),
+      q(5034) => q(npg),
+      q(5035) => q(nph),
+      q(5036) => q(npi),
+      q(5037) => q(npl),
+      q(5038) => q(npn),
+      q(5039) => q(npo),
+      q(5040) => q(nps),
+      q(5041) => q(npu),
+      q(5042) => q(npy),
+      q(5043) => q(nqg),
+      q(5044) => q(nqk),
+      q(5045) => q(nqm),
+      q(5046) => q(nqn),
+      q(5047) => q(nqq),
+      q(5048) => q(nqy),
+      q(5049) => q(nra),
+      q(5050) => q(nrb),
+      q(5051) => q(nrc),
+      q(5052) => q(nre),
+      q(5053) => q(nrf),
+      q(5054) => q(nrg),
+      q(5055) => q(nri),
+      q(5056) => q(nrk),
+      q(5057) => q(nrl),
+      q(5058) => q(nrm),
+      q(5059) => q(nrn),
+      q(5060) => q(nrp),
+      q(5061) => q(nrr),
+      q(5062) => q(nrt),
+      q(5063) => q(nru),
+      q(5064) => q(nrx),
+      q(5065) => q(nrz),
+      q(5066) => q(nsa),
+      q(5067) => q(nsc),
+      q(5068) => q(nsd),
+      q(5069) => q(nse),
+      q(5070) => q(nsf),
+      q(5071) => q(nsg),
+      q(5072) => q(nsh),
+      q(5073) => q(nsi),
+      q(5074) => q(nsk),
+      q(5075) => q(nsl),
+      q(5076) => q(nsm),
+      q(5077) => q(nsn),
+      q(5078) => q(nsp),
+      q(5079) => q(nsq),
+      q(5080) => q(nsr),
+      q(5081) => q(nss),
+      q(5082) => q(nst),
+      q(5083) => q(nsu),
+      q(5084) => q(nsv),
+      q(5085) => q(nsw),
+      q(5086) => q(nsx),
+      q(5087) => q(nsy),
+      q(5088) => q(nsz),
+      q(5089) => q(nte),
+      q(5090) => q(ntg),
+      q(5091) => q(nti),
+      q(5092) => q(ntj),
+      q(5093) => q(ntk),
+      q(5094) => q(ntm),
+      q(5095) => q(nto),
+      q(5096) => q(ntp),
+      q(5097) => q(ntr),
+      q(5098) => q(nts),
+      q(5099) => q(ntu),
+      q(5100) => q(ntw),
+      q(5101) => q(ntx),
+      q(5102) => q(nty),
+      q(5103) => q(ntz),
+      q(5104) => q(nua),
+      q(5105) => q(nuc),
+      q(5106) => q(nud),
+      q(5107) => q(nue),
+      q(5108) => q(nuf),
+      q(5109) => q(nug),
+      q(5110) => q(nuh),
+      q(5111) => q(nui),
+      q(5112) => q(nuj),
+      q(5113) => q(nuk),
+      q(5114) => q(nul),
+      q(5115) => q(num),
+      q(5116) => q(nun),
+      q(5117) => q(nuo),
+      q(5118) => q(nup),
+      q(5119) => q(nuq),
+      q(5120) => q(nur),
+      q(5121) => q(nus),
+      q(5122) => q(nut),
+      q(5123) => q(nuu),
+      q(5124) => q(nuv),
+      q(5125) => q(nuw),
+      q(5126) => q(nux),
+      q(5127) => q(nuy),
+      q(5128) => q(nuz),
+      q(5129) => q(nvh),
+      q(5130) => q(nvm),
+      q(5131) => q(nvo),
+      q(5132) => q(nwa),
+      q(5133) => q(nwb),
+      q(5134) => q(nwe),
+      q(5135) => q(nwg),
+      q(5136) => q(nwi),
+      q(5137) => q(nwm),
+      q(5138) => q(nwo),
+      q(5139) => q(nwr),
+      q(5140) => q(nwx),
+      q(5141) => q(nwy),
+      q(5142) => q(nxa),
+      q(5143) => q(nxd),
+      q(5144) => q(nxe),
+      q(5145) => q(nxg),
+      q(5146) => q(nxi),
+      q(5147) => q(nxk),
+      q(5148) => q(nxl),
+      q(5149) => q(nxm),
+      q(5150) => q(nxn),
+      q(5151) => q(nxo),
+      q(5152) => q(nxq),
+      q(5153) => q(nxr),
+      q(5154) => q(nxu),
+      q(5155) => q(nxx),
+      q(5156) => q(nyb),
+      q(5157) => q(nyc),
+      q(5158) => q(nyd),
+      q(5159) => q(nye),
+      q(5160) => q(nyf),
+      q(5161) => q(nyg),
+      q(5162) => q(nyh),
+      q(5163) => q(nyi),
+      q(5164) => q(nyj),
+      q(5165) => q(nyk),
+      q(5166) => q(nyl),
+      q(5167) => q(nyp),
+      q(5168) => q(nyq),
+      q(5169) => q(nyr),
+      q(5170) => q(nys),
+      q(5171) => q(nyt),
+      q(5172) => q(nyu),
+      q(5173) => q(nyv),
+      q(5174) => q(nyw),
+      q(5175) => q(nyx),
+      q(5176) => q(nyy),
+      q(5177) => q(nza),
+      q(5178) => q(nzb),
+      q(5179) => q(nzk),
+      q(5180) => q(nzm),
+      q(5181) => q(nzs),
+      q(5182) => q(nzu),
+      q(5183) => q(nzy),
+      q(5184) => q(nzz),
+      q(5185) => q(oaa),
+      q(5186) => q(oac),
+      q(5187) => q(oar),
+      q(5188) => q(oav),
+      q(5189) => q(obi),
+      q(5190) => q(obk),
+      q(5191) => q(obl),
+      q(5192) => q(obm),
+      q(5193) => q(obo),
+      q(5194) => q(obr),
+      q(5195) => q(obt),
+      q(5196) => q(obu),
+      q(5197) => q(oca),
+      q(5198) => q(och),
+      q(5199) => q(oco),
+      q(5200) => q(ocu),
+      q(5201) => q(oda),
+      q(5202) => q(odk),
+      q(5203) => q(odt),
+      q(5204) => q(odu),
+      q(5205) => q(ofo),
+      q(5206) => q(ofs),
+      q(5207) => q(ofu),
+      q(5208) => q(ogb),
+      q(5209) => q(ogc),
+      q(5210) => q(oge),
+      q(5211) => q(ogg),
+      q(5212) => q(ogo),
+      q(5213) => q(ogu),
+      q(5214) => q(oht),
+      q(5215) => q(ohu),
+      q(5216) => q(oia),
+      q(5217) => q(oin),
+      q(5218) => q(ojb),
+      q(5219) => q(ojc),
+      q(5220) => q(ojg),
+      q(5221) => q(ojp),
+      q(5222) => q(ojs),
+      q(5223) => q(ojv),
+      q(5224) => q(ojw),
+      q(5225) => q(oka),
+      q(5226) => q(okb),
+      q(5227) => q(okd),
+      q(5228) => q(oke),
+      q(5229) => q(okg),
+      q(5230) => q(okh),
+      q(5231) => q(oki),
+      q(5232) => q(okj),
+      q(5233) => q(okk),
+      q(5234) => q(okl),
+      q(5235) => q(okm),
+      q(5236) => q(okn),
+      q(5237) => q(oko),
+      q(5238) => q(okr),
+      q(5239) => q(oks),
+      q(5240) => q(oku),
+      q(5241) => q(okv),
+      q(5242) => q(okx),
+      q(5243) => q(ola),
+      q(5244) => q(old),
+      q(5245) => q(ole),
+      q(5246) => q(olk),
+      q(5247) => q(olm),
+      q(5248) => q(olo),
+      q(5249) => q(olr),
+      q(5250) => q(olt),
+      q(5251) => q(oma),
+      q(5252) => q(omb),
+      q(5253) => q(omc),
+      q(5254) => q(ome),
+      q(5255) => q(omg),
+      q(5256) => q(omi),
+      q(5257) => q(omk),
+      q(5258) => q(oml),
+      q(5259) => q(omn),
+      q(5260) => q(omo),
+      q(5261) => q(omp),
+      q(5262) => q(omr),
+      q(5263) => q(omt),
+      q(5264) => q(omu),
+      q(5265) => q(omw),
+      q(5266) => q(omx),
+      q(5267) => q(ona),
+      q(5268) => q(onb),
+      q(5269) => q(one),
+      q(5270) => q(ong),
+      q(5271) => q(oni),
+      q(5272) => q(onj),
+      q(5273) => q(onk),
+      q(5274) => q(onn),
+      q(5275) => q(ono),
+      q(5276) => q(onp),
+      q(5277) => q(onr),
+      q(5278) => q(ons),
+      q(5279) => q(ont),
+      q(5280) => q(onu),
+      q(5281) => q(onw),
+      q(5282) => q(onx),
+      q(5283) => q(ood),
+      q(5284) => q(oog),
+      q(5285) => q(oon),
+      q(5286) => q(oor),
+      q(5287) => q(oos),
+      q(5288) => q(opa),
+      q(5289) => q(opk),
+      q(5290) => q(opm),
+      q(5291) => q(opo),
+      q(5292) => q(opt),
+      q(5293) => q(opy),
+      q(5294) => q(ora),
+      q(5295) => q(orc),
+      q(5296) => q(ore),
+      q(5297) => q(org),
+      q(5298) => q(orh),
+      q(5299) => q(orn),
+      q(5300) => q(oro),
+      q(5301) => q(orr),
+      q(5302) => q(ors),
+      q(5303) => q(ort),
+      q(5304) => q(oru),
+      q(5305) => q(orv),
+      q(5306) => q(orw),
+      q(5307) => q(orx),
+      q(5308) => q(ory),
+      q(5309) => q(orz),
+      q(5310) => q(osc),
+      q(5311) => q(osi),
+      q(5312) => q(oso),
+      q(5313) => q(osp),
+      q(5314) => q(ost),
+      q(5315) => q(osu),
+      q(5316) => q(osx),
+      q(5317) => q(otb),
+      q(5318) => q(otd),
+      q(5319) => q(ote),
+      q(5320) => q(oti),
+      q(5321) => q(otk),
+      q(5322) => q(otl),
+      q(5323) => q(otm),
+      q(5324) => q(otn),
+      q(5325) => q(otq),
+      q(5326) => q(otr),
+      q(5327) => q(ots),
+      q(5328) => q(ott),
+      q(5329) => q(otu),
+      q(5330) => q(otw),
+      q(5331) => q(otx),
+      q(5332) => q(oty),
+      q(5333) => q(otz),
+      q(5334) => q(oua),
+      q(5335) => q(oub),
+      q(5336) => q(oue),
+      q(5337) => q(oui),
+      q(5338) => q(oum),
+      q(5339) => q(owi),
+      q(5340) => q(owl),
+      q(5341) => q(oyb),
+      q(5342) => q(oyd),
+      q(5343) => q(oym),
+      q(5344) => q(oyy),
+      q(5345) => q(ozm),
+      q(5346) => q(pab),
+      q(5347) => q(pac),
+      q(5348) => q(pad),
+      q(5349) => q(pae),
+      q(5350) => q(paf),
+      q(5351) => q(pah),
+      q(5352) => q(pai),
+      q(5353) => q(pak),
+      q(5354) => q(pao),
+      q(5355) => q(paq),
+      q(5356) => q(par),
+      q(5357) => q(pas),
+      q(5358) => q(pat),
+      q(5359) => q(pav),
+      q(5360) => q(paw),
+      q(5361) => q(pax),
+      q(5362) => q(pay),
+      q(5363) => q(paz),
+      q(5364) => q(pbb),
+      q(5365) => q(pbc),
+      q(5366) => q(pbe),
+      q(5367) => q(pbf),
+      q(5368) => q(pbg),
+      q(5369) => q(pbh),
+      q(5370) => q(pbi),
+      q(5371) => q(pbl),
+      q(5372) => q(pbn),
+      q(5373) => q(pbo),
+      q(5374) => q(pbp),
+      q(5375) => q(pbr),
+      q(5376) => q(pbs),
+      q(5377) => q(pbt),
+      q(5378) => q(pbu),
+      q(5379) => q(pbv),
+      q(5380) => q(pby),
+      q(5381) => q(pca),
+      q(5382) => q(pcb),
+      q(5383) => q(pcc),
+      q(5384) => q(pcd),
+      q(5385) => q(pce),
+      q(5386) => q(pcf),
+      q(5387) => q(pcg),
+      q(5388) => q(pch),
+      q(5389) => q(pci),
+      q(5390) => q(pcj),
+      q(5391) => q(pck),
+      q(5392) => q(pcl),
+      q(5393) => q(pcm),
+      q(5394) => q(pcn),
+      q(5395) => q(pcp),
+      q(5396) => q(pcw),
+      q(5397) => q(pda),
+      q(5398) => q(pdc),
+      q(5399) => q(pdi),
+      q(5400) => q(pdn),
+      q(5401) => q(pdo),
+      q(5402) => q(pdt),
+      q(5403) => q(pdu),
+      q(5404) => q(pea),
+      q(5405) => q(peb),
+      q(5406) => q(ped),
+      q(5407) => q(pee),
+      q(5408) => q(pef),
+      q(5409) => q(peg),
+      q(5410) => q(peh),
+      q(5411) => q(pei),
+      q(5412) => q(pej),
+      q(5413) => q(pek),
+      q(5414) => q(pel),
+      q(5415) => q(pem),
+      q(5416) => q(pep),
+      q(5417) => q(peq),
+      q(5418) => q(pes),
+      q(5419) => q(pev),
+      q(5420) => q(pex),
+      q(5421) => q(pey),
+      q(5422) => q(pez),
+      q(5423) => q(pfa),
+      q(5424) => q(pfe),
+      q(5425) => q(pfl),
+      q(5426) => q(pga),
+      q(5427) => q(pgd),
+      q(5428) => q(pgg),
+      q(5429) => q(pgi),
+      q(5430) => q(pgk),
+      q(5431) => q(pgl),
+      q(5432) => q(pgn),
+      q(5433) => q(pgs),
+      q(5434) => q(pgu),
+      q(5435) => q(pha),
+      q(5436) => q(phd),
+      q(5437) => q(phg),
+      q(5438) => q(phh),
+      q(5439) => q(phk),
+      q(5440) => q(phl),
+      q(5441) => q(phm),
+      q(5442) => q(pho),
+      q(5443) => q(phq),
+      q(5444) => q(phr),
+      q(5445) => q(pht),
+      q(5446) => q(phu),
+      q(5447) => q(phv),
+      q(5448) => q(phw),
+      q(5449) => q(pia),
+      q(5450) => q(pib),
+      q(5451) => q(pic),
+      q(5452) => q(pid),
+      q(5453) => q(pie),
+      q(5454) => q(pif),
+      q(5455) => q(pig),
+      q(5456) => q(pih),
+      q(5457) => q(pii),
+      q(5458) => q(pij),
+      q(5459) => q(pil),
+      q(5460) => q(pim),
+      q(5461) => q(pin),
+      q(5462) => q(pio),
+      q(5463) => q(pip),
+      q(5464) => q(pir),
+      q(5465) => q(pis),
+      q(5466) => q(pit),
+      q(5467) => q(piu),
+      q(5468) => q(piv),
+      q(5469) => q(piw),
+      q(5470) => q(pix),
+      q(5471) => q(piy),
+      q(5472) => q(piz),
+      q(5473) => q(pjt),
+      q(5474) => q(pka),
+      q(5475) => q(pkb),
+      q(5476) => q(pkc),
+      q(5477) => q(pkg),
+      q(5478) => q(pkh),
+      q(5479) => q(pkn),
+      q(5480) => q(pko),
+      q(5481) => q(pkp),
+      q(5482) => q(pkr),
+      q(5483) => q(pks),
+      q(5484) => q(pkt),
+      q(5485) => q(pku),
+      q(5486) => q(pla),
+      q(5487) => q(plb),
+      q(5488) => q(plc),
+      q(5489) => q(pld),
+      q(5490) => q(ple),
+      q(5491) => q(plg),
+      q(5492) => q(plh),
+      q(5493) => q(plj),
+      q(5494) => q(plk),
+      q(5495) => q(pll),
+      q(5496) => q(pln),
+      q(5497) => q(plo),
+      q(5498) => q(plp),
+      q(5499) => q(plq),
+      q(5500) => q(plr),
+      q(5501) => q(pls),
+      q(5502) => q(plt),
+      q(5503) => q(plu),
+      q(5504) => q(plv),
+      q(5505) => q(plw),
+      q(5506) => q(ply),
+      q(5507) => q(plz),
+      q(5508) => q(pma),
+      q(5509) => q(pmb),
+      q(5510) => q(pmc),
+      q(5511) => q(pmd),
+      q(5512) => q(pme),
+      q(5513) => q(pmf),
+      q(5514) => q(pmh),
+      q(5515) => q(pmi),
+      q(5516) => q(pmj),
+      q(5517) => q(pmk),
+      q(5518) => q(pml),
+      q(5519) => q(pmm),
+      q(5520) => q(pmn),
+      q(5521) => q(pmo),
+      q(5522) => q(pmq),
+      q(5523) => q(pmr),
+      q(5524) => q(pms),
+      q(5525) => q(pmt),
+      q(5526) => q(pmw),
+      q(5527) => q(pmx),
+      q(5528) => q(pmy),
+      q(5529) => q(pmz),
+      q(5530) => q(pna),
+      q(5531) => q(pnb),
+      q(5532) => q(pnc),
+      q(5533) => q(pne),
+      q(5534) => q(png),
+      q(5535) => q(pnh),
+      q(5536) => q(pni),
+      q(5537) => q(pnj),
+      q(5538) => q(pnk),
+      q(5539) => q(pnl),
+      q(5540) => q(pnm),
+      q(5541) => q(pnn),
+      q(5542) => q(pno),
+      q(5543) => q(pnp),
+      q(5544) => q(pnq),
+      q(5545) => q(pnr),
+      q(5546) => q(pns),
+      q(5547) => q(pnt),
+      q(5548) => q(pnu),
+      q(5549) => q(pnv),
+      q(5550) => q(pnw),
+      q(5551) => q(pnx),
+      q(5552) => q(pny),
+      q(5553) => q(pnz),
+      q(5554) => q(poc),
+      q(5555) => q(pod),
+      q(5556) => q(poe),
+      q(5557) => q(pof),
+      q(5558) => q(pog),
+      q(5559) => q(poh),
+      q(5560) => q(poi),
+      q(5561) => q(pok),
+      q(5562) => q(pom),
+      q(5563) => q(poo),
+      q(5564) => q(pop),
+      q(5565) => q(poq),
+      q(5566) => q(pos),
+      q(5567) => q(pot),
+      q(5568) => q(pov),
+      q(5569) => q(pow),
+      q(5570) => q(pox),
+      q(5571) => q(poy),
+      q(5572) => q(ppa),
+      q(5573) => q(ppe),
+      q(5574) => q(ppi),
+      q(5575) => q(ppk),
+      q(5576) => q(ppl),
+      q(5577) => q(ppm),
+      q(5578) => q(ppn),
+      q(5579) => q(ppo),
+      q(5580) => q(ppp),
+      q(5581) => q(ppq),
+      q(5582) => q(pps),
+      q(5583) => q(ppt),
+      q(5584) => q(ppu),
+      q(5585) => q(pqa),
+      q(5586) => q(pqm),
+      q(5587) => q(prb),
+      q(5588) => q(prc),
+      q(5589) => q(prd),
+      q(5590) => q(pre),
+      q(5591) => q(prf),
+      q(5592) => q(prg),
+      q(5593) => q(prh),
+      q(5594) => q(pri),
+      q(5595) => q(prk),
+      q(5596) => q(prl),
+      q(5597) => q(prm),
+      q(5598) => q(prn),
+      q(5599) => q(prp),
+      q(5600) => q(prq),
+      q(5601) => q(prr),
+      q(5602) => q(prs),
+      q(5603) => q(prt),
+      q(5604) => q(pru),
+      q(5605) => q(prw),
+      q(5606) => q(prx),
+      q(5607) => q(pry),
+      q(5608) => q(prz),
+      q(5609) => q(psa),
+      q(5610) => q(psc),
+      q(5611) => q(psd),
+      q(5612) => q(pse),
+      q(5613) => q(psg),
+      q(5614) => q(psh),
+      q(5615) => q(psi),
+      q(5616) => q(psl),
+      q(5617) => q(psm),
+      q(5618) => q(psn),
+      q(5619) => q(pso),
+      q(5620) => q(psp),
+      q(5621) => q(psq),
+      q(5622) => q(psr),
+      q(5623) => q(pss),
+      q(5624) => q(pst),
+      q(5625) => q(psu),
+      q(5626) => q(psw),
+      q(5627) => q(psy),
+      q(5628) => q(pta),
+      q(5629) => q(pth),
+      q(5630) => q(pti),
+      q(5631) => q(ptn),
+      q(5632) => q(pto),
+      q(5633) => q(ptp),
+      q(5634) => q(ptq),
+      q(5635) => q(ptr),
+      q(5636) => q(ptt),
+      q(5637) => q(ptu),
+      q(5638) => q(ptv),
+      q(5639) => q(ptw),
+      q(5640) => q(pty),
+      q(5641) => q(pua),
+      q(5642) => q(pub),
+      q(5643) => q(puc),
+      q(5644) => q(pud),
+      q(5645) => q(pue),
+      q(5646) => q(puf),
+      q(5647) => q(pug),
+      q(5648) => q(pui),
+      q(5649) => q(puj),
+      q(5650) => q(puk),
+      q(5651) => q(pum),
+      q(5652) => q(puo),
+      q(5653) => q(pup),
+      q(5654) => q(puq),
+      q(5655) => q(pur),
+      q(5656) => q(put),
+      q(5657) => q(puu),
+      q(5658) => q(puw),
+      q(5659) => q(pux),
+      q(5660) => q(puy),
+      q(5661) => q(pwa),
+      q(5662) => q(pwb),
+      q(5663) => q(pwg),
+      q(5664) => q(pwi),
+      q(5665) => q(pwm),
+      q(5666) => q(pwn),
+      q(5667) => q(pwo),
+      q(5668) => q(pwr),
+      q(5669) => q(pww),
+      q(5670) => q(pxm),
+      q(5671) => q(pye),
+      q(5672) => q(pym),
+      q(5673) => q(pyn),
+      q(5674) => q(pys),
+      q(5675) => q(pyu),
+      q(5676) => q(pyx),
+      q(5677) => q(pyy),
+      q(5678) => q(pzn),
+      q(5679) => q(qua),
+      q(5680) => q(qub),
+      q(5681) => q(quc),
+      q(5682) => q(qud),
+      q(5683) => q(quf),
+      q(5684) => q(qug),
+      q(5685) => q(quh),
+      q(5686) => q(qui),
+      q(5687) => q(quk),
+      q(5688) => q(qul),
+      q(5689) => q(qum),
+      q(5690) => q(qun),
+      q(5691) => q(qup),
+      q(5692) => q(quq),
+      q(5693) => q(qur),
+      q(5694) => q(qus),
+      q(5695) => q(quv),
+      q(5696) => q(quw),
+      q(5697) => q(qux),
+      q(5698) => q(quy),
+      q(5699) => q(quz),
+      q(5700) => q(qva),
+      q(5701) => q(qvc),
+      q(5702) => q(qve),
+      q(5703) => q(qvh),
+      q(5704) => q(qvi),
+      q(5705) => q(qvj),
+      q(5706) => q(qvl),
+      q(5707) => q(qvm),
+      q(5708) => q(qvn),
+      q(5709) => q(qvo),
+      q(5710) => q(qvp),
+      q(5711) => q(qvs),
+      q(5712) => q(qvw),
+      q(5713) => q(qvy),
+      q(5714) => q(qvz),
+      q(5715) => q(qwa),
+      q(5716) => q(qwc),
+      q(5717) => q(qwh),
+      q(5718) => q(qwm),
+      q(5719) => q(qws),
+      q(5720) => q(qwt),
+      q(5721) => q(qxa),
+      q(5722) => q(qxc),
+      q(5723) => q(qxh),
+      q(5724) => q(qxl),
+      q(5725) => q(qxn),
+      q(5726) => q(qxo),
+      q(5727) => q(qxp),
+      q(5728) => q(qxq),
+      q(5729) => q(qxr),
+      q(5730) => q(qxs),
+      q(5731) => q(qxt),
+      q(5732) => q(qxu),
+      q(5733) => q(qxw),
+      q(5734) => q(qya),
+      q(5735) => q(qyp),
+      q(5736) => q(raa),
+      q(5737) => q(rab),
+      q(5738) => q(rac),
+      q(5739) => q(rad),
+      q(5740) => q(raf),
+      q(5741) => q(rag),
+      q(5742) => q(rah),
+      q(5743) => q(rai),
+      q(5744) => q(rak),
+      q(5745) => q(ral),
+      q(5746) => q(ram),
+      q(5747) => q(ran),
+      q(5748) => q(rao),
+      q(5749) => q(raq),
+      q(5750) => q(ras),
+      q(5751) => q(rat),
+      q(5752) => q(rau),
+      q(5753) => q(rav),
+      q(5754) => q(raw),
+      q(5755) => q(rax),
+      q(5756) => q(ray),
+      q(5757) => q(raz),
+      q(5758) => q(rbb),
+      q(5759) => q(rbk),
+      q(5760) => q(rbl),
+      q(5761) => q(rbp),
+      q(5762) => q(rcf),
+      q(5763) => q(rdb),
+      q(5764) => q(rea),
+      q(5765) => q(reb),
+      q(5766) => q(ree),
+      q(5767) => q(reg),
+      q(5768) => q(rei),
+      q(5769) => q(rej),
+      q(5770) => q(rel),
+      q(5771) => q(rem),
+      q(5772) => q(ren),
+      q(5773) => q(rer),
+      q(5774) => q(res),
+      q(5775) => q(ret),
+      q(5776) => q(rey),
+      q(5777) => q(rga),
+      q(5778) => q(rge),
+      q(5779) => q(rgk),
+      q(5780) => q(rgn),
+      q(5781) => q(rgr),
+      q(5782) => q(rgs),
+      q(5783) => q(rgu),
+      q(5784) => q(rhg),
+      q(5785) => q(rhp),
+      q(5786) => q(ria),
+      q(5787) => q(rie),
+      q(5788) => q(rif),
+      q(5789) => q(ril),
+      q(5790) => q(rim),
+      q(5791) => q(rin),
+      q(5792) => q(rir),
+      q(5793) => q(rit),
+      q(5794) => q(riu),
+      q(5795) => q(rjg),
+      q(5796) => q(rji),
+      q(5797) => q(rjs),
+      q(5798) => q(rka),
+      q(5799) => q(rkb),
+      q(5800) => q(rkh),
+      q(5801) => q(rki),
+      q(5802) => q(rkm),
+      q(5803) => q(rkt),
+      q(5804) => q(rkw),
+      q(5805) => q(rma),
+      q(5806) => q(rmb),
+      q(5807) => q(rmc),
+      q(5808) => q(rmd),
+      q(5809) => q(rme),
+      q(5810) => q(rmf),
+      q(5811) => q(rmg),
+      q(5812) => q(rmh),
+      q(5813) => q(rmi),
+      q(5814) => q(rmk),
+      q(5815) => q(rml),
+      q(5816) => q(rmm),
+      q(5817) => q(rmn),
+      q(5818) => q(rmo),
+      q(5819) => q(rmp),
+      q(5820) => q(rmq),
+      q(5821) => q(rms),
+      q(5822) => q(rmt),
+      q(5823) => q(rmu),
+      q(5824) => q(rmv),
+      q(5825) => q(rmw),
+      q(5826) => q(rmx),
+      q(5827) => q(rmy),
+      q(5828) => q(rmz),
+      q(5829) => q(rna),
+      q(5830) => q(rnd),
+      q(5831) => q(rng),
+      q(5832) => q(rnl),
+      q(5833) => q(rnn),
+      q(5834) => q(rnp),
+      q(5835) => q(rnr),
+      q(5836) => q(rnw),
+      q(5837) => q(rob),
+      q(5838) => q(roc),
+      q(5839) => q(rod),
+      q(5840) => q(roe),
+      q(5841) => q(rof),
+      q(5842) => q(rog),
+      q(5843) => q(rol),
+      q(5844) => q(roo),
+      q(5845) => q(rop),
+      q(5846) => q(ror),
+      q(5847) => q(rou),
+      q(5848) => q(row),
+      q(5849) => q(rpn),
+      q(5850) => q(rpt),
+      q(5851) => q(rri),
+      q(5852) => q(rro),
+      q(5853) => q(rrt),
+      q(5854) => q(rsb),
+      q(5855) => q(rsi),
+      q(5856) => q(rsl),
+      q(5857) => q(rtc),
+      q(5858) => q(rth),
+      q(5859) => q(rtm),
+      q(5860) => q(rts),
+      q(5861) => q(rtw),
+      q(5862) => q(rub),
+      q(5863) => q(ruc),
+      q(5864) => q(rue),
+      q(5865) => q(ruf),
+      q(5866) => q(rug),
+      q(5867) => q(ruh),
+      q(5868) => q(rui),
+      q(5869) => q(ruk),
+      q(5870) => q(ruo),
+      q(5871) => q(ruq),
+      q(5872) => q(rut),
+      q(5873) => q(ruu),
+      q(5874) => q(ruy),
+      q(5875) => q(ruz),
+      q(5876) => q(rwa),
+      q(5877) => q(rwk),
+      q(5878) => q(rwm),
+      q(5879) => q(rwo),
+      q(5880) => q(rwr),
+      q(5881) => q(rxd),
+      q(5882) => q(rxw),
+      q(5883) => q(ryn),
+      q(5884) => q(rys),
+      q(5885) => q(ryu),
+      q(5886) => q(saa),
+      q(5887) => q(sab),
+      q(5888) => q(sac),
+      q(5889) => q(sae),
+      q(5890) => q(saf),
+      q(5891) => q(saj),
+      q(5892) => q(sak),
+      q(5893) => q(sao),
+      q(5894) => q(saq),
+      q(5895) => q(sar),
+      q(5896) => q(sau),
+      q(5897) => q(sav),
+      q(5898) => q(saw),
+      q(5899) => q(sax),
+      q(5900) => q(say),
+      q(5901) => q(saz),
+      q(5902) => q(sba),
+      q(5903) => q(sbb),
+      q(5904) => q(sbc),
+      q(5905) => q(sbd),
+      q(5906) => q(slc),
+      q(5907) => q(sbf),
+      q(5908) => q(sbg),
+      q(5909) => q(sbh),
+      q(5910) => q(sbi),
+      q(5911) => q(sbj),
+      q(5912) => q(sbk),
+      q(5913) => q(sbl),
+      q(5914) => q(sbm),
+      q(5915) => q(sbn),
+      q(5916) => q(sbo),
+      q(5917) => q(sbp),
+      q(5918) => q(sbq),
+      q(5919) => q(sbr),
+      q(5920) => q(sbs),
+      q(5921) => q(sbt),
+      q(5922) => q(sbu),
+      q(5923) => q(sbv),
+      q(5924) => q(sbw),
+      q(5925) => q(sbx),
+      q(5926) => q(sby),
+      q(5927) => q(sbz),
+      q(5928) => q(scb),
+      q(5929) => q(sce),
+      q(5930) => q(scf),
+      q(5931) => q(scg),
+      q(5932) => q(sch),
+      q(5933) => q(sci),
+      q(5934) => q(sck),
+      q(5935) => q(scl),
+      q(5936) => q(scp),
+      q(5937) => q(scq),
+      q(5938) => q(scs),
+      q(5939) => q(scu),
+      q(5940) => q(scv),
+      q(5941) => q(scw),
+      q(5942) => q(scx),
+      q(5943) => q(sda),
+      q(5944) => q(sdb),
+      q(5945) => q(sdc),
+      q(5946) => q(sde),
+      q(5947) => q(sdf),
+      q(5948) => q(sdg),
+      q(5949) => q(sdh),
+      q(5950) => q(sdj),
+      q(5951) => q(sdk),
+      q(5952) => q(sdl),
+      q(5953) => q(sdm),
+      q(5954) => q(sdn),
+      q(5955) => q(sdo),
+      q(5956) => q(sdp),
+      q(5957) => q(sdr),
+      q(5958) => q(sds),
+      q(5959) => q(sdt),
+      q(5960) => q(sdu),
+      q(5961) => q(sdx),
+      q(5962) => q(sdz),
+      q(5963) => q(sea),
+      q(5964) => q(seb),
+      q(5965) => q(sec),
+      q(5966) => q(sed),
+      q(5967) => q(see),
+      q(5968) => q(sef),
+      q(5969) => q(seg),
+      q(5970) => q(seh),
+      q(5971) => q(sei),
+      q(5972) => q(sej),
+      q(5973) => q(sek),
+      q(5974) => q(sen),
+      q(5975) => q(seo),
+      q(5976) => q(sep),
+      q(5977) => q(seq),
+      q(5978) => q(ser),
+      q(5979) => q(ses),
+      q(5980) => q(set),
+      q(5981) => q(seu),
+      q(5982) => q(sev),
+      q(5983) => q(sew),
+      q(5984) => q(sey),
+      q(5985) => q(sez),
+      q(5986) => q(sfb),
+      q(5987) => q(sfe),
+      q(5988) => q(sfm),
+      q(5989) => q(sfs),
+      q(5990) => q(sfw),
+      q(5991) => q(sgb),
+      q(5992) => q(sgc),
+      q(5993) => q(sgd),
+      q(5994) => q(sge),
+      q(5995) => q(sgg),
+      q(5996) => q(sgh),
+      q(5997) => q(sgi),
+      q(5998) => q(sgj),
+      q(5999) => q(sgk),
+      q(6000) => q(sgm),
+      q(6001) => q(sgp),
+      q(6002) => q(sgr),
+      q(6003) => q(sgs),
+      q(6004) => q(sgt),
+      q(6005) => q(sgu),
+      q(6006) => q(sgw),
+      q(6007) => q(sgx),
+      q(6008) => q(sgy),
+      q(6009) => q(sgz),
+      q(6010) => q(sha),
+      q(6011) => q(shb),
+      q(6012) => q(shc),
+      q(6013) => q(shd),
+      q(6014) => q(she),
+      q(6015) => q(shg),
+      q(6016) => q(shh),
+      q(6017) => q(shi),
+      q(6018) => q(shj),
+      q(6019) => q(shk),
+      q(6020) => q(shl),
+      q(6021) => q(shm),
+      q(6022) => q(sho),
+      q(6023) => q(shp),
+      q(6024) => q(shq),
+      q(6025) => q(shr),
+      q(6026) => q(shs),
+      q(6027) => q(sht),
+      q(6028) => q(shu),
+      q(6029) => q(shv),
+      q(6030) => q(shw),
+      q(6031) => q(shx),
+      q(6032) => q(shy),
+      q(6033) => q(shz),
+      q(6034) => q(sia),
+      q(6035) => q(sib),
+      q(6036) => q(sie),
+      q(6037) => q(sif),
+      q(6038) => q(sig),
+      q(6039) => q(sih),
+      q(6040) => q(sii),
+      q(6041) => q(sij),
+      q(6042) => q(sik),
+      q(6043) => q(sil),
+      q(6044) => q(sim),
+      q(6045) => q(sip),
+      q(6046) => q(siq),
+      q(6047) => q(sir),
+      q(6048) => q(sis),
+      q(6049) => q(siu),
+      q(6050) => q(siv),
+      q(6051) => q(siw),
+      q(6052) => q(six),
+      q(6053) => q(siy),
+      q(6054) => q(siz),
+      q(6055) => q(sja),
+      q(6056) => q(sjb),
+      q(6057) => q(sjd),
+      q(6058) => q(sje),
+      q(6059) => q(sjg),
+      q(6060) => q(sjk),
+      q(6061) => q(sjl),
+      q(6062) => q(sjm),
+      q(6063) => q(sjn),
+      q(6064) => q(sjo),
+      q(6065) => q(sjp),
+      q(6066) => q(sjr),
+      q(6067) => q(sjs),
+      q(6068) => q(sjt),
+      q(6069) => q(sju),
+      q(6070) => q(sjw),
+      q(6071) => q(ska),
+      q(6072) => q(skb),
+      q(6073) => q(skc),
+      q(6074) => q(skd),
+      q(6075) => q(ske),
+      q(6076) => q(skf),
+      q(6077) => q(skg),
+      q(6078) => q(skh),
+      q(6079) => q(ski),
+      q(6080) => q(skj),
+      q(6081) => q(skk),
+      q(6082) => q(skm),
+      q(6083) => q(skn),
+      q(6084) => q(sko),
+      q(6085) => q(skp),
+      q(6086) => q(skq),
+      q(6087) => q(skr),
+      q(6088) => q(sks),
+      q(6089) => q(skt),
+      q(6090) => q(sku),
+      q(6091) => q(skv),
+      q(6092) => q(skw),
+      q(6093) => q(skx),
+      q(6094) => q(sky),
+      q(6095) => q(skz),
+      q(6096) => q(sld),
+      q(6097) => q(sle),
+      q(6098) => q(slf),
+      q(6099) => q(slg),
+      q(6100) => q(slh),
+      q(6101) => q(sli),
+      q(6102) => q(slj),
+      q(6103) => q(sll),
+      q(6104) => q(slm),
+      q(6105) => q(sln),
+      q(6106) => q(slp),
+      q(6107) => q(slq),
+      q(6108) => q(slr),
+      q(6109) => q(sls),
+      q(6110) => q(slt),
+      q(6111) => q(slu),
+      q(6112) => q(slw),
+      q(6113) => q(slx),
+      q(6114) => q(sly),
+      q(6115) => q(slz),
+      q(6116) => q(smb),
+      q(6117) => q(smc),
+      q(6118) => q(smd),
+      q(6119) => q(smf),
+      q(6120) => q(smg),
+      q(6121) => q(smh),
+      q(6122) => q(smk),
+      q(6123) => q(sml),
+      q(6124) => q(smm),
+      q(6125) => q(smp),
+      q(6126) => q(smq),
+      q(6127) => q(smr),
+      q(6128) => q(smt),
+      q(6129) => q(smu),
+      q(6130) => q(smv),
+      q(6131) => q(smw),
+      q(6132) => q(smx),
+      q(6133) => q(smy),
+      q(6134) => q(smz),
+      q(6135) => q(snb),
+      q(6136) => q(snc),
+      q(6137) => q(sne),
+      q(6138) => q(snf),
+      q(6139) => q(sng),
+      q(6140) => q(snh),
+      q(6141) => q(sni),
+      q(6142) => q(snj),
+      q(6143) => q(snl),
+      q(6144) => q(snm),
+      q(6145) => q(snn),
+      q(6146) => q(sno),
+      q(6147) => q(snp),
+      q(6148) => q(snq),
+      q(6149) => q(snr),
+      q(6150) => q(sns),
+      q(6151) => q(snu),
+      q(6152) => q(snv),
+      q(6153) => q(snw),
+      q(6154) => q(snx),
+      q(6155) => q(sny),
+      q(6156) => q(snz),
+      q(6157) => q(soa),
+      q(6158) => q(sob),
+      q(6159) => q(soc),
+      q(6160) => q(sod),
+      q(6161) => q(soe),
+      q(6162) => q(soh),
+      q(6163) => q(soi),
+      q(6164) => q(soj),
+      q(6165) => q(sok),
+      q(6166) => q(sol),
+      q(6167) => q(soo),
+      q(6168) => q(sop),
+      q(6169) => q(soq),
+      q(6170) => q(sor),
+      q(6171) => q(sos),
+      q(6172) => q(sou),
+      q(6173) => q(sov),
+      q(6174) => q(sow),
+      q(6175) => q(sox),
+      q(6176) => q(soy),
+      q(6177) => q(soz),
+      q(6178) => q(spb),
+      q(6179) => q(spc),
+      q(6180) => q(spd),
+      q(6181) => q(spe),
+      q(6182) => q(spg),
+      q(6183) => q(spi),
+      q(6184) => q(spk),
+      q(6185) => q(spl),
+      q(6186) => q(spm),
+      q(6187) => q(spn),
+      q(6188) => q(spo),
+      q(6189) => q(spp),
+      q(6190) => q(spq),
+      q(6191) => q(spr),
+      q(6192) => q(sps),
+      q(6193) => q(spt),
+      q(6194) => q(spu),
+      q(6195) => q(spv),
+      q(6196) => q(spx),
+      q(6197) => q(spy),
+      q(6198) => q(sqa),
+      q(6199) => q(sqh),
+      q(6200) => q(sqk),
+      q(6201) => q(sqm),
+      q(6202) => q(sqn),
+      q(6203) => q(sqo),
+      q(6204) => q(sqq),
+      q(6205) => q(sqr),
+      q(6206) => q(sqs),
+      q(6207) => q(sqt),
+      q(6208) => q(squ),
+      q(6209) => q(sra),
+      q(6210) => q(srb),
+      q(6211) => q(src),
+      q(6212) => q(sre),
+      q(6213) => q(srf),
+      q(6214) => q(srg),
+      q(6215) => q(srh),
+      q(6216) => q(sri),
+      q(6217) => q(srk),
+      q(6218) => q(srl),
+      q(6219) => q(srm),
+      q(6220) => q(sro),
+      q(6221) => q(srq),
+      q(6222) => q(srs),
+      q(6223) => q(srt),
+      q(6224) => q(sru),
+      q(6225) => q(srv),
+      q(6226) => q(srw),
+      q(6227) => q(srx),
+      q(6228) => q(sry),
+      q(6229) => q(srz),
+      q(6230) => q(ssb),
+      q(6231) => q(ssc),
+      q(6232) => q(ssd),
+      q(6233) => q(sse),
+      q(6234) => q(ssf),
+      q(6235) => q(ssg),
+      q(6236) => q(ssh),
+      q(6237) => q(ssi),
+      q(6238) => q(ssj),
+      q(6239) => q(ssk),
+      q(6240) => q(ssl),
+      q(6241) => q(ssm),
+      q(6242) => q(ssn),
+      q(6243) => q(sso),
+      q(6244) => q(ssp),
+      q(6245) => q(ssq),
+      q(6246) => q(ssr),
+      q(6247) => q(sss),
+      q(6248) => q(sst),
+      q(6249) => q(ssu),
+      q(6250) => q(ssv),
+      q(6251) => q(ssx),
+      q(6252) => q(ssy),
+      q(6253) => q(ssz),
+      q(6254) => q(sta),
+      q(6255) => q(stb),
+      q(6256) => q(std),
+      q(6257) => q(ste),
+      q(6258) => q(stf),
+      q(6259) => q(stg),
+      q(6260) => q(sth),
+      q(6261) => q(sti),
+      q(6262) => q(stj),
+      q(6263) => q(stk),
+      q(6264) => q(stl),
+      q(6265) => q(stm),
+      q(6266) => q(stn),
+      q(6267) => q(sto),
+      q(6268) => q(stp),
+      q(6269) => q(stq),
+      q(6270) => q(str),
+      q(6271) => q(sts),
+      q(6272) => q(stt),
+      q(6273) => q(stu),
+      q(6274) => q(stv),
+      q(6275) => q(stw),
+      q(6276) => q(sty),
+      q(6277) => q(sua),
+      q(6278) => q(sub),
+      q(6279) => q(suc),
+      q(6280) => q(sue),
+      q(6281) => q(sug),
+      q(6282) => q(sui),
+      q(6283) => q(suj),
+      q(6284) => q(suq),
+      q(6285) => q(sur),
+      q(6286) => q(sut),
+      q(6287) => q(suv),
+      q(6288) => q(suw),
+      q(6289) => q(suy),
+      q(6290) => q(suz),
+      q(6291) => q(sva),
+      q(6292) => q(svb),
+      q(6293) => q(svc),
+      q(6294) => q(sve),
+      q(6295) => q(svk),
+      q(6296) => q(svm),
+      q(6297) => q(svr),
+      q(6298) => q(svs),
+      q(6299) => q(svx),
+      q(6300) => q(swb),
+      q(6301) => q(swc),
+      q(6302) => q(swf),
+      q(6303) => q(swg),
+      q(6304) => q(swh),
+      q(6305) => q(swi),
+      q(6306) => q(swj),
+      q(6307) => q(swk),
+      q(6308) => q(swl),
+      q(6309) => q(swm),
+      q(6310) => q(swn),
+      q(6311) => q(swo),
+      q(6312) => q(swp),
+      q(6313) => q(swq),
+      q(6314) => q(swr),
+      q(6315) => q(sws),
+      q(6316) => q(swt),
+      q(6317) => q(swu),
+      q(6318) => q(swv),
+      q(6319) => q(sww),
+      q(6320) => q(swx),
+      q(6321) => q(swy),
+      q(6322) => q(sxb),
+      q(6323) => q(sxc),
+      q(6324) => q(sxe),
+      q(6325) => q(sxg),
+      q(6326) => q(sxk),
+      q(6327) => q(sxl),
+      q(6328) => q(sxm),
+      q(6329) => q(sxn),
+      q(6330) => q(sxo),
+      q(6331) => q(sxr),
+      q(6332) => q(sxs),
+      q(6333) => q(sxu),
+      q(6334) => q(sxw),
+      q(6335) => q(sya),
+      q(6336) => q(syb),
+      q(6337) => q(syi),
+      q(6338) => q(syk),
+      q(6339) => q(syl),
+      q(6340) => q(sym),
+      q(6341) => q(syn),
+      q(6342) => q(syo),
+      q(6343) => q(sys),
+      q(6344) => q(syw),
+      q(6345) => q(syx),
+      q(6346) => q(syy),
+      q(6347) => q(sza),
+      q(6348) => q(szb),
+      q(6349) => q(szc),
+      q(6350) => q(szd),
+      q(6351) => q(sze),
+      q(6352) => q(szg),
+      q(6353) => q(szl),
+      q(6354) => q(szn),
+      q(6355) => q(szp),
+      q(6356) => q(szv),
+      q(6357) => q(szw),
+      q(6358) => q(taa),
+      q(6359) => q(tab),
+      q(6360) => q(tac),
+      q(6361) => q(tad),
+      q(6362) => q(tae),
+      q(6363) => q(taf),
+      q(6364) => q(tag),
+      q(6365) => q(taj),
+      q(6366) => q(tak),
+      q(6367) => q(tal),
+      q(6368) => q(tan),
+      q(6369) => q(tao),
+      q(6370) => q(tap),
+      q(6371) => q(taq),
+      q(6372) => q(tar),
+      q(6373) => q(tas),
+      q(6374) => q(tau),
+      q(6375) => q(tav),
+      q(6376) => q(taw),
+      q(6377) => q(tax),
+      q(6378) => q(tay),
+      q(6379) => q(taz),
+      q(6380) => q(tba),
+      q(6381) => q(tbb),
+      q(6382) => q(tbc),
+      q(6383) => q(tbd),
+      q(6384) => q(tbe),
+      q(6385) => q(tbf),
+      q(6386) => q(tbg),
+      q(6387) => q(tbh),
+      q(6388) => q(tbi),
+      q(6389) => q(tbj),
+      q(6390) => q(tbk),
+      q(6391) => q(tbl),
+      q(6392) => q(tbm),
+      q(6393) => q(tbn),
+      q(6394) => q(tbo),
+      q(6395) => q(tbp),
+      q(6396) => q(tbr),
+      q(6397) => q(tbs),
+      q(6398) => q(tbt),
+      q(6399) => q(tbu),
+      q(6400) => q(tbv),
+      q(6401) => q(tbw),
+      q(6402) => q(tbx),
+      q(6403) => q(tby),
+      q(6404) => q(tbz),
+      q(6405) => q(tca),
+      q(6406) => q(tcb),
+      q(6407) => q(tcc),
+      q(6408) => q(tcd),
+      q(6409) => q(tce),
+      q(6410) => q(tcf),
+      q(6411) => q(tcg),
+      q(6412) => q(tch),
+      q(6413) => q(wbf),
+      q(6414) => q(tck),
+      q(6415) => q(tcl),
+      q(6416) => q(tcm),
+      q(6417) => q(tcn),
+      q(6418) => q(tco),
+      q(6419) => q(tcp),
+      q(6420) => q(tcq),
+      q(6421) => q(tcs),
+      q(6422) => q(tct),
+      q(6423) => q(tcu),
+      q(6424) => q(tcw),
+      q(6425) => q(tcx),
+      q(6426) => q(tcy),
+      q(6427) => q(tcz),
+      q(6428) => q(tda),
+      q(6429) => q(tdb),
+      q(6430) => q(tdc),
+      q(6431) => q(tdd),
+      q(6432) => q(tde),
+      q(6433) => q(tdf),
+      q(6434) => q(tdg),
+      q(6435) => q(tdh),
+      q(6436) => q(tdi),
+      q(6437) => q(tdj),
+      q(6438) => q(tdk),
+      q(6439) => q(tdl),
+      q(6440) => q(tdn),
+      q(6441) => q(tdo),
+      q(6442) => q(tdq),
+      q(6443) => q(tdr),
+      q(6444) => q(tds),
+      q(6445) => q(tdt),
+      q(6446) => q(tdu),
+      q(6447) => q(tdv),
+      q(6448) => q(tdx),
+      q(6449) => q(tdy),
+      q(6450) => q(tea),
+      q(6451) => q(teb),
+      q(6452) => q(tec),
+      q(6453) => q(ted),
+      q(6454) => q(tee),
+      q(6455) => q(tef),
+      q(6456) => q(teg),
+      q(6457) => q(teh),
+      q(6458) => q(tei),
+      q(6459) => q(tek),
+      q(6460) => q(ten),
+      q(6461) => q(teo),
+      q(6462) => q(tep),
+      q(6463) => q(teq),
+      q(6464) => q(tes),
+      q(6465) => q(teu),
+      q(6466) => q(tev),
+      q(6467) => q(tew),
+      q(6468) => q(tex),
+      q(6469) => q(tey),
+      q(6470) => q(tfi),
+      q(6471) => q(tfn),
+      q(6472) => q(tfo),
+      q(6473) => q(tfr),
+      q(6474) => q(tft),
+      q(6475) => q(tga),
+      q(6476) => q(tgb),
+      q(6477) => q(tgc),
+      q(6478) => q(tgd),
+      q(6479) => q(tge),
+      q(6480) => q(tgf),
+      q(6481) => q(tgh),
+      q(6482) => q(tgi),
+      q(6483) => q(tgj),
+      q(6484) => q(tgn),
+      q(6485) => q(tgo),
+      q(6486) => q(tgp),
+      q(6487) => q(tgq),
+      q(6488) => q(tgr),
+      q(6489) => q(tgs),
+      q(6490) => q(tgt),
+      q(6491) => q(tgu),
+      q(6492) => q(tgv),
+      q(6493) => q(tgw),
+      q(6494) => q(tgx),
+      q(6495) => q(tgy),
+      q(6496) => q(tgz),
+      q(6497) => q(thc),
+      q(6498) => q(thd),
+      q(6499) => q(the),
+      q(6500) => q(thf),
+      q(6501) => q(thh),
+      q(6502) => q(thi),
+      q(6503) => q(thk),
+      q(6504) => q(thl),
+      q(6505) => q(thm),
+      q(6506) => q(thn),
+      q(6507) => q(thp),
+      q(6508) => q(thq),
+      q(6509) => q(thr),
+      q(6510) => q(ths),
+      q(6511) => q(tht),
+      q(6512) => q(thu),
+      q(6513) => q(thv),
+      q(6514) => q(thw),
+      q(6515) => q(thy),
+      q(6516) => q(thz),
+      q(6517) => q(tia),
+      q(6518) => q(tic),
+      q(6519) => q(tid),
+      q(6520) => q(tif),
+      q(6521) => q(tih),
+      q(6522) => q(tii),
+      q(6523) => q(tij),
+      q(6524) => q(tik),
+      q(6525) => q(til),
+      q(6526) => q(tim),
+      q(6527) => q(tin),
+      q(6528) => q(tio),
+      q(6529) => q(tip),
+      q(6530) => q(tiq),
+      q(6531) => q(tis),
+      q(6532) => q(tit),
+      q(6533) => q(tiu),
+      q(6534) => q(tiw),
+      q(6535) => q(tix),
+      q(6536) => q(tiy),
+      q(6537) => q(tiz),
+      q(6538) => q(tja),
+      q(6539) => q(tjg),
+      q(6540) => q(tji),
+      q(6541) => q(tjl),
+      q(6542) => q(tjm),
+      q(6543) => q(tjn),
+      q(6544) => q(tjo),
+      q(6545) => q(tjs),
+      q(6546) => q(tju),
+      q(6547) => q(tjw),
+      q(6548) => q(tka),
+      q(6549) => q(tkb),
+      q(6550) => q(tkd),
+      q(6551) => q(tke),
+      q(6552) => q(tkf),
+      q(6553) => q(tkg),
+      q(6554) => q(tkm),
+      q(6555) => q(tkn),
+      q(6556) => q(tkp),
+      q(6557) => q(tkq),
+      q(6558) => q(tkr),
+      q(6559) => q(tks),
+      q(6560) => q(tkt),
+      q(6561) => q(tku),
+      q(6562) => q(tkv),
+      q(6563) => q(tkw),
+      q(6564) => q(tkx),
+      q(6565) => q(tkz),
+      q(6566) => q(tla),
+      q(6567) => q(tlb),
+      q(6568) => q(tlc),
+      q(6569) => q(tld),
+      q(6570) => q(tlf),
+      q(6571) => q(tlg),
+      q(6572) => q(tlj),
+      q(6573) => q(tlk),
+      q(6574) => q(tll),
+      q(6575) => q(tlm),
+      q(6576) => q(tln),
+      q(6577) => q(tlo),
+      q(6578) => q(tlp),
+      q(6579) => q(tlq),
+      q(6580) => q(tlr),
+      q(6581) => q(tls),
+      q(6582) => q(tlt),
+      q(6583) => q(tlu),
+      q(6584) => q(tlv),
+      q(6585) => q(tlx),
+      q(6586) => q(tly),
+      q(6587) => q(tma),
+      q(6588) => q(tmb),
+      q(6589) => q(tmc),
+      q(6590) => q(tmd),
+      q(6591) => q(tme),
+      q(6592) => q(tmf),
+      q(6593) => q(tmg),
+      q(6594) => q(tmi),
+      q(6595) => q(tmj),
+      q(6596) => q(tmk),
+      q(6597) => q(tml),
+      q(6598) => q(tmm),
+      q(6599) => q(tmn),
+      q(6600) => q(tmo),
+      q(6601) => q(tmp),
+      q(6602) => q(tmq),
+      q(6603) => q(tmr),
+      q(6604) => q(tms),
+      q(6605) => q(tmt),
+      q(6606) => q(tmu),
+      q(6607) => q(tmv),
+      q(6608) => q(tmw),
+      q(6609) => q(tmy),
+      q(6610) => q(tmz),
+      q(6611) => q(tna),
+      q(6612) => q(tnb),
+      q(6613) => q(tnc),
+      q(6614) => q(tnd),
+      q(6615) => q(tne),
+      q(6616) => q(tng),
+      q(6617) => q(tnh),
+      q(6618) => q(tni),
+      q(6619) => q(tnk),
+      q(6620) => q(tnl),
+      q(6621) => q(tnm),
+      q(6622) => q(tnn),
+      q(6623) => q(tno),
+      q(6624) => q(tnp),
+      q(6625) => q(tnq),
+      q(6626) => q(tnr),
+      q(6627) => q(tns),
+      q(6628) => q(tnt),
+      q(6629) => q(tnu),
+      q(6630) => q(tnv),
+      q(6631) => q(tnw),
+      q(6632) => q(tnx),
+      q(6633) => q(tny),
+      q(6634) => q(tnz),
+      q(6635) => q(tob),
+      q(6636) => q(toc),
+      q(6637) => q(tod),
+      q(6638) => q(toe),
+      q(6639) => q(tof),
+      q(6640) => q(toh),
+      q(6641) => q(toi),
+      q(6642) => q(toj),
+      q(6643) => q(tol),
+      q(6644) => q(tom),
+      q(6645) => q(too),
+      q(6646) => q(top),
+      q(6647) => q(toq),
+      q(6648) => q(tor),
+      q(6649) => q(tos),
+      q(6650) => q(tou),
+      q(6651) => q(tov),
+      q(6652) => q(tow),
+      q(6653) => q(tox),
+      q(6654) => q(toy),
+      q(6655) => q(toz),
+      q(6656) => q(tpa),
+      q(6657) => q(tpc),
+      q(6658) => q(tpe),
+      q(6659) => q(tpf),
+      q(6660) => q(tpg),
+      q(6661) => q(tpj),
+      q(6662) => q(tpk),
+      q(6663) => q(tpl),
+      q(6664) => q(tpm),
+      q(6665) => q(tpn),
+      q(6666) => q(tpo),
+      q(6667) => q(tpp),
+      q(6668) => q(tpq),
+      q(6669) => q(tpr),
+      q(6670) => q(tpt),
+      q(6671) => q(tpu),
+      q(6672) => q(tpv),
+      q(6673) => q(tpw),
+      q(6674) => q(tpx),
+      q(6675) => q(tpy),
+      q(6676) => q(tpz),
+      q(6677) => q(tqb),
+      q(6678) => q(tql),
+      q(6679) => q(tqm),
+      q(6680) => q(tqn),
+      q(6681) => q(tqo),
+      q(6682) => q(tqp),
+      q(6683) => q(tqq),
+      q(6684) => q(tqr),
+      q(6685) => q(tqt),
+      q(6686) => q(tqu),
+      q(6687) => q(tqw),
+      q(6688) => q(tra),
+      q(6689) => q(trb),
+      q(6690) => q(trc),
+      q(6691) => q(trd),
+      q(6692) => q(tre),
+      q(6693) => q(trf),
+      q(6694) => q(trg),
+      q(6695) => q(trh),
+      q(6696) => q(tri),
+      q(6697) => q(trj),
+      q(6698) => q(trl),
+      q(6699) => q(trm),
+      q(6700) => q(trn),
+      q(6701) => q(tro),
+      q(6702) => q(trp),
+      q(6703) => q(trq),
+      q(6704) => q(trr),
+      q(6705) => q(trs),
+      q(6706) => q(trt),
+      q(6707) => q(tru),
+      q(6708) => q(trv),
+      q(6709) => q(trw),
+      q(6710) => q(trx),
+      q(6711) => q(try),
+      q(6712) => q(trz),
+      q(6713) => q(tsa),
+      q(6714) => q(tsb),
+      q(6715) => q(tsc),
+      q(6716) => q(tsd),
+      q(6717) => q(tse),
+      q(6718) => q(tsg),
+      q(6719) => q(tsh),
+      q(6720) => q(tsj),
+      q(6721) => q(tsk),
+      q(6722) => q(tsl),
+      q(6723) => q(tsm),
+      q(6724) => q(tsp),
+      q(6725) => q(tsq),
+      q(6726) => q(tsr),
+      q(6727) => q(tss),
+      q(6728) => q(tst),
+      q(6729) => q(tsu),
+      q(6730) => q(tsv),
+      q(6731) => q(tsw),
+      q(6732) => q(tsx),
+      q(6733) => q(tsy),
+      q(6734) => q(tsz),
+      q(6735) => q(tta),
+      q(6736) => q(ttb),
+      q(6737) => q(ttc),
+      q(6738) => q(ttd),
+      q(6739) => q(tte),
+      q(6740) => q(ttf),
+      q(6741) => q(ttg),
+      q(6742) => q(tth),
+      q(6743) => q(tti),
+      q(6744) => q(ttj),
+      q(6745) => q(ttk),
+      q(6746) => q(ttl),
+      q(6747) => q(ttm),
+      q(6748) => q(ttn),
+      q(6749) => q(tto),
+      q(6750) => q(ttp),
+      q(6751) => q(ttq),
+      q(6752) => q(ttr),
+      q(6753) => q(tts),
+      q(6754) => q(ttt),
+      q(6755) => q(ttu),
+      q(6756) => q(ttv),
+      q(6757) => q(ttw),
+      q(6758) => q(tty),
+      q(6759) => q(ttz),
+      q(6760) => q(tua),
+      q(6761) => q(tub),
+      q(6762) => q(tuc),
+      q(6763) => q(tud),
+      q(6764) => q(tue),
+      q(6765) => q(tuf),
+      q(6766) => q(tug),
+      q(6767) => q(tuh),
+      q(6768) => q(tui),
+      q(6769) => q(tuj),
+      q(6770) => q(tul),
+      q(6771) => q(tun),
+      q(6772) => q(tuo),
+      q(6773) => q(tuq),
+      q(6774) => q(tus),
+      q(6775) => q(tuu),
+      q(6776) => q(tuv),
+      q(6777) => q(tux),
+      q(6778) => q(tuy),
+      q(6779) => q(tuz),
+      q(6780) => q(tva),
+      q(6781) => q(tvd),
+      q(6782) => q(tve),
+      q(6783) => q(tvk),
+      q(6784) => q(tvm),
+      q(6785) => q(tvn),
+      q(6786) => q(tvo),
+      q(6787) => q(tvs),
+      q(6788) => q(tvt),
+      q(6789) => q(tvu),
+      q(6790) => q(tvw),
+      q(6791) => q(tvy),
+      q(6792) => q(twa),
+      q(6793) => q(twb),
+      q(6794) => q(twc),
+      q(6795) => q(twd),
+      q(6796) => q(twe),
+      q(6797) => q(twf),
+      q(6798) => q(twg),
+      q(6799) => q(twh),
+      q(6800) => q(twl),
+      q(6801) => q(twm),
+      q(6802) => q(twn),
+      q(6803) => q(two),
+      q(6804) => q(twp),
+      q(6805) => q(twq),
+      q(6806) => q(twr),
+      q(6807) => q(twt),
+      q(6808) => q(twu),
+      q(6809) => q(tww),
+      q(6810) => q(twx),
+      q(6811) => q(twy),
+      q(6812) => q(txa),
+      q(6813) => q(txb),
+      q(6814) => q(txc),
+      q(6815) => q(txe),
+      q(6816) => q(txg),
+      q(6817) => q(txh),
+      q(6818) => q(txi),
+      q(6819) => q(txj),
+      q(6820) => q(txm),
+      q(6821) => q(txn),
+      q(6822) => q(txo),
+      q(6823) => q(txq),
+      q(6824) => q(txr),
+      q(6825) => q(txs),
+      q(6826) => q(txt),
+      q(6827) => q(txu),
+      q(6828) => q(txx),
+      q(6829) => q(txy),
+      q(6830) => q(tya),
+      q(6831) => q(tye),
+      q(6832) => q(tyh),
+      q(6833) => q(tyi),
+      q(6834) => q(tyj),
+      q(6835) => q(tyl),
+      q(6836) => q(tyn),
+      q(6837) => q(typ),
+      q(6838) => q(tyr),
+      q(6839) => q(tys),
+      q(6840) => q(tyt),
+      q(6841) => q(tyu),
+      q(6842) => q(tyx),
+      q(6843) => q(tyz),
+      q(6844) => q(tza),
+      q(6845) => q(tzh),
+      q(6846) => q(tzj),
+      q(6847) => q(tzl),
+      q(6848) => q(tzm),
+      q(6849) => q(tzn),
+      q(6850) => q(tzo),
+      q(6851) => q(tzx),
+      q(6852) => q(uam),
+      q(6853) => q(uan),
+      q(6854) => q(uar),
+      q(6855) => q(uba),
+      q(6856) => q(ubi),
+      q(6857) => q(ubl),
+      q(6858) => q(ubr),
+      q(6859) => q(ubu),
+      q(6860) => q(uby),
+      q(6861) => q(uda),
+      q(6862) => q(ude),
+      q(6863) => q(udg),
+      q(6864) => q(udi),
+      q(6865) => q(udj),
+      q(6866) => q(udl),
+      q(6867) => q(udu),
+      q(6868) => q(ues),
+      q(6869) => q(ufi),
+      q(6870) => q(ugb),
+      q(6871) => q(uge),
+      q(6872) => q(ugn),
+      q(6873) => q(ugo),
+      q(6874) => q(ugy),
+      q(6875) => q(uha),
+      q(6876) => q(uhn),
+      q(6877) => q(uis),
+      q(6878) => q(uiv),
+      q(6879) => q(uji),
+      q(6880) => q(uka),
+      q(6881) => q(ukg),
+      q(6882) => q(ukh),
+      q(6883) => q(ukl),
+      q(6884) => q(ukp),
+      q(6885) => q(ukq),
+      q(6886) => q(uks),
+      q(6887) => q(uku),
+      q(6888) => q(ukw),
+      q(6889) => q(uky),
+      q(6890) => q(ula),
+      q(6891) => q(ulb),
+      q(6892) => q(ulc),
+      q(6893) => q(ule),
+      q(6894) => q(ulf),
+      q(6895) => q(uli),
+      q(6896) => q(ulk),
+      q(6897) => q(ull),
+      q(6898) => q(ulm),
+      q(6899) => q(uln),
+      q(6900) => q(ulu),
+      q(6901) => q(ulw),
+      q(6902) => q(uma),
+      q(6903) => q(umc),
+      q(6904) => q(umd),
+      q(6905) => q(umg),
+      q(6906) => q(umi),
+      q(6907) => q(umm),
+      q(6908) => q(umn),
+      q(6909) => q(umo),
+      q(6910) => q(ump),
+      q(6911) => q(umr),
+      q(6912) => q(ums),
+      q(6913) => q(umu),
+      q(6914) => q(una),
+      q(6915) => q(une),
+      q(6916) => q(ung),
+      q(6917) => q(unk),
+      q(6918) => q(unm),
+      q(6919) => q(unn),
+      q(6920) => q(unr),
+      q(6921) => q(unu),
+      q(6922) => q(unx),
+      q(6923) => q(unz),
+      q(6924) => q(upi),
+      q(6925) => q(upv),
+      q(6926) => q(ura),
+      q(6927) => q(urb),
+      q(6928) => q(urc),
+      q(6929) => q(ure),
+      q(6930) => q(urf),
+      q(6931) => q(urg),
+      q(6932) => q(urh),
+      q(6933) => q(uri),
+      q(6934) => q(urk),
+      q(6935) => q(url),
+      q(6936) => q(urm),
+      q(6937) => q(urn),
+      q(6938) => q(uro),
+      q(6939) => q(urp),
+      q(6940) => q(urr),
+      q(6941) => q(urt),
+      q(6942) => q(uru),
+      q(6943) => q(urv),
+      q(6944) => q(urw),
+      q(6945) => q(urx),
+      q(6946) => q(ury),
+      q(6947) => q(urz),
+      q(6948) => q(usa),
+      q(6949) => q(ush),
+      q(6950) => q(usi),
+      q(6951) => q(usk),
+      q(6952) => q(usp),
+      q(6953) => q(usu),
+      q(6954) => q(uta),
+      q(6955) => q(ute),
+      q(6956) => q(utp),
+      q(6957) => q(utr),
+      q(6958) => q(utu),
+      q(6959) => q(uum),
+      q(6960) => q(uun),
+      q(6961) => q(uur),
+      q(6962) => q(uuu),
+      q(6963) => q(uve),
+      q(6964) => q(uvh),
+      q(6965) => q(uvl),
+      q(6966) => q(uwa),
+      q(6967) => q(uya),
+      q(6968) => q(uzn),
+      q(6969) => q(uzs),
+      q(6970) => q(vaa),
+      q(6971) => q(vae),
+      q(6972) => q(vaf),
+      q(6973) => q(vag),
+      q(6974) => q(vah),
+      q(6975) => q(vaj),
+      q(6976) => q(val),
+      q(6977) => q(vam),
+      q(6978) => q(van),
+      q(6979) => q(vao),
+      q(6980) => q(vap),
+      q(6981) => q(var),
+      q(6982) => q(vas),
+      q(6983) => q(vau),
+      q(6984) => q(vav),
+      q(6985) => q(vay),
+      q(6986) => q(vbb),
+      q(6987) => q(vbk),
+      q(6988) => q(vec),
+      q(6989) => q(ved),
+      q(6990) => q(vel),
+      q(6991) => q(vem),
+      q(6992) => q(veo),
+      q(6993) => q(vep),
+      q(6994) => q(ver),
+      q(6995) => q(vgr),
+      q(6996) => q(vgt),
+      q(6997) => q(vic),
+      q(6998) => q(vid),
+      q(6999) => q(vif),
+      q(7000) => q(vig),
+      q(7001) => q(vil),
+      q(7002) => q(vin),
+      q(7003) => q(vis),
+      q(7004) => q(vit),
+      q(7005) => q(viv),
+      q(7006) => q(vka),
+      q(7007) => q(vki),
+      q(7008) => q(vkj),
+      q(7009) => q(vkk),
+      q(7010) => q(vkl),
+      q(7011) => q(vkm),
+      q(7012) => q(vko),
+      q(7013) => q(vkp),
+      q(7014) => q(vkt),
+      q(7015) => q(vku),
+      q(7016) => q(vlp),
+      q(7017) => q(vls),
+      q(7018) => q(vma),
+      q(7019) => q(vmb),
+      q(7020) => q(vmc),
+      q(7021) => q(vmd),
+      q(7022) => q(vme),
+      q(7023) => q(vmf),
+      q(7024) => q(vmg),
+      q(7025) => q(vmh),
+      q(7026) => q(vmi),
+      q(7027) => q(vmj),
+      q(7028) => q(vmk),
+      q(7029) => q(vml),
+      q(7030) => q(vmm),
+      q(7031) => q(vmp),
+      q(7032) => q(vmq),
+      q(7033) => q(vmr),
+      q(7034) => q(vms),
+      q(7035) => q(vmu),
+      q(7036) => q(vmv),
+      q(7037) => q(vmw),
+      q(7038) => q(vmx),
+      q(7039) => q(vmy),
+      q(7040) => q(vmz),
+      q(7041) => q(vnk),
+      q(7042) => q(vnm),
+      q(7043) => q(vnp),
+      q(7044) => q(vro),
+      q(7045) => q(vra),
+      q(7046) => q(vrs),
+      q(7047) => q(vrt),
+      q(7048) => q(vsi),
+      q(7049) => q(vsl),
+      q(7050) => q(vsv),
+      q(7051) => q(vto),
+      q(7052) => q(vum),
+      q(7053) => q(vun),
+      q(7054) => q(vut),
+      q(7055) => q(vwa),
+      q(7056) => q(waa),
+      q(7057) => q(wab),
+      q(7058) => q(wac),
+      q(7059) => q(wad),
+      q(7060) => q(wae),
+      q(7061) => q(waf),
+      q(7062) => q(wag),
+      q(7063) => q(wah),
+      q(7064) => q(wai),
+      q(7065) => q(waj),
+      q(7066) => q(wam),
+      q(7067) => q(wan),
+      q(7068) => q(wao),
+      q(7069) => q(wap),
+      q(7070) => q(waq),
+      q(7071) => q(wat),
+      q(7072) => q(wau),
+      q(7073) => q(wav),
+      q(7074) => q(waw),
+      q(7075) => q(wax),
+      q(7076) => q(way),
+      q(7077) => q(waz),
+      q(7078) => q(wba),
+      q(7079) => q(wbb),
+      q(7080) => q(wbe),
+      q(7081) => q(wbh),
+      q(7082) => q(wbi),
+      q(7083) => q(wbj),
+      q(7084) => q(wbk),
+      q(7085) => q(wbl),
+      q(7086) => q(wbm),
+      q(7087) => q(wbp),
+      q(7088) => q(wbq),
+      q(7089) => q(wbr),
+      q(7090) => q(wbt),
+      q(7091) => q(wbv),
+      q(7092) => q(wbw),
+      q(7093) => q(wca),
+      q(7094) => q(wci),
+      q(7095) => q(wdd),
+      q(7096) => q(wdg),
+      q(7097) => q(wdj),
+      q(7098) => q(wdk),
+      q(7099) => q(wdu),
+      q(7100) => q(wdy),
+      q(7101) => q(wea),
+      q(7102) => q(wec),
+      q(7103) => q(wed),
+      q(7104) => q(weg),
+      q(7105) => q(weh),
+      q(7106) => q(wei),
+      q(7107) => q(wem),
+      q(7108) => q(weo),
+      q(7109) => q(wep),
+      q(7110) => q(wer),
+      q(7111) => q(wes),
+      q(7112) => q(wet),
+      q(7113) => q(weu),
+      q(7114) => q(wew),
+      q(7115) => q(wfg),
+      q(7116) => q(wga),
+      q(7117) => q(wgb),
+      q(7118) => q(wgg),
+      q(7119) => q(wgi),
+      q(7120) => q(wgo),
+      q(7121) => q(wgu),
+      q(7122) => q(wgy),
+      q(7123) => q(wha),
+      q(7124) => q(whg),
+      q(7125) => q(whk),
+      q(7126) => q(whu),
+      q(7127) => q(wib),
+      q(7128) => q(wic),
+      q(7129) => q(wie),
+      q(7130) => q(wif),
+      q(7131) => q(wig),
+      q(7132) => q(wih),
+      q(7133) => q(wii),
+      q(7134) => q(wij),
+      q(7135) => q(wik),
+      q(7136) => q(wil),
+      q(7137) => q(wim),
+      q(7138) => q(win),
+      q(7139) => q(wir),
+      q(7140) => q(wiu),
+      q(7141) => q(wiv),
+      q(7142) => q(wiy),
+      q(7143) => q(wja),
+      q(7144) => q(wji),
+      q(7145) => q(wka),
+      q(7146) => q(wkb),
+      q(7147) => q(wkd),
+      q(7148) => q(wkl),
+      q(7149) => q(wku),
+      q(7150) => q(wkw),
+      q(7151) => q(wky),
+      q(7152) => q(wla),
+      q(7153) => q(wlc),
+      q(7154) => q(wle),
+      q(7155) => q(wlg),
+      q(7156) => q(wli),
+      q(7157) => q(wlk),
+      q(7158) => q(wll),
+      q(7159) => q(wlm),
+      q(7160) => q(wlo),
+      q(7161) => q(wlr),
+      q(7162) => q(wls),
+      q(7163) => q(wlu),
+      q(7164) => q(wlv),
+      q(7165) => q(wlw),
+      q(7166) => q(wlx),
+      q(7167) => q(wly),
+      q(7168) => q(wma),
+      q(7169) => q(wmb),
+      q(7170) => q(wmc),
+      q(7171) => q(wmd),
+      q(7172) => q(wme),
+      q(7173) => q(wmh),
+      q(7174) => q(wmi),
+      q(7175) => q(wmm),
+      q(7176) => q(wmn),
+      q(7177) => q(wmo),
+      q(7178) => q(wms),
+      q(7179) => q(wmt),
+      q(7180) => q(wmw),
+      q(7181) => q(wmx),
+      q(7182) => q(wnb),
+      q(7183) => q(wnc),
+      q(7184) => q(wnd),
+      q(7185) => q(wne),
+      q(7186) => q(wng),
+      q(7187) => q(wni),
+      q(7188) => q(wnk),
+      q(7189) => q(wnm),
+      q(7190) => q(wnn),
+      q(7191) => q(wno),
+      q(7192) => q(wnp),
+      q(7193) => q(wnu),
+      q(7194) => q(wnw),
+      q(7195) => q(wny),
+      q(7196) => q(woa),
+      q(7197) => q(wob),
+      q(7198) => q(woc),
+      q(7199) => q(wod),
+      q(7200) => q(woe),
+      q(7201) => q(wof),
+      q(7202) => q(wog),
+      q(7203) => q(woi),
+      q(7204) => q(wok),
+      q(7205) => q(wom),
+      q(7206) => q(won),
+      q(7207) => q(woo),
+      q(7208) => q(wor),
+      q(7209) => q(wos),
+      q(7210) => q(wow),
+      q(7211) => q(woy),
+      q(7212) => q(wpc),
+      q(7213) => q(wra),
+      q(7214) => q(wrb),
+      q(7215) => q(wrd),
+      q(7216) => q(wrg),
+      q(7217) => q(wrh),
+      q(7218) => q(wri),
+      q(7219) => q(wrk),
+      q(7220) => q(wrl),
+      q(7221) => q(wrm),
+      q(7222) => q(wrn),
+      q(7223) => q(wro),
+      q(7224) => q(wrp),
+      q(7225) => q(wrr),
+      q(7226) => q(wrs),
+      q(7227) => q(wru),
+      q(7228) => q(wrv),
+      q(7229) => q(wrw),
+      q(7230) => q(wrx),
+      q(7231) => q(wry),
+      q(7232) => q(wrz),
+      q(7233) => q(wsa),
+      q(7234) => q(wsi),
+      q(7235) => q(wsk),
+      q(7236) => q(wsr),
+      q(7237) => q(wss),
+      q(7238) => q(wsu),
+      q(7239) => q(wsv),
+      q(7240) => q(wtf),
+      q(7241) => q(wth),
+      q(7242) => q(wti),
+      q(7243) => q(wtk),
+      q(7244) => q(wtm),
+      q(7245) => q(wtw),
+      q(7246) => q(wua),
+      q(7247) => q(wub),
+      q(7248) => q(wud),
+      q(7249) => q(wuh),
+      q(7250) => q(wul),
+      q(7251) => q(wum),
+      q(7252) => q(wun),
+      q(7253) => q(wur),
+      q(7254) => q(wut),
+      q(7255) => q(wuu),
+      q(7256) => q(wuv),
+      q(7257) => q(wux),
+      q(7258) => q(wuy),
+      q(7259) => q(wwa),
+      q(7260) => q(wwb),
+      q(7261) => q(wwo),
+      q(7262) => q(wwr),
+      q(7263) => q(www),
+      q(7264) => q(wxa),
+      q(7265) => q(wxw),
+      q(7266) => q(wya),
+      q(7267) => q(wyb),
+      q(7268) => q(wyi),
+      q(7269) => q(wym),
+      q(7270) => q(wyr),
+      q(7271) => q(wyy),
+      q(7272) => q(xaa),
+      q(7273) => q(xab),
+      q(7274) => q(xac),
+      q(7275) => q(xad),
+      q(7276) => q(xae),
+      q(7277) => q(xag),
+      q(7278) => q(xai),
+      q(7279) => q(xaj),
+      q(7280) => q(xam),
+      q(7281) => q(xan),
+      q(7282) => q(xao),
+      q(7283) => q(xap),
+      q(7284) => q(xaq),
+      q(7285) => q(xar),
+      q(7286) => q(xas),
+      q(7287) => q(xat),
+      q(7288) => q(xau),
+      q(7289) => q(xav),
+      q(7290) => q(xaw),
+      q(7291) => q(xay),
+      q(7292) => q(xba),
+      q(7293) => q(xbb),
+      q(7294) => q(xbc),
+      q(7295) => q(xbd),
+      q(7296) => q(xbe),
+      q(7297) => q(xbg),
+      q(7298) => q(xbi),
+      q(7299) => q(xbj),
+      q(7300) => q(xbm),
+      q(7301) => q(xbn),
+      q(7302) => q(xbo),
+      q(7303) => q(xbp),
+      q(7304) => q(xbr),
+      q(7305) => q(xbw),
+      q(7306) => q(xbx),
+      q(7307) => q(xby),
+      q(7308) => q(xcb),
+      q(7309) => q(xcc),
+      q(7310) => q(xce),
+      q(7311) => q(xcg),
+      q(7312) => q(xch),
+      q(7313) => q(xcl),
+      q(7314) => q(xcm),
+      q(7315) => q(xcn),
+      q(7316) => q(xco),
+      q(7317) => q(xcr),
+      q(7318) => q(xct),
+      q(7319) => q(xcu),
+      q(7320) => q(xcv),
+      q(7321) => q(xcw),
+      q(7322) => q(xcy),
+      q(7323) => q(xda),
+      q(7324) => q(xdc),
+      q(7325) => q(xdk),
+      q(7326) => q(xdm),
+      q(7327) => q(xdy),
+      q(7328) => q(xeb),
+      q(7329) => q(xed),
+      q(7330) => q(xeg),
+      q(7331) => q(xel),
+      q(7332) => q(xem),
+      q(7333) => q(xep),
+      q(7334) => q(xer),
+      q(7335) => q(xes),
+      q(7336) => q(xet),
+      q(7337) => q(xeu),
+      q(7338) => q(xfa),
+      q(7339) => q(xga),
+      q(7340) => q(xgb),
+      q(7341) => q(xgd),
+      q(7342) => q(xgf),
+      q(7343) => q(xgg),
+      q(7344) => q(xgi),
+      q(7345) => q(xgl),
+      q(7346) => q(xgm),
+      q(7347) => q(xgr),
+      q(7348) => q(xgu),
+      q(7349) => q(xgw),
+      q(7350) => q(xha),
+      q(7351) => q(xhc),
+      q(7352) => q(xhd),
+      q(7353) => q(xhe),
+      q(7354) => q(xhr),
+      q(7355) => q(xht),
+      q(7356) => q(xhu),
+      q(7357) => q(xhv),
+      q(7358) => q(xib),
+      q(7359) => q(xii),
+      q(7360) => q(xil),
+      q(7361) => q(xin),
+      q(7362) => q(xip),
+      q(7363) => q(xir),
+      q(7364) => q(xis),
+      q(7365) => q(xiv),
+      q(7366) => q(xiy),
+      q(7367) => q(xjb),
+      q(7368) => q(xjt),
+      q(7369) => q(xka),
+      q(7370) => q(xkb),
+      q(7371) => q(xkc),
+      q(7372) => q(xkd),
+      q(7373) => q(xke),
+      q(7374) => q(xkf),
+      q(7375) => q(xkg),
+      q(7376) => q(xkh),
+      q(7377) => q(xki),
+      q(7378) => q(xkj),
+      q(7379) => q(xkk),
+      q(7380) => q(xkl),
+      q(7381) => q(xkn),
+      q(7382) => q(xko),
+      q(7383) => q(xkp),
+      q(7384) => q(xkq),
+      q(7385) => q(xkr),
+      q(7386) => q(xks),
+      q(7387) => q(xkt),
+      q(7388) => q(xku),
+      q(7389) => q(xkv),
+      q(7390) => q(xkw),
+      q(7391) => q(xkx),
+      q(7392) => q(xky),
+      q(7393) => q(xkz),
+      q(7394) => q(xla),
+      q(7395) => q(xlb),
+      q(7396) => q(xlc),
+      q(7397) => q(xld),
+      q(7398) => q(xle),
+      q(7399) => q(xlg),
+      q(7400) => q(xli),
+      q(7401) => q(xln),
+      q(7402) => q(xlo),
+      q(7403) => q(xlp),
+      q(7404) => q(xls),
+      q(7405) => q(xlu),
+      q(7406) => q(xly),
+      q(7407) => q(xma),
+      q(7408) => q(xmb),
+      q(7409) => q(xmc),
+      q(7410) => q(xmd),
+      q(7411) => q(xme),
+      q(7412) => q(xmf),
+      q(7413) => q(xmg),
+      q(7414) => q(xmh),
+      q(7415) => q(xmj),
+      q(7416) => q(xmk),
+      q(7417) => q(xml),
+      q(7418) => q(xmm),
+      q(7419) => q(xmn),
+      q(7420) => q(xmo),
+      q(7421) => q(xmp),
+      q(7422) => q(xmq),
+      q(7423) => q(xmr),
+      q(7424) => q(xms),
+      q(7425) => q(xmt),
+      q(7426) => q(xmu),
+      q(7427) => q(xmv),
+      q(7428) => q(xmw),
+      q(7429) => q(xmx),
+      q(7430) => q(xmy),
+      q(7431) => q(xmz),
+      q(7432) => q(xna),
+      q(7433) => q(xnb),
+      q(7434) => q(xng),
+      q(7435) => q(xnh),
+      q(7436) => q(xni),
+      q(7437) => q(xnk),
+      q(7438) => q(xnn),
+      q(7439) => q(xno),
+      q(7440) => q(xnr),
+      q(7441) => q(xns),
+      q(7442) => q(xnt),
+      q(7443) => q(xnu),
+      q(7444) => q(xny),
+      q(7445) => q(xnz),
+      q(7446) => q(xoc),
+      q(7447) => q(xod),
+      q(7448) => q(xog),
+      q(7449) => q(xoi),
+      q(7450) => q(xok),
+      q(7451) => q(xom),
+      q(7452) => q(xon),
+      q(7453) => q(xoo),
+      q(7454) => q(xop),
+      q(7455) => q(xor),
+      q(7456) => q(xow),
+      q(7457) => q(xpa),
+      q(7458) => q(xpc),
+      q(7459) => q(xpe),
+      q(7460) => q(xpg),
+      q(7461) => q(xpi),
+      q(7462) => q(xpj),
+      q(7463) => q(xpk),
+      q(7464) => q(xpm),
+      q(7465) => q(xpn),
+      q(7466) => q(xpo),
+      q(7467) => q(xpp),
+      q(7468) => q(xpq),
+      q(7469) => q(xpr),
+      q(7470) => q(xps),
+      q(7471) => q(xpt),
+      q(7472) => q(xpu),
+      q(7473) => q(xpy),
+      q(7474) => q(xqa),
+      q(7475) => q(xqt),
+      q(7476) => q(xra),
+      q(7477) => q(xrb),
+      q(7478) => q(xrd),
+      q(7479) => q(xre),
+      q(7480) => q(xrg),
+      q(7481) => q(xri),
+      q(7482) => q(xrm),
+      q(7483) => q(xrn),
+      q(7484) => q(xrq),
+      q(7485) => q(xrr),
+      q(7486) => q(xrt),
+      q(7487) => q(xru),
+      q(7488) => q(xrw),
+      q(7489) => q(xsa),
+      q(7490) => q(xsb),
+      q(7491) => q(xsc),
+      q(7492) => q(xsd),
+      q(7493) => q(xse),
+      q(7494) => q(xsh),
+      q(7495) => q(xsi),
+      q(7496) => q(xsl),
+      q(7497) => q(xsm),
+      q(7498) => q(xsn),
+      q(7499) => q(xso),
+      q(7500) => q(xsp),
+      q(7501) => q(xsq),
+      q(7502) => q(xsr),
+      q(7503) => q(xss),
+      q(7504) => q(xsu),
+      q(7505) => q(xsv),
+      q(7506) => q(xsy),
+      q(7507) => q(xta),
+      q(7508) => q(xtb),
+      q(7509) => q(xtc),
+      q(7510) => q(xtd),
+      q(7511) => q(xte),
+      q(7512) => q(xtg),
+      q(7513) => q(xth),
+      q(7514) => q(xti),
+      q(7515) => q(xtj),
+      q(7516) => q(xtl),
+      q(7517) => q(xtm),
+      q(7518) => q(xtn),
+      q(7519) => q(xto),
+      q(7520) => q(xtp),
+      q(7521) => q(xtq),
+      q(7522) => q(xtr),
+      q(7523) => q(xts),
+      q(7524) => q(xtt),
+      q(7525) => q(xtu),
+      q(7526) => q(xtv),
+      q(7527) => q(xtw),
+      q(7528) => q(xty),
+      q(7529) => q(xtz),
+      q(7530) => q(xua),
+      q(7531) => q(xub),
+      q(7532) => q(xud),
+      q(7533) => q(xug),
+      q(7534) => q(xuj),
+      q(7535) => q(xul),
+      q(7536) => q(xum),
+      q(7537) => q(xun),
+      q(7538) => q(xuo),
+      q(7539) => q(xup),
+      q(7540) => q(xur),
+      q(7541) => q(xut),
+      q(7542) => q(xuu),
+      q(7543) => q(xve),
+      q(7544) => q(xvi),
+      q(7545) => q(xvn),
+      q(7546) => q(xvo),
+      q(7547) => q(xvs),
+      q(7548) => q(xwa),
+      q(7549) => q(xwc),
+      q(7550) => q(xwd),
+      q(7551) => q(xwe),
+      q(7552) => q(xwg),
+      q(7553) => q(xwj),
+      q(7554) => q(xwk),
+      q(7555) => q(xwl),
+      q(7556) => q(xwo),
+      q(7557) => q(xwr),
+      q(7558) => q(xwt),
+      q(7559) => q(xww),
+      q(7560) => q(xxb),
+      q(7561) => q(xxk),
+      q(7562) => q(xxm),
+      q(7563) => q(xxr),
+      q(7564) => q(xxt),
+      q(7565) => q(xya),
+      q(7566) => q(xyb),
+      q(7567) => q(xyj),
+      q(7568) => q(xyk),
+      q(7569) => q(xyl),
+      q(7570) => q(xyt),
+      q(7571) => q(xyy),
+      q(7572) => q(xzh),
+      q(7573) => q(xzm),
+      q(7574) => q(xzp),
+      q(7575) => q(yaa),
+      q(7576) => q(yab),
+      q(7577) => q(yac),
+      q(7578) => q(yad),
+      q(7579) => q(yae),
+      q(7580) => q(yaf),
+      q(7581) => q(yag),
+      q(7582) => q(yah),
+      q(7583) => q(yai),
+      q(7584) => q(yaj),
+      q(7585) => q(yak),
+      q(7586) => q(yal),
+      q(7587) => q(yam),
+      q(7588) => q(yan),
+      q(7589) => q(yaq),
+      q(7590) => q(yar),
+      q(7591) => q(yas),
+      q(7592) => q(yat),
+      q(7593) => q(yau),
+      q(7594) => q(yav),
+      q(7595) => q(yaw),
+      q(7596) => q(yax),
+      q(7597) => q(yay),
+      q(7598) => q(yaz),
+      q(7599) => q(yba),
+      q(7600) => q(ybb),
+      q(7601) => q(ybe),
+      q(7602) => q(ybh),
+      q(7603) => q(ybi),
+      q(7604) => q(ybj),
+      q(7605) => q(ybk),
+      q(7606) => q(ybl),
+      q(7607) => q(ybm),
+      q(7608) => q(ybn),
+      q(7609) => q(ybo),
+      q(7610) => q(ybx),
+      q(7611) => q(yby),
+      q(7612) => q(ych),
+      q(7613) => q(ycl),
+      q(7614) => q(ycn),
+      q(7615) => q(ycp),
+      q(7616) => q(yda),
+      q(7617) => q(ydd),
+      q(7618) => q(yde),
+      q(7619) => q(ydg),
+      q(7620) => q(ydk),
+      q(7621) => q(yea),
+      q(7622) => q(yec),
+      q(7623) => q(yee),
+      q(7624) => q(yei),
+      q(7625) => q(yej),
+      q(7626) => q(yel),
+      q(7627) => q(yer),
+      q(7628) => q(yes),
+      q(7629) => q(yet),
+      q(7630) => q(yeu),
+      q(7631) => q(yev),
+      q(7632) => q(yey),
+      q(7633) => q(yga),
+      q(7634) => q(ygi),
+      q(7635) => q(ygl),
+      q(7636) => q(ygm),
+      q(7637) => q(ygp),
+      q(7638) => q(ygr),
+      q(7639) => q(ygs),
+      q(7640) => q(ygu),
+      q(7641) => q(ygw),
+      q(7642) => q(yha),
+      q(7643) => q(yhd),
+      q(7644) => q(yhl),
+      q(7645) => q(yhs),
+      q(7646) => q(yia),
+      q(7647) => q(yig),
+      q(7648) => q(yih),
+      q(7649) => q(yii),
+      q(7650) => q(yij),
+      q(7651) => q(yik),
+      q(7652) => q(yil),
+      q(7653) => q(yim),
+      q(7654) => q(yin),
+      q(7655) => q(yip),
+      q(7656) => q(yiq),
+      q(7657) => q(yir),
+      q(7658) => q(yis),
+      q(7659) => q(yit),
+      q(7660) => q(yiu),
+      q(7661) => q(yiv),
+      q(7662) => q(yix),
+      q(7663) => q(yiz),
+      q(7664) => q(yka),
+      q(7665) => q(ykg),
+      q(7666) => q(yki),
+      q(7667) => q(ykk),
+      q(7668) => q(ykl),
+      q(7669) => q(ykm),
+      q(7670) => q(ykn),
+      q(7671) => q(yko),
+      q(7672) => q(ykr),
+      q(7673) => q(ykt),
+      q(7674) => q(yku),
+      q(7675) => q(yky),
+      q(7676) => q(yla),
+      q(7677) => q(ylb),
+      q(7678) => q(yle),
+      q(7679) => q(ylg),
+      q(7680) => q(yli),
+      q(7681) => q(yll),
+      q(7682) => q(ylm),
+      q(7683) => q(yln),
+      q(7684) => q(ylo),
+      q(7685) => q(ylr),
+      q(7686) => q(ylu),
+      q(7687) => q(yly),
+      q(7688) => q(ymb),
+      q(7689) => q(ymc),
+      q(7690) => q(ymd),
+      q(7691) => q(yme),
+      q(7692) => q(ymg),
+      q(7693) => q(ymh),
+      q(7694) => q(ymi),
+      q(7695) => q(ymk),
+      q(7696) => q(yml),
+      q(7697) => q(ymm),
+      q(7698) => q(ymn),
+      q(7699) => q(ymo),
+      q(7700) => q(ymp),
+      q(7701) => q(ymq),
+      q(7702) => q(ymr),
+      q(7703) => q(yms),
+      q(7704) => q(ymx),
+      q(7705) => q(ymz),
+      q(7706) => q(yna),
+      q(7707) => q(ynd),
+      q(7708) => q(yne),
+      q(7709) => q(yng),
+      q(7710) => q(ynk),
+      q(7711) => q(ynl),
+      q(7712) => q(ynn),
+      q(7713) => q(yno),
+      q(7714) => q(ynq),
+      q(7715) => q(yns),
+      q(7716) => q(ynu),
+      q(7717) => q(yob),
+      q(7718) => q(yog),
+      q(7719) => q(yoi),
+      q(7720) => q(yok),
+      q(7721) => q(yol),
+      q(7722) => q(yom),
+      q(7723) => q(yon),
+      q(7724) => q(yot),
+      q(7725) => q(yox),
+      q(7726) => q(yoy),
+      q(7727) => q(ypa),
+      q(7728) => q(ypb),
+      q(7729) => q(ypg),
+      q(7730) => q(yph),
+      q(7731) => q(ypm),
+      q(7732) => q(ypn),
+      q(7733) => q(ypo),
+      q(7734) => q(ypp),
+      q(7735) => q(ypz),
+      q(7736) => q(yra),
+      q(7737) => q(yrb),
+      q(7738) => q(yre),
+      q(7739) => q(yri),
+      q(7740) => q(yrk),
+      q(7741) => q(yrl),
+      q(7742) => q(yrm),
+      q(7743) => q(yrn),
+      q(7744) => q(yrs),
+      q(7745) => q(yrw),
+      q(7746) => q(yry),
+      q(7747) => q(ysc),
+      q(7748) => q(ysd),
+      q(7749) => q(ysg),
+      q(7750) => q(ysl),
+      q(7751) => q(ysn),
+      q(7752) => q(yso),
+      q(7753) => q(ysp),
+      q(7754) => q(ysr),
+      q(7755) => q(yss),
+      q(7756) => q(ysy),
+      q(7757) => q(yta),
+      q(7758) => q(ytl),
+      q(7759) => q(ytp),
+      q(7760) => q(ytw),
+      q(7761) => q(yty),
+      q(7762) => q(yua),
+      q(7763) => q(yub),
+      q(7764) => q(yuc),
+      q(7765) => q(yud),
+      q(7766) => q(yue),
+      q(7767) => q(yuf),
+      q(7768) => q(yug),
+      q(7769) => q(yui),
+      q(7770) => q(yuj),
+      q(7771) => q(yuk),
+      q(7772) => q(yul),
+      q(7773) => q(yum),
+      q(7774) => q(yun),
+      q(7775) => q(yup),
+      q(7776) => q(yuq),
+      q(7777) => q(yur),
+      q(7778) => q(yut),
+      q(7779) => q(yuw),
+      q(7780) => q(yux),
+      q(7781) => q(yuy),
+      q(7782) => q(yuz),
+      q(7783) => q(yva),
+      q(7784) => q(yvt),
+      q(7785) => q(ywa),
+      q(7786) => q(ywg),
+      q(7787) => q(ywl),
+      q(7788) => q(ywn),
+      q(7789) => q(ywq),
+      q(7790) => q(ywr),
+      q(7791) => q(ywt),
+      q(7792) => q(ywu),
+      q(7793) => q(yww),
+      q(7794) => q(yxa),
+      q(7795) => q(yxg),
+      q(7796) => q(yxl),
+      q(7797) => q(yxm),
+      q(7798) => q(yxu),
+      q(7799) => q(yxy),
+      q(7800) => q(yyr),
+      q(7801) => q(yyu),
+      q(7802) => q(yyz),
+      q(7803) => q(yzg),
+      q(7804) => q(yzk),
+      q(7805) => q(zaa),
+      q(7806) => q(zab),
+      q(7807) => q(zac),
+      q(7808) => q(zad),
+      q(7809) => q(zae),
+      q(7810) => q(zaf),
+      q(7811) => q(zag),
+      q(7812) => q(zah),
+      q(7813) => q(zai),
+      q(7814) => q(zaj),
+      q(7815) => q(zak),
+      q(7816) => q(zal),
+      q(7817) => q(zam),
+      q(7818) => q(zao),
+      q(7819) => q(zaq),
+      q(7820) => q(zar),
+      q(7821) => q(zas),
+      q(7822) => q(zat),
+      q(7823) => q(zau),
+      q(7824) => q(zav),
+      q(7825) => q(zaw),
+      q(7826) => q(zax),
+      q(7827) => q(zay),
+      q(7828) => q(zaz),
+      q(7829) => q(zbc),
+      q(7830) => q(zbe),
+      q(7831) => q(zbt),
+      q(7832) => q(zbw),
+      q(7833) => q(zca),
+      q(7834) => q(zch),
+      q(7835) => q(zdj),
+      q(7836) => q(zea),
+      q(7837) => q(zeg),
+      q(7838) => q(zeh),
+      q(7839) => q(zga),
+      q(7840) => q(zgb),
+      q(7841) => q(zgm),
+      q(7842) => q(zgn),
+      q(7843) => q(zgr),
+      q(7844) => q(zhb),
+      q(7845) => q(zhd),
+      q(7846) => q(zhi),
+      q(7847) => q(zhn),
+      q(7848) => q(zhw),
+      q(7849) => q(zia),
+      q(7850) => q(zib),
+      q(7851) => q(zik),
+      q(7852) => q(zil),
+      q(7853) => q(zim),
+      q(7854) => q(zin),
+      q(7855) => q(zir),
+      q(7856) => q(ziw),
+      q(7857) => q(ziz),
+      q(7858) => q(zka),
+      q(7859) => q(zkb),
+      q(7860) => q(zkd),
+      q(7861) => q(zkg),
+      q(7862) => q(zkh),
+      q(7863) => q(zkk),
+      q(7864) => q(zkn),
+      q(7865) => q(zko),
+      q(7866) => q(zkp),
+      q(7867) => q(zkr),
+      q(7868) => q(zkt),
+      q(7869) => q(zku),
+      q(7870) => q(zkv),
+      q(7871) => q(zkz),
+      q(7872) => q(zlj),
+      q(7873) => q(zlm),
+      q(7874) => q(zln),
+      q(7875) => q(zlq),
+      q(7876) => q(zma),
+      q(7877) => q(zmb),
+      q(7878) => q(zmc),
+      q(7879) => q(zmd),
+      q(7880) => q(zme),
+      q(7881) => q(zmf),
+      q(7882) => q(zmg),
+      q(7883) => q(zmh),
+      q(7884) => q(zmi),
+      q(7885) => q(zmj),
+      q(7886) => q(zmk),
+      q(7887) => q(zml),
+      q(7888) => q(zmm),
+      q(7889) => q(zmn),
+      q(7890) => q(zmo),
+      q(7891) => q(zmp),
+      q(7892) => q(zmq),
+      q(7893) => q(zmr),
+      q(7894) => q(zms),
+      q(7895) => q(zmt),
+      q(7896) => q(zmu),
+      q(7897) => q(zmv),
+      q(7898) => q(zmw),
+      q(7899) => q(zmx),
+      q(7900) => q(zmy),
+      q(7901) => q(zmz),
+      q(7902) => q(zna),
+      q(7903) => q(zne),
+      q(7904) => q(zng),
+      q(7905) => q(znk),
+      q(7906) => q(zns),
+      q(7907) => q(zoc),
+      q(7908) => q(zoh),
+      q(7909) => q(zom),
+      q(7910) => q(zoo),
+      q(7911) => q(zoq),
+      q(7912) => q(zor),
+      q(7913) => q(zos),
+      q(7914) => q(zpa),
+      q(7915) => q(zpb),
+      q(7916) => q(zpc),
+      q(7917) => q(zpd),
+      q(7918) => q(zpe),
+      q(7919) => q(zpf),
+      q(7920) => q(zpg),
+      q(7921) => q(zph),
+      q(7922) => q(zpi),
+      q(7923) => q(zpj),
+      q(7924) => q(zpk),
+      q(7925) => q(zpl),
+      q(7926) => q(zpm),
+      q(7927) => q(zpn),
+      q(7928) => q(zpo),
+      q(7929) => q(zpp),
+      q(7930) => q(zpq),
+      q(7931) => q(zpr),
+      q(7932) => q(zps),
+      q(7933) => q(zpt),
+      q(7934) => q(zpu),
+      q(7935) => q(zpv),
+      q(7936) => q(zpw),
+      q(7937) => q(zpx),
+      q(7938) => q(zpy),
+      q(7939) => q(zpz),
+      q(7940) => q(zqe),
+      q(7941) => q(zra),
+      q(7942) => q(zrg),
+      q(7943) => q(zrn),
+      q(7944) => q(zro),
+      q(7945) => q(zrp),
+      q(7946) => q(zrs),
+      q(7947) => q(zsa),
+      q(7948) => q(zsk),
+      q(7949) => q(zsl),
+      q(7950) => q(zsm),
+      q(7951) => q(zsr),
+      q(7952) => q(zsu),
+      q(7953) => q(zte),
+      q(7954) => q(ztg),
+      q(7955) => q(ztl),
+      q(7956) => q(ztm),
+      q(7957) => q(ztn),
+      q(7958) => q(ztp),
+      q(7959) => q(ztq),
+      q(7960) => q(zts),
+      q(7961) => q(ztt),
+      q(7962) => q(ztu),
+      q(7963) => q(ztx),
+      q(7964) => q(zty),
+      q(7965) => q(zua),
+      q(7966) => q(zuh),
+      q(7967) => q(zum),
+      q(7968) => q(zuy),
+      q(7969) => q(zwa),
+      q(7970) => q(zyb),
+      q(7971) => q(zyg),
+      q(7972) => q(zyj),
+      q(7973) => q(zyn),
+      q(7974) => q(zyp),
+      q(7975) => q(zzj),
       },
    q(term) => {
       q(0001) => q(aar),
index f697467..dc8a635 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Language_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Mon Jun  1 13:35:17 EDT 2015
+#    Generated on: Tue Sep  1 09:20:52 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Retired{'language'}{'alpha-2'}{'code'} = {
    q(in) => q(Indonesian),
@@ -185,6 +185,7 @@ $Locale::Codes::Retired{'language'}{'alpha-3'}{'name'} = {
    q(apalik) => [ q(apo), q(Apalik) ],
    q(aramanik) => [ q(aam), q(Aramanik) ],
    q(aromanian) => [ q(rup), q(Aromanian) ],
+   q(atong) => [ q(ato), q(Atong) ],
    q(ayi (china)) => [ q(ayx), q(Ayi (China)) ],
    q(bandjigali) => [ q(bjd), q(Bandjigali) ],
    q(bangi me) => [ q(dba), q(Bangi Me) ],
index e021c58..d181863 100644 (file)
@@ -22,7 +22,7 @@ use Locale::Codes::Script_Retired;
 
 our($VERSION,@ISA,@EXPORT,@EXPORT_OK);
 
-$VERSION='3.35';
+$VERSION='3.36';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(code2script
                 script2code
index d4dd585..96e1824 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Script_Codes;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'harvest_data' is run.
-#    Generated on: Mon Jun  1 10:50:41 EDT 2015
+#    Generated on: Tue Sep  1 09:16:30 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,9 +11,9 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
-$Locale::Codes::Data{'script'}{'id'} = '0173';
+$Locale::Codes::Data{'script'}{'id'} = '0175';
 
 $Locale::Codes::Data{'script'}{'id2names'} = {
    q(0001) => [
@@ -61,560 +61,566 @@ $Locale::Codes::Data{'script'}{'id2names'} = {
       q(Bengali),
       ],
    q(0015) => [
-      q(Blissymbols),
+      q(Bhaiksuki),
       ],
    q(0016) => [
-      q(Bopomofo),
+      q(Blissymbols),
       ],
    q(0017) => [
-      q(Brahmi),
+      q(Bopomofo),
       ],
    q(0018) => [
-      q(Braille),
+      q(Brahmi),
       ],
    q(0019) => [
-      q(Buginese),
+      q(Braille),
       ],
    q(0020) => [
-      q(Buhid),
+      q(Buginese),
       ],
    q(0021) => [
-      q(Chakma),
+      q(Buhid),
       ],
    q(0022) => [
-      q(Unified Canadian Aboriginal Syllabics),
+      q(Chakma),
       ],
    q(0023) => [
-      q(Carian),
+      q(Unified Canadian Aboriginal Syllabics),
       ],
    q(0024) => [
-      q(Cham),
+      q(Carian),
       ],
    q(0025) => [
-      q(Cherokee),
+      q(Cham),
       ],
    q(0026) => [
-      q(Cirth),
+      q(Cherokee),
       ],
    q(0027) => [
-      q(Coptic),
+      q(Cirth),
       ],
    q(0028) => [
-      q(Cypriot),
+      q(Coptic),
       ],
    q(0029) => [
-      q(Cyrillic),
+      q(Cypriot),
       ],
    q(0030) => [
-      q(Cyrillic (Old Church Slavonic variant)),
+      q(Cyrillic),
       ],
    q(0031) => [
+      q(Cyrillic (Old Church Slavonic variant)),
+      ],
+   q(0032) => [
       q(Devanagari (Nagari)),
       q(Devanagari),
       q(Nagari),
       ],
-   q(0032) => [
+   q(0033) => [
       q(Deseret (Mormon)),
       q(Deseret),
       q(Mormon),
       ],
-   q(0033) => [
+   q(0034) => [
       q(Duployan shorthand, Duployan stenography),
       q(Duployan shorthand),
       q(Duployan stenography),
       ],
-   q(0034) => [
+   q(0035) => [
       q(Egyptian demotic),
       ],
-   q(0035) => [
+   q(0036) => [
       q(Egyptian hieratic),
       ],
-   q(0036) => [
+   q(0037) => [
       q(Egyptian hieroglyphs),
       ],
-   q(0037) => [
+   q(0038) => [
       q(Elbasan),
       ],
-   q(0038) => [
+   q(0039) => [
       q(Ethiopic (Geez)),
       q(Ethiopic),
       q(Ge'ez),
       ],
-   q(0039) => [
+   q(0040) => [
       q(Khutsuri (Asomtavruli and Nuskhuri)),
       ],
-   q(0040) => [
+   q(0041) => [
       q(Georgian (Mkhedruli)),
       ],
-   q(0041) => [
+   q(0042) => [
       q(Glagolitic),
       ],
-   q(0042) => [
+   q(0043) => [
       q(Gothic),
       ],
-   q(0043) => [
+   q(0044) => [
       q(Grantha),
       ],
-   q(0044) => [
+   q(0045) => [
       q(Greek),
       ],
-   q(0045) => [
+   q(0046) => [
       q(Gujarati),
       ],
-   q(0046) => [
+   q(0047) => [
       q(Gurmukhi),
       ],
-   q(0047) => [
+   q(0048) => [
       q(Hangul (Hangul, Hangeul)),
       q(Hangul),
       q(Hangeul),
       ],
-   q(0048) => [
+   q(0049) => [
       q(Han (Hanzi, Kanji, Hanja)),
       q(Han),
       q(Hanzi),
       q(Kanji),
       q(Hanja),
       ],
-   q(0049) => [
+   q(0050) => [
       q(Hanunoo (Hanunoo)),
       q(Hanunoo),
       ],
-   q(0050) => [
+   q(0051) => [
       q(Han (Simplified variant)),
       ],
-   q(0051) => [
+   q(0052) => [
       q(Han (Traditional variant)),
       ],
-   q(0052) => [
+   q(0053) => [
       q(Hatran),
       ],
-   q(0053) => [
+   q(0054) => [
       q(Hebrew),
       ],
-   q(0054) => [
+   q(0055) => [
       q(Hiragana),
       ],
-   q(0055) => [
+   q(0056) => [
       q(Anatolian Hieroglyphs (Luwian Hieroglyphs, Hittite Hieroglyphs)),
       q(Anatolian Hieroglyphs),
       q(Luwian Hieroglyphs),
       q(Hittite Hieroglyphs),
       ],
-   q(0056) => [
+   q(0057) => [
       q(Pahawh Hmong),
       ],
-   q(0057) => [
+   q(0058) => [
       q(Japanese syllabaries (alias for Hiragana + Katakana)),
       ],
-   q(0058) => [
+   q(0059) => [
       q(Old Hungarian (Hungarian Runic)),
       q(Old Hungarian),
       q(Hungarian Runic),
       ],
-   q(0059) => [
+   q(0060) => [
       q(Indus (Harappan)),
       q(Indus),
       q(Harappan),
       ],
-   q(0060) => [
+   q(0061) => [
       q(Old Italic (Etruscan, Oscan, etc.)),
       ],
-   q(0061) => [
+   q(0062) => [
       q(Javanese),
       ],
-   q(0062) => [
+   q(0063) => [
       q(Japanese (alias for Han + Hiragana + Katakana)),
       ],
-   q(0063) => [
+   q(0064) => [
       q(Jurchen),
       ],
-   q(0064) => [
+   q(0065) => [
       q(Kayah Li),
       ],
-   q(0065) => [
+   q(0066) => [
       q(Katakana),
       ],
-   q(0066) => [
+   q(0067) => [
       q(Kharoshthi),
       ],
-   q(0067) => [
+   q(0068) => [
       q(Khmer),
       ],
-   q(0068) => [
+   q(0069) => [
       q(Khojki),
       ],
-   q(0069) => [
+   q(0070) => [
       q(Khitan large script),
       ],
-   q(0070) => [
+   q(0071) => [
       q(Khitan small script),
       ],
-   q(0071) => [
+   q(0072) => [
       q(Kannada),
       ],
-   q(0072) => [
+   q(0073) => [
       q(Korean (alias for Hangul + Han)),
       ],
-   q(0073) => [
+   q(0074) => [
       q(Kpelle),
       ],
-   q(0074) => [
+   q(0075) => [
       q(Kaithi),
       ],
-   q(0075) => [
+   q(0076) => [
       q(Tai Tham (Lanna)),
       q(Tai Tham),
       q(Lanna),
       ],
-   q(0076) => [
+   q(0077) => [
       q(Lao),
       ],
-   q(0077) => [
+   q(0078) => [
       q(Latin (Fraktur variant)),
       ],
-   q(0078) => [
+   q(0079) => [
       q(Latin (Gaelic variant)),
       ],
-   q(0079) => [
+   q(0080) => [
       q(Latin),
       ],
-   q(0080) => [
+   q(0081) => [
+      q(Leke),
+      ],
+   q(0082) => [
       q(Lepcha (Rong)),
       q(Lepcha),
       q(Rong),
       ],
-   q(0081) => [
+   q(0083) => [
       q(Limbu),
       ],
-   q(0082) => [
+   q(0084) => [
       q(Linear A),
       ],
-   q(0083) => [
+   q(0085) => [
       q(Linear B),
       ],
-   q(0084) => [
+   q(0086) => [
       q(Lisu (Fraser)),
       q(Lisu),
       q(Fraser),
       ],
-   q(0085) => [
+   q(0087) => [
       q(Loma),
       ],
-   q(0086) => [
+   q(0088) => [
       q(Lycian),
       ],
-   q(0087) => [
+   q(0089) => [
       q(Lydian),
       ],
-   q(0088) => [
+   q(0090) => [
       q(Mahajani),
       ],
-   q(0089) => [
+   q(0091) => [
       q(Mandaic, Mandaean),
       q(Mandaic),
       q(Mandaean),
       ],
-   q(0090) => [
+   q(0092) => [
       q(Manichaean),
       ],
-   q(0091) => [
+   q(0093) => [
       q(Marchen),
       ],
-   q(0092) => [
+   q(0094) => [
       q(Mayan hieroglyphs),
       ],
-   q(0093) => [
+   q(0095) => [
       q(Mende Kikakui),
       ],
-   q(0094) => [
+   q(0096) => [
       q(Meroitic Cursive),
       ],
-   q(0095) => [
+   q(0097) => [
       q(Meroitic Hieroglyphs),
       ],
-   q(0096) => [
+   q(0098) => [
       q(Malayalam),
       ],
-   q(0097) => [
+   q(0099) => [
       q(Modi, Modi),
       q(Modi),
       ],
-   q(0098) => [
+   q(0100) => [
       q(Mongolian),
       ],
-   q(0099) => [
+   q(0101) => [
       q(Moon (Moon code, Moon script, Moon type)),
       q(Moon),
       q(Moon code),
       q(Moon script),
       q(Moon type),
       ],
-   q(0100) => [
+   q(0102) => [
       q(Mro, Mru),
       q(Mro),
       q(Mru),
       ],
-   q(0101) => [
+   q(0103) => [
       q(Meitei Mayek (Meithei, Meetei)),
       q(Meitei Mayek),
       q(Meithei),
       q(Meetei),
       ],
-   q(0102) => [
+   q(0104) => [
       q(Multani),
       ],
-   q(0103) => [
+   q(0105) => [
       q(Myanmar (Burmese)),
       q(Myanmar),
       q(Burmese),
       ],
-   q(0104) => [
+   q(0106) => [
       q(Old North Arabian (Ancient North Arabian)),
       q(Old North Arabian),
       q(Ancient North Arabian),
       ],
-   q(0105) => [
+   q(0107) => [
       q(Nabataean),
       ],
-   q(0106) => [
+   q(0108) => [
       q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)),
       q(Nakhi Geba),
       q('Na-'Khi Ggo-baw),
       q(Naxi Geba),
       ],
-   q(0107) => [
+   q(0109) => [
       q(N'Ko),
       ],
-   q(0108) => [
+   q(0110) => [
       q(Nushu),
       ],
-   q(0109) => [
+   q(0111) => [
       q(Ogham),
       ],
-   q(0110) => [
+   q(0112) => [
       q(Ol Chiki (Ol Cemet, Ol, Santali)),
       q(Ol Chiki),
       q(Ol Cemet'),
       q(Ol),
       q(Santali),
       ],
-   q(0111) => [
+   q(0113) => [
       q(Old Turkic, Orkhon Runic),
       q(Old Turkic),
       q(Orkhon Runic),
       ],
-   q(0112) => [
+   q(0114) => [
       q(Oriya),
       ],
-   q(0113) => [
+   q(0115) => [
       q(Osage),
       ],
-   q(0114) => [
+   q(0116) => [
       q(Osmanya),
       ],
-   q(0115) => [
+   q(0117) => [
       q(Palmyrene),
       ],
-   q(0116) => [
+   q(0118) => [
       q(Pau Cin Hau),
       ],
-   q(0117) => [
+   q(0119) => [
       q(Old Permic),
       ],
-   q(0118) => [
+   q(0120) => [
       q(Phags-pa),
       ],
-   q(0119) => [
+   q(0121) => [
       q(Inscriptional Pahlavi),
       ],
-   q(0120) => [
+   q(0122) => [
       q(Psalter Pahlavi),
       ],
-   q(0121) => [
+   q(0123) => [
       q(Book Pahlavi),
       ],
-   q(0122) => [
+   q(0124) => [
       q(Phoenician),
       ],
-   q(0123) => [
+   q(0125) => [
       q(Miao (Pollard)),
       q(Miao),
       q(Pollard),
       ],
-   q(0124) => [
+   q(0126) => [
       q(Inscriptional Parthian),
       ],
-   q(0125) => [
+   q(0127) => [
       q(Reserved for private use (start)),
       ],
-   q(0126) => [
+   q(0128) => [
       q(Reserved for private use (end)),
       ],
-   q(0127) => [
+   q(0129) => [
       q(Rejang (Redjang, Kaganga)),
       q(Rejang),
       q(Redjang),
       q(Kaganga),
       ],
-   q(0128) => [
+   q(0130) => [
       q(Rongorongo),
       ],
-   q(0129) => [
+   q(0131) => [
       q(Runic),
       ],
-   q(0130) => [
+   q(0132) => [
       q(Samaritan),
       ],
-   q(0131) => [
+   q(0133) => [
       q(Sarati),
       ],
-   q(0132) => [
+   q(0134) => [
       q(Old South Arabian),
       ],
-   q(0133) => [
+   q(0135) => [
       q(Saurashtra),
       ],
-   q(0134) => [
+   q(0136) => [
       q(SignWriting),
       ],
-   q(0135) => [
+   q(0137) => [
       q(Shavian (Shaw)),
       q(Shavian),
       q(Shaw),
       ],
-   q(0136) => [
+   q(0138) => [
       q(Sharada, Sarada),
       q(Sharada),
       q(Sarada),
       ],
-   q(0137) => [
+   q(0139) => [
       q(Siddham, Siddham, Siddhamatrka),
       q(Siddham),
       q(Siddhamatrka),
       ],
-   q(0138) => [
+   q(0140) => [
       q(Khudawadi, Sindhi),
       q(Khudawadi),
       q(Sindhi),
       ],
-   q(0139) => [
+   q(0141) => [
       q(Sinhala),
       ],
-   q(0140) => [
+   q(0142) => [
       q(Sora Sompeng),
       ],
-   q(0141) => [
+   q(0143) => [
       q(Sundanese),
       ],
-   q(0142) => [
+   q(0144) => [
       q(Syloti Nagri),
       ],
-   q(0143) => [
+   q(0145) => [
       q(Syriac),
       ],
-   q(0144) => [
+   q(0146) => [
       q(Syriac (Estrangelo variant)),
       ],
-   q(0145) => [
+   q(0147) => [
       q(Syriac (Western variant)),
       ],
-   q(0146) => [
+   q(0148) => [
       q(Syriac (Eastern variant)),
       ],
-   q(0147) => [
+   q(0149) => [
       q(Tagbanwa),
       ],
-   q(0148) => [
+   q(0150) => [
       q(Takri, Takri, Tankri),
       q(Takri),
       q(Tankri),
       ],
-   q(0149) => [
+   q(0151) => [
       q(Tai Le),
       ],
-   q(0150) => [
+   q(0152) => [
       q(New Tai Lue),
       ],
-   q(0151) => [
+   q(0153) => [
       q(Tamil),
       ],
-   q(0152) => [
+   q(0154) => [
       q(Tangut),
       ],
-   q(0153) => [
+   q(0155) => [
       q(Tai Viet),
       ],
-   q(0154) => [
+   q(0156) => [
       q(Telugu),
       ],
-   q(0155) => [
+   q(0157) => [
       q(Tengwar),
       ],
-   q(0156) => [
+   q(0158) => [
       q(Tifinagh (Berber)),
       q(Tifinagh),
       q(Berber),
       ],
-   q(0157) => [
+   q(0159) => [
       q(Tagalog (Baybayin, Alibata)),
       q(Tagalog),
       q(Baybayin),
       q(Alibata),
       ],
-   q(0158) => [
+   q(0160) => [
       q(Thaana),
       ],
-   q(0159) => [
+   q(0161) => [
       q(Thai),
       ],
-   q(0160) => [
+   q(0162) => [
       q(Tibetan),
       ],
-   q(0161) => [
+   q(0163) => [
       q(Tirhuta),
       ],
-   q(0162) => [
+   q(0164) => [
       q(Ugaritic),
       ],
-   q(0163) => [
+   q(0165) => [
       q(Vai),
       ],
-   q(0164) => [
+   q(0166) => [
       q(Visible Speech),
       ],
-   q(0165) => [
+   q(0167) => [
       q(Warang Citi (Varang Kshiti)),
       q(Warang Citi),
       q(Varang Kshiti),
       ],
-   q(0166) => [
+   q(0168) => [
       q(Woleai),
       ],
-   q(0167) => [
+   q(0169) => [
       q(Old Persian),
       ],
-   q(0168) => [
+   q(0170) => [
       q(Cuneiform, Sumero-Akkadian),
       q(Sumero-Akkadian cuneiform),
       ],
-   q(0169) => [
+   q(0171) => [
       q(Yi),
       ],
-   q(0170) => [
+   q(0172) => [
       q(Code for inherited script),
       ],
-   q(0171) => [
+   q(0173) => [
       q(Mathematical notation),
       ],
-   q(0172) => [
+   q(0174) => [
       q(Symbols),
       ],
 };
 
 $Locale::Codes::Data{'script'}{'alias2id'} = {
    q('na-'khi ggo-baw) => [
-      q(0106),
+      q(0108),
       q(2),
       ],
    q(adlam) => [
@@ -634,19 +640,19 @@ $Locale::Codes::Data{'script'}{'alias2id'} = {
       q(0),
       ],
    q(alibata) => [
-      q(0157),
+      q(0159),
       q(3),
       ],
    q(anatolian hieroglyphs) => [
-      q(0055),
+      q(0056),
       q(1),
       ],
    q(anatolian hieroglyphs (luwian hieroglyphs, hittite hieroglyphs)) => [
-      q(0055),
+      q(0056),
       q(0),
       ],
    q(ancient north arabian) => [
-      q(0104),
+      q(0106),
       q(2),
       ],
    q(arabic) => [
@@ -682,7 +688,7 @@ $Locale::Codes::Data{'script'}{'alias2id'} = {
       q(0),
       ],
    q(baybayin) => [
-      q(0157),
+      q(0159),
       q(2),
       ],
    q(bengali) => [
@@ -690,43 +696,47 @@ $Locale::Codes::Data{'script'}{'alias2id'} = {
       q(0),
       ],
    q(berber) => [
-      q(0156),
+      q(0158),
       q(2),
       ],
-   q(blissymbols) => [
+   q(bhaiksuki) => [
       q(0015),
       q(0),
       ],
+   q(blissymbols) => [
+      q(0016),
+      q(0),
+      ],
    q(book pahlavi) => [
-      q(0121),
+      q(0123),
       q(0),
       ],
    q(bopomofo) => [
-      q(0016),
+      q(0017),
       q(0),
       ],
    q(brahmi) => [
-      q(0017),
+      q(0018),
       q(0),
       ],
    q(braille) => [
-      q(0018),
+      q(0019),
       q(0),
       ],
    q(buginese) => [
-      q(0019),
+      q(0020),
       q(0),
       ],
    q(buhid) => [
-      q(0020),
+      q(0021),
       q(0),
       ],
    q(burmese) => [
-      q(0103),
+      q(0105),
       q(2),
       ],
    q(carian) => [
-      q(0023),
+      q(0024),
       q(0),
       ],
    q(caucasian albanian) => [
@@ -734,199 +744,199 @@ $Locale::Codes::Data{'script'}{'alias2id'} = {
       q(0),
       ],
    q(chakma) => [
-      q(0021),
+      q(0022),
       q(0),
       ],
    q(cham) => [
-      q(0024),
+      q(0025),
       q(0),
       ],
    q(cherokee) => [
-      q(0025),
+      q(0026),
       q(0),
       ],
    q(cirth) => [
-      q(0026),
+      q(0027),
       q(0),
       ],
    q(code for inherited script) => [
-      q(0170),
+      q(0172),
       q(0),
       ],
    q(coptic) => [
-      q(0027),
+      q(0028),
       q(0),
       ],
    q(cuneiform, sumero-akkadian) => [
-      q(0168),
+      q(0170),
       q(0),
       ],
    q(cypriot) => [
-      q(0028),
+      q(0029),
       q(0),
       ],
    q(cyrillic) => [
-      q(0029),
+      q(0030),
       q(0),
       ],
    q(cyrillic (old church slavonic variant)) => [
-      q(0030),
+      q(0031),
       q(0),
       ],
    q(deseret) => [
-      q(0032),
+      q(0033),
       q(1),
       ],
    q(deseret (mormon)) => [
-      q(0032),
+      q(0033),
       q(0),
       ],
    q(devanagari) => [
-      q(0031),
+      q(0032),
       q(1),
       ],
    q(devanagari (nagari)) => [
-      q(0031),
+      q(0032),
       q(0),
       ],
    q(duployan shorthand) => [
-      q(0033),
+      q(0034),
       q(1),
       ],
    q(duployan shorthand, duployan stenography) => [
-      q(0033),
+      q(0034),
       q(0),
       ],
    q(duployan stenography) => [
-      q(0033),
+      q(0034),
       q(2),
       ],
    q(egyptian demotic) => [
-      q(0034),
+      q(0035),
       q(0),
       ],
    q(egyptian hieratic) => [
-      q(0035),
+      q(0036),
       q(0),
       ],
    q(egyptian hieroglyphs) => [
-      q(0036),
+      q(0037),
       q(0),
       ],
    q(elbasan) => [
-      q(0037),
+      q(0038),
       q(0),
       ],
    q(ethiopic) => [
-      q(0038),
+      q(0039),
       q(1),
       ],
    q(ethiopic (geez)) => [
-      q(0038),
+      q(0039),
       q(0),
       ],
    q(fraser) => [
-      q(0084),
+      q(0086),
       q(2),
       ],
    q(ge'ez) => [
-      q(0038),
+      q(0039),
       q(2),
       ],
    q(georgian (mkhedruli)) => [
-      q(0040),
+      q(0041),
       q(0),
       ],
    q(glagolitic) => [
-      q(0041),
+      q(0042),
       q(0),
       ],
    q(gothic) => [
-      q(0042),
+      q(0043),
       q(0),
       ],
    q(grantha) => [
-      q(0043),
+      q(0044),
       q(0),
       ],
    q(greek) => [
-      q(0044),
+      q(0045),
       q(0),
       ],
    q(gujarati) => [
-      q(0045),
+      q(0046),
       q(0),
       ],
    q(gurmukhi) => [
-      q(0046),
+      q(0047),
       q(0),
       ],
    q(han) => [
-      q(0048),
+      q(0049),
       q(1),
       ],
    q(han (hanzi, kanji, hanja)) => [
-      q(0048),
+      q(0049),
       q(0),
       ],
    q(han (simplified variant)) => [
-      q(0050),
+      q(0051),
       q(0),
       ],
    q(han (traditional variant)) => [
-      q(0051),
+      q(0052),
       q(0),
       ],
    q(hangeul) => [
-      q(0047),
+      q(0048),
       q(2),
       ],
    q(hangul) => [
-      q(0047),
+      q(0048),
       q(1),
       ],
    q(hangul (hangul, hangeul)) => [
-      q(0047),
+      q(0048),
       q(0),
       ],
    q(hanja) => [
-      q(0048),
+      q(0049),
       q(4),
       ],
    q(hanunoo) => [
-      q(0049),
+      q(0050),
       q(1),
       ],
    q(hanunoo (hanunoo)) => [
-      q(0049),
+      q(0050),
       q(0),
       ],
    q(hanzi) => [
-      q(0048),
+      q(0049),
       q(2),
       ],
    q(harappan) => [
-      q(0059),
+      q(0060),
       q(2),
       ],
    q(hatran) => [
-      q(0052),
+      q(0053),
       q(0),
       ],
    q(hebrew) => [
-      q(0053),
+      q(0054),
       q(0),
       ],
    q(hiragana) => [
-      q(0054),
+      q(0055),
       q(0),
       ],
    q(hittite hieroglyphs) => [
-      q(0055),
+      q(0056),
       q(3),
       ],
    q(hungarian runic) => [
-      q(0058),
+      q(0059),
       q(2),
       ],
    q(imperial aramaic) => [
@@ -934,575 +944,579 @@ $Locale::Codes::Data{'script'}{'alias2id'} = {
       q(0),
       ],
    q(indus) => [
-      q(0059),
+      q(0060),
       q(1),
       ],
    q(indus (harappan)) => [
-      q(0059),
+      q(0060),
       q(0),
       ],
    q(inscriptional pahlavi) => [
-      q(0119),
+      q(0121),
       q(0),
       ],
    q(inscriptional parthian) => [
-      q(0124),
+      q(0126),
       q(0),
       ],
    q(japanese (alias for han + hiragana + katakana)) => [
-      q(0062),
+      q(0063),
       q(0),
       ],
    q(japanese syllabaries (alias for hiragana + katakana)) => [
-      q(0057),
+      q(0058),
       q(0),
       ],
    q(javanese) => [
-      q(0061),
+      q(0062),
       q(0),
       ],
    q(jurchen) => [
-      q(0063),
+      q(0064),
       q(0),
       ],
    q(kaganga) => [
-      q(0127),
+      q(0129),
       q(3),
       ],
    q(kaithi) => [
-      q(0074),
+      q(0075),
       q(0),
       ],
    q(kanji) => [
-      q(0048),
+      q(0049),
       q(3),
       ],
    q(kannada) => [
-      q(0071),
+      q(0072),
       q(0),
       ],
    q(katakana) => [
-      q(0065),
+      q(0066),
       q(0),
       ],
    q(kayah li) => [
-      q(0064),
+      q(0065),
       q(0),
       ],
    q(kharoshthi) => [
-      q(0066),
+      q(0067),
       q(0),
       ],
    q(khitan large script) => [
-      q(0069),
+      q(0070),
       q(0),
       ],
    q(khitan small script) => [
-      q(0070),
+      q(0071),
       q(0),
       ],
    q(khmer) => [
-      q(0067),
+      q(0068),
       q(0),
       ],
    q(khojki) => [
-      q(0068),
+      q(0069),
       q(0),
       ],
    q(khudawadi) => [
-      q(0138),
+      q(0140),
       q(1),
       ],
    q(khudawadi, sindhi) => [
-      q(0138),
+      q(0140),
       q(0),
       ],
    q(khutsuri (asomtavruli and nuskhuri)) => [
-      q(0039),
+      q(0040),
       q(0),
       ],
    q(korean (alias for hangul + han)) => [
-      q(0072),
+      q(0073),
       q(0),
       ],
    q(kpelle) => [
-      q(0073),
+      q(0074),
       q(0),
       ],
    q(lanna) => [
-      q(0075),
+      q(0076),
       q(2),
       ],
    q(lao) => [
-      q(0076),
+      q(0077),
       q(0),
       ],
    q(latin) => [
-      q(0079),
+      q(0080),
       q(0),
       ],
    q(latin (fraktur variant)) => [
-      q(0077),
+      q(0078),
       q(0),
       ],
    q(latin (gaelic variant)) => [
-      q(0078),
+      q(0079),
+      q(0),
+      ],
+   q(leke) => [
+      q(0081),
       q(0),
       ],
    q(lepcha) => [
-      q(0080),
+      q(0082),
       q(1),
       ],
    q(lepcha (rong)) => [
-      q(0080),
+      q(0082),
       q(0),
       ],
    q(limbu) => [
-      q(0081),
+      q(0083),
       q(0),
       ],
    q(linear a) => [
-      q(0082),
+      q(0084),
       q(0),
       ],
    q(linear b) => [
-      q(0083),
+      q(0085),
       q(0),
       ],
    q(lisu) => [
-      q(0084),
+      q(0086),
       q(1),
       ],
    q(lisu (fraser)) => [
-      q(0084),
+      q(0086),
       q(0),
       ],
    q(loma) => [
-      q(0085),
+      q(0087),
       q(0),
       ],
    q(luwian hieroglyphs) => [
-      q(0055),
+      q(0056),
       q(2),
       ],
    q(lycian) => [
-      q(0086),
+      q(0088),
       q(0),
       ],
    q(lydian) => [
-      q(0087),
+      q(0089),
       q(0),
       ],
    q(mahajani) => [
-      q(0088),
+      q(0090),
       q(0),
       ],
    q(malayalam) => [
-      q(0096),
+      q(0098),
       q(0),
       ],
    q(mandaean) => [
-      q(0089),
+      q(0091),
       q(2),
       ],
    q(mandaic) => [
-      q(0089),
+      q(0091),
       q(1),
       ],
    q(mandaic, mandaean) => [
-      q(0089),
+      q(0091),
       q(0),
       ],
    q(manichaean) => [
-      q(0090),
+      q(0092),
       q(0),
       ],
    q(marchen) => [
-      q(0091),
+      q(0093),
       q(0),
       ],
    q(mathematical notation) => [
-      q(0171),
+      q(0173),
       q(0),
       ],
    q(mayan hieroglyphs) => [
-      q(0092),
+      q(0094),
       q(0),
       ],
    q(meetei) => [
-      q(0101),
+      q(0103),
       q(3),
       ],
    q(meitei mayek) => [
-      q(0101),
+      q(0103),
       q(1),
       ],
    q(meitei mayek (meithei, meetei)) => [
-      q(0101),
+      q(0103),
       q(0),
       ],
    q(meithei) => [
-      q(0101),
+      q(0103),
       q(2),
       ],
    q(mende kikakui) => [
-      q(0093),
+      q(0095),
       q(0),
       ],
    q(meroitic cursive) => [
-      q(0094),
+      q(0096),
       q(0),
       ],
    q(meroitic hieroglyphs) => [
-      q(0095),
+      q(0097),
       q(0),
       ],
    q(miao) => [
-      q(0123),
+      q(0125),
       q(1),
       ],
    q(miao (pollard)) => [
-      q(0123),
+      q(0125),
       q(0),
       ],
    q(modi) => [
-      q(0097),
+      q(0099),
       q(1),
       ],
    q(modi, modi) => [
-      q(0097),
+      q(0099),
       q(0),
       ],
    q(mongolian) => [
-      q(0098),
+      q(0100),
       q(0),
       ],
    q(moon) => [
-      q(0099),
+      q(0101),
       q(1),
       ],
    q(moon (moon code, moon script, moon type)) => [
-      q(0099),
+      q(0101),
       q(0),
       ],
    q(moon code) => [
-      q(0099),
+      q(0101),
       q(2),
       ],
    q(moon script) => [
-      q(0099),
+      q(0101),
       q(3),
       ],
    q(moon type) => [
-      q(0099),
+      q(0101),
       q(4),
       ],
    q(mormon) => [
-      q(0032),
+      q(0033),
       q(2),
       ],
    q(mro) => [
-      q(0100),
+      q(0102),
       q(1),
       ],
    q(mro, mru) => [
-      q(0100),
+      q(0102),
       q(0),
       ],
    q(mru) => [
-      q(0100),
+      q(0102),
       q(2),
       ],
    q(multani) => [
-      q(0102),
+      q(0104),
       q(0),
       ],
    q(myanmar) => [
-      q(0103),
+      q(0105),
       q(1),
       ],
    q(myanmar (burmese)) => [
-      q(0103),
+      q(0105),
       q(0),
       ],
    q(n'ko) => [
-      q(0107),
+      q(0109),
       q(0),
       ],
    q(nabataean) => [
-      q(0105),
+      q(0107),
       q(0),
       ],
    q(nagari) => [
-      q(0031),
+      q(0032),
       q(2),
       ],
    q(nakhi geba) => [
-      q(0106),
+      q(0108),
       q(1),
       ],
    q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [
-      q(0106),
+      q(0108),
       q(0),
       ],
    q(naxi geba) => [
-      q(0106),
+      q(0108),
       q(3),
       ],
    q(new tai lue) => [
-      q(0150),
+      q(0152),
       q(0),
       ],
    q(nushu) => [
-      q(0108),
+      q(0110),
       q(0),
       ],
    q(ogham) => [
-      q(0109),
+      q(0111),
       q(0),
       ],
    q(ol) => [
-      q(0110),
+      q(0112),
       q(3),
       ],
    q(ol cemet') => [
-      q(0110),
+      q(0112),
       q(2),
       ],
    q(ol chiki) => [
-      q(0110),
+      q(0112),
       q(1),
       ],
    q(ol chiki (ol cemet, ol, santali)) => [
-      q(0110),
+      q(0112),
       q(0),
       ],
    q(old hungarian) => [
-      q(0058),
+      q(0059),
       q(1),
       ],
    q(old hungarian (hungarian runic)) => [
-      q(0058),
+      q(0059),
       q(0),
       ],
    q(old italic (etruscan, oscan, etc.)) => [
-      q(0060),
+      q(0061),
       q(0),
       ],
    q(old north arabian) => [
-      q(0104),
+      q(0106),
       q(1),
       ],
    q(old north arabian (ancient north arabian)) => [
-      q(0104),
+      q(0106),
       q(0),
       ],
    q(old permic) => [
-      q(0117),
+      q(0119),
       q(0),
       ],
    q(old persian) => [
-      q(0167),
+      q(0169),
       q(0),
       ],
    q(old south arabian) => [
-      q(0132),
+      q(0134),
       q(0),
       ],
    q(old turkic) => [
-      q(0111),
+      q(0113),
       q(1),
       ],
    q(old turkic, orkhon runic) => [
-      q(0111),
+      q(0113),
       q(0),
       ],
    q(oriya) => [
-      q(0112),
+      q(0114),
       q(0),
       ],
    q(orkhon runic) => [
-      q(0111),
+      q(0113),
       q(2),
       ],
    q(osage) => [
-      q(0113),
+      q(0115),
       q(0),
       ],
    q(osmanya) => [
-      q(0114),
+      q(0116),
       q(0),
       ],
    q(pahawh hmong) => [
-      q(0056),
+      q(0057),
       q(0),
       ],
    q(palmyrene) => [
-      q(0115),
+      q(0117),
       q(0),
       ],
    q(pau cin hau) => [
-      q(0116),
+      q(0118),
       q(0),
       ],
    q(phags-pa) => [
-      q(0118),
+      q(0120),
       q(0),
       ],
    q(phoenician) => [
-      q(0122),
+      q(0124),
       q(0),
       ],
    q(pollard) => [
-      q(0123),
+      q(0125),
       q(2),
       ],
    q(psalter pahlavi) => [
-      q(0120),
+      q(0122),
       q(0),
       ],
    q(redjang) => [
-      q(0127),
+      q(0129),
       q(2),
       ],
    q(rejang) => [
-      q(0127),
+      q(0129),
       q(1),
       ],
    q(rejang (redjang, kaganga)) => [
-      q(0127),
+      q(0129),
       q(0),
       ],
    q(reserved for private use (end)) => [
-      q(0126),
+      q(0128),
       q(0),
       ],
    q(reserved for private use (start)) => [
-      q(0125),
+      q(0127),
       q(0),
       ],
    q(rong) => [
-      q(0080),
+      q(0082),
       q(2),
       ],
    q(rongorongo) => [
-      q(0128),
+      q(0130),
       q(0),
       ],
    q(runic) => [
-      q(0129),
+      q(0131),
       q(0),
       ],
    q(samaritan) => [
-      q(0130),
+      q(0132),
       q(0),
       ],
    q(santali) => [
-      q(0110),
+      q(0112),
       q(4),
       ],
    q(sarada) => [
-      q(0136),
+      q(0138),
       q(2),
       ],
    q(sarati) => [
-      q(0131),
+      q(0133),
       q(0),
       ],
    q(saurashtra) => [
-      q(0133),
+      q(0135),
       q(0),
       ],
    q(sharada) => [
-      q(0136),
+      q(0138),
       q(1),
       ],
    q(sharada, sarada) => [
-      q(0136),
+      q(0138),
       q(0),
       ],
    q(shavian) => [
-      q(0135),
+      q(0137),
       q(1),
       ],
    q(shavian (shaw)) => [
-      q(0135),
+      q(0137),
       q(0),
       ],
    q(shaw) => [
-      q(0135),
+      q(0137),
       q(2),
       ],
    q(siddham) => [
-      q(0137),
+      q(0139),
       q(1),
       ],
    q(siddham, siddham, siddhamatrka) => [
-      q(0137),
+      q(0139),
       q(0),
       ],
    q(siddhamatrka) => [
-      q(0137),
+      q(0139),
       q(2),
       ],
    q(signwriting) => [
-      q(0134),
+      q(0136),
       q(0),
       ],
    q(sindhi) => [
-      q(0138),
+      q(0140),
       q(2),
       ],
    q(sinhala) => [
-      q(0139),
+      q(0141),
       q(0),
       ],
    q(sora sompeng) => [
-      q(0140),
+      q(0142),
       q(0),
       ],
    q(sumero-akkadian cuneiform) => [
-      q(0168),
+      q(0170),
       q(1),
       ],
    q(sundanese) => [
-      q(0141),
+      q(0143),
       q(0),
       ],
    q(syloti nagri) => [
-      q(0142),
+      q(0144),
       q(0),
       ],
    q(symbols) => [
-      q(0172),
+      q(0174),
       q(0),
       ],
    q(syriac) => [
-      q(0143),
+      q(0145),
       q(0),
       ],
    q(syriac (eastern variant)) => [
-      q(0146),
+      q(0148),
       q(0),
       ],
    q(syriac (estrangelo variant)) => [
-      q(0144),
+      q(0146),
       q(0),
       ],
    q(syriac (western variant)) => [
-      q(0145),
+      q(0147),
       q(0),
       ],
    q(tagalog) => [
-      q(0157),
+      q(0159),
       q(1),
       ],
    q(tagalog (baybayin, alibata)) => [
-      q(0157),
+      q(0159),
       q(0),
       ],
    q(tagbanwa) => [
-      q(0147),
+      q(0149),
       q(0),
       ],
    q(tai ahom) => [
@@ -1510,107 +1524,107 @@ $Locale::Codes::Data{'script'}{'alias2id'} = {
       q(2),
       ],
    q(tai le) => [
-      q(0149),
+      q(0151),
       q(0),
       ],
    q(tai tham) => [
-      q(0075),
+      q(0076),
       q(1),
       ],
    q(tai tham (lanna)) => [
-      q(0075),
+      q(0076),
       q(0),
       ],
    q(tai viet) => [
-      q(0153),
+      q(0155),
       q(0),
       ],
    q(takri) => [
-      q(0148),
+      q(0150),
       q(1),
       ],
    q(takri, takri, tankri) => [
-      q(0148),
+      q(0150),
       q(0),
       ],
    q(tamil) => [
-      q(0151),
+      q(0153),
       q(0),
       ],
    q(tangut) => [
-      q(0152),
+      q(0154),
       q(0),
       ],
    q(tankri) => [
-      q(0148),
+      q(0150),
       q(2),
       ],
    q(telugu) => [
-      q(0154),
+      q(0156),
       q(0),
       ],
    q(tengwar) => [
-      q(0155),
+      q(0157),
       q(0),
       ],
    q(thaana) => [
-      q(0158),
+      q(0160),
       q(0),
       ],
    q(thai) => [
-      q(0159),
+      q(0161),
       q(0),
       ],
    q(tibetan) => [
-      q(0160),
+      q(0162),
       q(0),
       ],
    q(tifinagh) => [
-      q(0156),
+      q(0158),
       q(1),
       ],
    q(tifinagh (berber)) => [
-      q(0156),
+      q(0158),
       q(0),
       ],
    q(tirhuta) => [
-      q(0161),
+      q(0163),
       q(0),
       ],
    q(ugaritic) => [
-      q(0162),
+      q(0164),
       q(0),
       ],
    q(unified canadian aboriginal syllabics) => [
-      q(0022),
+      q(0023),
       q(0),
       ],
    q(vai) => [
-      q(0163),
+      q(0165),
       q(0),
       ],
    q(varang kshiti) => [
-      q(0165),
+      q(0167),
       q(2),
       ],
    q(visible speech) => [
-      q(0164),
+      q(0166),
       q(0),
       ],
    q(warang citi) => [
-      q(0165),
+      q(0167),
       q(1),
       ],
    q(warang citi (varang kshiti)) => [
-      q(0165),
+      q(0167),
       q(0),
       ],
    q(woleai) => [
-      q(0166),
+      q(0168),
       q(0),
       ],
    q(yi) => [
-      q(0169),
+      q(0171),
       q(0),
       ],
 };
@@ -1673,706 +1687,714 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0014),
          q(0),
          ],
-      q(Blis) => [
+      q(Bhks) => [
          q(0015),
          q(0),
          ],
-      q(Bopo) => [
+      q(Blis) => [
          q(0016),
          q(0),
          ],
-      q(Brah) => [
+      q(Bopo) => [
          q(0017),
          q(0),
          ],
-      q(Brai) => [
+      q(Brah) => [
          q(0018),
          q(0),
          ],
-      q(Bugi) => [
+      q(Brai) => [
          q(0019),
          q(0),
          ],
-      q(Buhd) => [
+      q(Bugi) => [
          q(0020),
          q(0),
          ],
-      q(Cakm) => [
+      q(Buhd) => [
          q(0021),
          q(0),
          ],
-      q(Cans) => [
+      q(Cakm) => [
          q(0022),
          q(0),
          ],
-      q(Cari) => [
+      q(Cans) => [
          q(0023),
          q(0),
          ],
-      q(Cham) => [
+      q(Cari) => [
          q(0024),
          q(0),
          ],
-      q(Cher) => [
+      q(Cham) => [
          q(0025),
          q(0),
          ],
-      q(Cirt) => [
+      q(Cher) => [
          q(0026),
          q(0),
          ],
-      q(Copt) => [
+      q(Cirt) => [
          q(0027),
          q(0),
          ],
-      q(Cprt) => [
+      q(Copt) => [
          q(0028),
          q(0),
          ],
-      q(Cyrl) => [
+      q(Cprt) => [
          q(0029),
          q(0),
          ],
-      q(Cyrs) => [
+      q(Cyrl) => [
          q(0030),
          q(0),
          ],
-      q(Deva) => [
+      q(Cyrs) => [
          q(0031),
+         q(0),
+         ],
+      q(Deva) => [
+         q(0032),
          q(1),
          ],
       q(Dsrt) => [
-         q(0032),
+         q(0033),
          q(1),
          ],
       q(Dupl) => [
-         q(0033),
+         q(0034),
          q(1),
          ],
       q(Egyd) => [
-         q(0034),
+         q(0035),
          q(0),
          ],
       q(Egyh) => [
-         q(0035),
+         q(0036),
          q(0),
          ],
       q(Egyp) => [
-         q(0036),
+         q(0037),
          q(0),
          ],
       q(Elba) => [
-         q(0037),
+         q(0038),
          q(0),
          ],
       q(Ethi) => [
-         q(0038),
+         q(0039),
          q(1),
          ],
       q(Geok) => [
-         q(0039),
+         q(0040),
          q(0),
          ],
       q(Geor) => [
-         q(0040),
+         q(0041),
          q(0),
          ],
       q(Glag) => [
-         q(0041),
+         q(0042),
          q(0),
          ],
       q(Goth) => [
-         q(0042),
+         q(0043),
          q(0),
          ],
       q(Gran) => [
-         q(0043),
+         q(0044),
          q(0),
          ],
       q(Grek) => [
-         q(0044),
+         q(0045),
          q(0),
          ],
       q(Gujr) => [
-         q(0045),
+         q(0046),
          q(0),
          ],
       q(Guru) => [
-         q(0046),
+         q(0047),
          q(0),
          ],
       q(Hang) => [
-         q(0047),
+         q(0048),
          q(1),
          ],
       q(Hani) => [
-         q(0048),
+         q(0049),
          q(1),
          ],
       q(Hano) => [
-         q(0049),
+         q(0050),
          q(1),
          ],
       q(Hans) => [
-         q(0050),
+         q(0051),
          q(0),
          ],
       q(Hant) => [
-         q(0051),
+         q(0052),
          q(0),
          ],
       q(Hatr) => [
-         q(0052),
+         q(0053),
          q(0),
          ],
       q(Hebr) => [
-         q(0053),
+         q(0054),
          q(0),
          ],
       q(Hira) => [
-         q(0054),
+         q(0055),
          q(0),
          ],
       q(Hluw) => [
-         q(0055),
+         q(0056),
          q(1),
          ],
       q(Hmng) => [
-         q(0056),
+         q(0057),
          q(0),
          ],
       q(Hrkt) => [
-         q(0057),
+         q(0058),
          q(0),
          ],
       q(Hung) => [
-         q(0058),
+         q(0059),
          q(1),
          ],
       q(Inds) => [
-         q(0059),
+         q(0060),
          q(1),
          ],
       q(Ital) => [
-         q(0060),
+         q(0061),
          q(0),
          ],
       q(Java) => [
-         q(0061),
+         q(0062),
          q(0),
          ],
       q(Jpan) => [
-         q(0062),
+         q(0063),
          q(0),
          ],
       q(Jurc) => [
-         q(0063),
+         q(0064),
          q(0),
          ],
       q(Kali) => [
-         q(0064),
+         q(0065),
          q(0),
          ],
       q(Kana) => [
-         q(0065),
+         q(0066),
          q(0),
          ],
       q(Khar) => [
-         q(0066),
+         q(0067),
          q(0),
          ],
       q(Khmr) => [
-         q(0067),
+         q(0068),
          q(0),
          ],
       q(Khoj) => [
-         q(0068),
+         q(0069),
          q(0),
          ],
       q(Kitl) => [
-         q(0069),
+         q(0070),
          q(0),
          ],
       q(Kits) => [
-         q(0070),
+         q(0071),
          q(0),
          ],
       q(Knda) => [
-         q(0071),
+         q(0072),
          q(0),
          ],
       q(Kore) => [
-         q(0072),
+         q(0073),
          q(0),
          ],
       q(Kpel) => [
-         q(0073),
+         q(0074),
          q(0),
          ],
       q(Kthi) => [
-         q(0074),
+         q(0075),
          q(0),
          ],
       q(Lana) => [
-         q(0075),
+         q(0076),
          q(1),
          ],
       q(Laoo) => [
-         q(0076),
+         q(0077),
          q(0),
          ],
       q(Latf) => [
-         q(0077),
+         q(0078),
          q(0),
          ],
       q(Latg) => [
-         q(0078),
+         q(0079),
          q(0),
          ],
       q(Latn) => [
-         q(0079),
+         q(0080),
+         q(0),
+         ],
+      q(Leke) => [
+         q(0081),
          q(0),
          ],
       q(Lepc) => [
-         q(0080),
+         q(0082),
          q(1),
          ],
       q(Limb) => [
-         q(0081),
+         q(0083),
          q(0),
          ],
       q(Lina) => [
-         q(0082),
+         q(0084),
          q(0),
          ],
       q(Linb) => [
-         q(0083),
+         q(0085),
          q(0),
          ],
       q(Lisu) => [
-         q(0084),
+         q(0086),
          q(1),
          ],
       q(Loma) => [
-         q(0085),
+         q(0087),
          q(0),
          ],
       q(Lyci) => [
-         q(0086),
+         q(0088),
          q(0),
          ],
       q(Lydi) => [
-         q(0087),
+         q(0089),
          q(0),
          ],
       q(Mahj) => [
-         q(0088),
+         q(0090),
          q(0),
          ],
       q(Mand) => [
-         q(0089),
+         q(0091),
          q(1),
          ],
       q(Mani) => [
-         q(0090),
+         q(0092),
          q(0),
          ],
       q(Marc) => [
-         q(0091),
+         q(0093),
          q(0),
          ],
       q(Maya) => [
-         q(0092),
+         q(0094),
          q(0),
          ],
       q(Mend) => [
-         q(0093),
+         q(0095),
          q(0),
          ],
       q(Merc) => [
-         q(0094),
+         q(0096),
          q(0),
          ],
       q(Mero) => [
-         q(0095),
+         q(0097),
          q(0),
          ],
       q(Mlym) => [
-         q(0096),
+         q(0098),
          q(0),
          ],
       q(Modi) => [
-         q(0097),
+         q(0099),
          q(1),
          ],
       q(Mong) => [
-         q(0098),
+         q(0100),
          q(0),
          ],
       q(Moon) => [
-         q(0099),
+         q(0101),
          q(1),
          ],
       q(Mroo) => [
-         q(0100),
+         q(0102),
          q(1),
          ],
       q(Mtei) => [
-         q(0101),
+         q(0103),
          q(1),
          ],
       q(Mult) => [
-         q(0102),
+         q(0104),
          q(0),
          ],
       q(Mymr) => [
-         q(0103),
+         q(0105),
          q(1),
          ],
       q(Narb) => [
-         q(0104),
+         q(0106),
          q(1),
          ],
       q(Nbat) => [
-         q(0105),
+         q(0107),
          q(0),
          ],
       q(Nkgb) => [
-         q(0106),
+         q(0108),
          q(1),
          ],
       q(Nkoo) => [
-         q(0107),
+         q(0109),
          q(0),
          ],
       q(Nshu) => [
-         q(0108),
+         q(0110),
          q(0),
          ],
       q(Ogam) => [
-         q(0109),
+         q(0111),
          q(0),
          ],
       q(Olck) => [
-         q(0110),
+         q(0112),
          q(1),
          ],
       q(Orkh) => [
-         q(0111),
+         q(0113),
          q(1),
          ],
       q(Orya) => [
-         q(0112),
+         q(0114),
          q(0),
          ],
       q(Osge) => [
-         q(0113),
+         q(0115),
          q(0),
          ],
       q(Osma) => [
-         q(0114),
+         q(0116),
          q(0),
          ],
       q(Palm) => [
-         q(0115),
+         q(0117),
          q(0),
          ],
       q(Pauc) => [
-         q(0116),
+         q(0118),
          q(0),
          ],
       q(Perm) => [
-         q(0117),
+         q(0119),
          q(0),
          ],
       q(Phag) => [
-         q(0118),
+         q(0120),
          q(0),
          ],
       q(Phli) => [
-         q(0119),
+         q(0121),
          q(0),
          ],
       q(Phlp) => [
-         q(0120),
+         q(0122),
          q(0),
          ],
       q(Phlv) => [
-         q(0121),
+         q(0123),
          q(0),
          ],
       q(Phnx) => [
-         q(0122),
+         q(0124),
          q(0),
          ],
       q(Plrd) => [
-         q(0123),
+         q(0125),
          q(1),
          ],
       q(Prti) => [
-         q(0124),
+         q(0126),
          q(0),
          ],
       q(Qaaa) => [
-         q(0125),
+         q(0127),
          q(0),
          ],
       q(Qabx) => [
-         q(0126),
+         q(0128),
          q(0),
          ],
       q(Rjng) => [
-         q(0127),
+         q(0129),
          q(1),
          ],
       q(Roro) => [
-         q(0128),
+         q(0130),
          q(0),
          ],
       q(Runr) => [
-         q(0129),
+         q(0131),
          q(0),
          ],
       q(Samr) => [
-         q(0130),
+         q(0132),
          q(0),
          ],
       q(Sara) => [
-         q(0131),
+         q(0133),
          q(0),
          ],
       q(Sarb) => [
-         q(0132),
+         q(0134),
          q(0),
          ],
       q(Saur) => [
-         q(0133),
+         q(0135),
          q(0),
          ],
       q(Sgnw) => [
-         q(0134),
+         q(0136),
          q(0),
          ],
       q(Shaw) => [
-         q(0135),
+         q(0137),
          q(1),
          ],
       q(Shrd) => [
-         q(0136),
+         q(0138),
          q(1),
          ],
       q(Sidd) => [
-         q(0137),
+         q(0139),
          q(1),
          ],
       q(Sind) => [
-         q(0138),
+         q(0140),
          q(1),
          ],
       q(Sinh) => [
-         q(0139),
+         q(0141),
          q(0),
          ],
       q(Sora) => [
-         q(0140),
+         q(0142),
          q(0),
          ],
       q(Sund) => [
-         q(0141),
+         q(0143),
          q(0),
          ],
       q(Sylo) => [
-         q(0142),
+         q(0144),
          q(0),
          ],
       q(Syrc) => [
-         q(0143),
+         q(0145),
          q(0),
          ],
       q(Syre) => [
-         q(0144),
+         q(0146),
          q(0),
          ],
       q(Syrj) => [
-         q(0145),
+         q(0147),
          q(0),
          ],
       q(Syrn) => [
-         q(0146),
+         q(0148),
          q(0),
          ],
       q(Tagb) => [
-         q(0147),
+         q(0149),
          q(0),
          ],
       q(Takr) => [
-         q(0148),
+         q(0150),
          q(1),
          ],
       q(Tale) => [
-         q(0149),
+         q(0151),
          q(0),
          ],
       q(Talu) => [
-         q(0150),
+         q(0152),
          q(0),
          ],
       q(Taml) => [
-         q(0151),
+         q(0153),
          q(0),
          ],
       q(Tang) => [
-         q(0152),
+         q(0154),
          q(0),
          ],
       q(Tavt) => [
-         q(0153),
+         q(0155),
          q(0),
          ],
       q(Telu) => [
-         q(0154),
+         q(0156),
          q(0),
          ],
       q(Teng) => [
-         q(0155),
+         q(0157),
          q(0),
          ],
       q(Tfng) => [
-         q(0156),
+         q(0158),
          q(1),
          ],
       q(Tglg) => [
-         q(0157),
+         q(0159),
          q(1),
          ],
       q(Thaa) => [
-         q(0158),
+         q(0160),
          q(0),
          ],
       q(Thai) => [
-         q(0159),
+         q(0161),
          q(0),
          ],
       q(Tibt) => [
-         q(0160),
+         q(0162),
          q(0),
          ],
       q(Tirh) => [
-         q(0161),
+         q(0163),
          q(0),
          ],
       q(Ugar) => [
-         q(0162),
+         q(0164),
          q(0),
          ],
       q(Vaii) => [
-         q(0163),
+         q(0165),
          q(0),
          ],
       q(Visp) => [
-         q(0164),
+         q(0166),
          q(0),
          ],
       q(Wara) => [
-         q(0165),
+         q(0167),
          q(1),
          ],
       q(Wole) => [
-         q(0166),
+         q(0168),
          q(0),
          ],
       q(Xpeo) => [
-         q(0167),
+         q(0169),
          q(0),
          ],
       q(Xsux) => [
-         q(0168),
+         q(0170),
          q(1),
          ],
       q(Yiii) => [
-         q(0169),
+         q(0171),
          q(0),
          ],
       q(Zinh) => [
-         q(0170),
+         q(0172),
          q(0),
          ],
       q(Zmth) => [
-         q(0171),
+         q(0173),
          q(0),
          ],
       q(Zsym) => [
-         q(0172),
+         q(0174),
          q(0),
          ],
       },
    q(num) => {
       q(020) => [
-         q(0168),
+         q(0170),
          q(0),
          ],
       q(030) => [
-         q(0167),
+         q(0169),
          q(0),
          ],
       q(040) => [
-         q(0162),
+         q(0164),
          q(0),
          ],
       q(050) => [
-         q(0036),
+         q(0037),
          q(0),
          ],
       q(060) => [
-         q(0035),
+         q(0036),
          q(0),
          ],
       q(070) => [
-         q(0034),
+         q(0035),
          q(0),
          ],
       q(080) => [
-         q(0055),
+         q(0056),
          q(0),
          ],
       q(090) => [
-         q(0092),
+         q(0094),
          q(0),
          ],
       q(095) => [
-         q(0134),
+         q(0136),
          q(0),
          ],
       q(100) => [
-         q(0095),
+         q(0097),
          q(0),
          ],
       q(101) => [
-         q(0094),
+         q(0096),
          q(0),
          ],
       q(105) => [
-         q(0132),
+         q(0134),
          q(0),
          ],
       q(106) => [
-         q(0104),
+         q(0106),
          q(0),
          ],
       q(115) => [
-         q(0122),
+         q(0124),
          q(0),
          ],
       q(116) => [
-         q(0087),
+         q(0089),
          q(0),
          ],
       q(120) => [
-         q(0156),
+         q(0158),
          q(0),
          ],
       q(123) => [
-         q(0130),
+         q(0132),
          q(0),
          ],
       q(124) => [
@@ -2380,31 +2402,31 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(125) => [
-         q(0053),
+         q(0054),
          q(0),
          ],
       q(126) => [
-         q(0115),
+         q(0117),
          q(0),
          ],
       q(127) => [
-         q(0052),
+         q(0053),
          q(0),
          ],
       q(130) => [
-         q(0124),
+         q(0126),
          q(0),
          ],
       q(131) => [
-         q(0119),
+         q(0121),
          q(0),
          ],
       q(132) => [
-         q(0120),
+         q(0122),
          q(0),
          ],
       q(133) => [
-         q(0121),
+         q(0123),
          q(0),
          ],
       q(134) => [
@@ -2412,35 +2434,35 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(135) => [
-         q(0143),
+         q(0145),
          q(0),
          ],
       q(136) => [
-         q(0146),
+         q(0148),
          q(0),
          ],
       q(137) => [
-         q(0145),
+         q(0147),
          q(0),
          ],
       q(138) => [
-         q(0144),
+         q(0146),
          q(0),
          ],
       q(139) => [
-         q(0090),
+         q(0092),
          q(0),
          ],
       q(140) => [
-         q(0089),
+         q(0091),
          q(0),
          ],
       q(145) => [
-         q(0098),
+         q(0100),
          q(0),
          ],
       q(159) => [
-         q(0105),
+         q(0107),
          q(0),
          ],
       q(160) => [
@@ -2452,7 +2474,7 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(165) => [
-         q(0107),
+         q(0109),
          q(0),
          ],
       q(166) => [
@@ -2460,91 +2482,91 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(170) => [
-         q(0158),
+         q(0160),
          q(0),
          ],
       q(175) => [
-         q(0111),
+         q(0113),
          q(0),
          ],
       q(176) => [
-         q(0058),
+         q(0059),
          q(0),
          ],
       q(199) => [
-         q(0100),
+         q(0102),
          q(0),
          ],
       q(200) => [
-         q(0044),
+         q(0045),
          q(0),
          ],
       q(201) => [
-         q(0023),
+         q(0024),
          q(0),
          ],
       q(202) => [
-         q(0086),
+         q(0088),
          q(0),
          ],
       q(204) => [
-         q(0027),
+         q(0028),
          q(0),
          ],
       q(206) => [
-         q(0042),
+         q(0043),
          q(0),
          ],
       q(210) => [
-         q(0060),
+         q(0061),
          q(0),
          ],
       q(211) => [
-         q(0129),
+         q(0131),
          q(0),
          ],
       q(212) => [
-         q(0109),
+         q(0111),
          q(0),
          ],
       q(215) => [
-         q(0079),
+         q(0080),
          q(0),
          ],
       q(216) => [
-         q(0078),
+         q(0079),
          q(0),
          ],
       q(217) => [
-         q(0077),
+         q(0078),
          q(0),
          ],
       q(218) => [
-         q(0099),
+         q(0101),
          q(0),
          ],
       q(219) => [
-         q(0113),
+         q(0115),
          q(0),
          ],
       q(220) => [
-         q(0029),
+         q(0030),
          q(0),
          ],
       q(221) => [
-         q(0030),
+         q(0031),
          q(0),
          ],
       q(225) => [
-         q(0041),
+         q(0042),
          q(0),
          ],
       q(226) => [
-         q(0037),
+         q(0038),
          q(0),
          ],
       q(227) => [
-         q(0117),
+         q(0119),
          q(0),
          ],
       q(230) => [
@@ -2556,15 +2578,15 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(240) => [
-         q(0040),
+         q(0041),
          q(0),
          ],
       q(241) => [
-         q(0039),
+         q(0040),
          q(0),
          ],
       q(250) => [
-         q(0032),
+         q(0033),
          q(0),
          ],
       q(259) => [
@@ -2572,119 +2594,119 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(260) => [
-         q(0114),
+         q(0116),
          q(0),
          ],
       q(261) => [
-         q(0110),
+         q(0112),
          q(0),
          ],
       q(262) => [
-         q(0165),
+         q(0167),
          q(0),
          ],
       q(263) => [
-         q(0116),
+         q(0118),
          q(0),
          ],
       q(280) => [
-         q(0164),
+         q(0166),
          q(0),
          ],
       q(281) => [
-         q(0135),
+         q(0137),
          q(0),
          ],
       q(282) => [
-         q(0123),
+         q(0125),
          q(0),
          ],
       q(285) => [
-         q(0016),
+         q(0017),
          q(0),
          ],
       q(286) => [
-         q(0047),
+         q(0048),
          q(0),
          ],
       q(287) => [
-         q(0072),
+         q(0073),
          q(0),
          ],
       q(288) => [
-         q(0070),
+         q(0071),
          q(0),
          ],
       q(290) => [
-         q(0155),
+         q(0157),
          q(0),
          ],
       q(291) => [
-         q(0026),
+         q(0027),
          q(0),
          ],
       q(292) => [
-         q(0131),
+         q(0133),
          q(0),
          ],
       q(300) => [
-         q(0017),
+         q(0018),
          q(0),
          ],
       q(302) => [
-         q(0137),
+         q(0139),
          q(0),
          ],
       q(305) => [
-         q(0066),
+         q(0067),
          q(0),
          ],
       q(310) => [
-         q(0046),
+         q(0047),
          q(0),
          ],
       q(314) => [
-         q(0088),
+         q(0090),
          q(0),
          ],
       q(315) => [
-         q(0031),
+         q(0032),
          q(0),
          ],
       q(316) => [
-         q(0142),
+         q(0144),
          q(0),
          ],
       q(317) => [
-         q(0074),
+         q(0075),
          q(0),
          ],
       q(318) => [
-         q(0138),
+         q(0140),
          q(0),
          ],
       q(319) => [
-         q(0136),
+         q(0138),
          q(0),
          ],
       q(320) => [
-         q(0045),
+         q(0046),
          q(0),
          ],
       q(321) => [
-         q(0148),
+         q(0150),
          q(0),
          ],
       q(322) => [
-         q(0068),
+         q(0069),
          q(0),
          ],
       q(323) => [
-         q(0102),
+         q(0104),
          q(0),
          ],
       q(324) => [
-         q(0097),
+         q(0099),
          q(0),
          ],
       q(325) => [
@@ -2692,35 +2714,39 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(326) => [
-         q(0161),
+         q(0163),
          q(0),
          ],
       q(327) => [
-         q(0112),
+         q(0114),
          q(0),
          ],
       q(330) => [
-         q(0160),
+         q(0162),
          q(0),
          ],
       q(331) => [
-         q(0118),
+         q(0120),
          q(0),
          ],
       q(332) => [
-         q(0091),
+         q(0093),
+         q(0),
+         ],
+      q(334) => [
+         q(0015),
          q(0),
          ],
       q(335) => [
-         q(0080),
+         q(0082),
          q(0),
          ],
       q(336) => [
-         q(0081),
+         q(0083),
          q(0),
          ],
       q(337) => [
-         q(0101),
+         q(0103),
          q(0),
          ],
       q(338) => [
@@ -2728,75 +2754,75 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(340) => [
-         q(0154),
+         q(0156),
          q(0),
          ],
       q(343) => [
-         q(0043),
+         q(0044),
          q(0),
          ],
       q(344) => [
-         q(0133),
+         q(0135),
          q(0),
          ],
       q(345) => [
-         q(0071),
+         q(0072),
          q(0),
          ],
       q(346) => [
-         q(0151),
+         q(0153),
          q(0),
          ],
       q(347) => [
-         q(0096),
+         q(0098),
          q(0),
          ],
       q(348) => [
-         q(0139),
+         q(0141),
          q(0),
          ],
       q(349) => [
-         q(0021),
+         q(0022),
          q(0),
          ],
       q(350) => [
-         q(0103),
+         q(0105),
          q(0),
          ],
       q(351) => [
-         q(0075),
+         q(0076),
          q(0),
          ],
       q(352) => [
-         q(0159),
+         q(0161),
          q(0),
          ],
       q(353) => [
-         q(0149),
+         q(0151),
          q(0),
          ],
       q(354) => [
-         q(0150),
+         q(0152),
          q(0),
          ],
       q(355) => [
-         q(0067),
+         q(0068),
          q(0),
          ],
       q(356) => [
-         q(0076),
+         q(0077),
          q(0),
          ],
       q(357) => [
-         q(0064),
+         q(0065),
          q(0),
          ],
       q(358) => [
-         q(0024),
+         q(0025),
          q(0),
          ],
       q(359) => [
-         q(0153),
+         q(0155),
          q(0),
          ],
       q(360) => [
@@ -2804,15 +2830,19 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(361) => [
-         q(0061),
+         q(0062),
          q(0),
          ],
       q(362) => [
-         q(0141),
+         q(0143),
          q(0),
          ],
       q(363) => [
-         q(0127),
+         q(0129),
+         q(0),
+         ],
+      q(364) => [
+         q(0081),
          q(0),
          ],
       q(365) => [
@@ -2820,67 +2850,67 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(367) => [
-         q(0019),
+         q(0020),
          q(0),
          ],
       q(370) => [
-         q(0157),
+         q(0159),
          q(0),
          ],
       q(371) => [
-         q(0049),
+         q(0050),
          q(0),
          ],
       q(372) => [
-         q(0020),
+         q(0021),
          q(0),
          ],
       q(373) => [
-         q(0147),
+         q(0149),
          q(0),
          ],
       q(398) => [
-         q(0140),
+         q(0142),
          q(0),
          ],
       q(399) => [
-         q(0084),
+         q(0086),
          q(0),
          ],
       q(400) => [
-         q(0082),
+         q(0084),
          q(0),
          ],
       q(401) => [
-         q(0083),
+         q(0085),
          q(0),
          ],
       q(403) => [
-         q(0028),
+         q(0029),
          q(0),
          ],
       q(410) => [
-         q(0054),
+         q(0055),
          q(0),
          ],
       q(411) => [
-         q(0065),
+         q(0066),
          q(0),
          ],
       q(412) => [
-         q(0057),
+         q(0058),
          q(0),
          ],
       q(413) => [
-         q(0062),
+         q(0063),
          q(0),
          ],
       q(420) => [
-         q(0106),
+         q(0108),
          q(0),
          ],
       q(430) => [
-         q(0038),
+         q(0039),
          q(0),
          ],
       q(435) => [
@@ -2888,15 +2918,15 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(436) => [
-         q(0073),
+         q(0074),
          q(0),
          ],
       q(437) => [
-         q(0085),
+         q(0087),
          q(0),
          ],
       q(438) => [
-         q(0093),
+         q(0095),
          q(0),
          ],
       q(439) => [
@@ -2904,95 +2934,95 @@ $Locale::Codes::Data{'script'}{'code2id'} = {
          q(0),
          ],
       q(440) => [
-         q(0022),
+         q(0023),
          q(0),
          ],
       q(445) => [
-         q(0025),
+         q(0026),
          q(0),
          ],
       q(450) => [
-         q(0056),
+         q(0057),
          q(0),
          ],
       q(460) => [
-         q(0169),
+         q(0171),
          q(0),
          ],
       q(470) => [
-         q(0163),
+         q(0165),
          q(0),
          ],
       q(480) => [
-         q(0166),
+         q(0168),
          q(0),
          ],
       q(499) => [
-         q(0108),
+         q(0110),
          q(0),
          ],
       q(500) => [
-         q(0048),
+         q(0049),
          q(0),
          ],
       q(501) => [
-         q(0050),
+         q(0051),
          q(0),
          ],
       q(502) => [
-         q(0051),
+         q(0052),
          q(0),
          ],
       q(505) => [
-         q(0069),
+         q(0070),
          q(0),
          ],
       q(510) => [
-         q(0063),
+         q(0064),
          q(0),
          ],
       q(520) => [
-         q(0152),
+         q(0154),
          q(0),
          ],
       q(550) => [
-         q(0015),
+         q(0016),
          q(0),
          ],
       q(570) => [
-         q(0018),
+         q(0019),
          q(0),
          ],
       q(610) => [
-         q(0059),
+         q(0060),
          q(0),
          ],
       q(620) => [
-         q(0128),
+         q(0130),
          q(0),
          ],
       q(755) => [
-         q(0033),
+         q(0034),
          q(0),
          ],
       q(900) => [
-         q(0125),
+         q(0127),
          q(0),
          ],
       q(949) => [
-         q(0126),
+         q(0128),
          q(0),
          ],
       q(994) => [
-         q(0170),
+         q(0172),
          q(0),
          ],
       q(995) => [
-         q(0171),
+         q(0173),
          q(0),
          ],
       q(996) => [
-         q(0172),
+         q(0174),
          q(0),
          ],
       },
@@ -3014,164 +3044,166 @@ $Locale::Codes::Data{'script'}{'id2code'} = {
       q(0012) => q(Bass),
       q(0013) => q(Batk),
       q(0014) => q(Beng),
-      q(0015) => q(Blis),
-      q(0016) => q(Bopo),
-      q(0017) => q(Brah),
-      q(0018) => q(Brai),
-      q(0019) => q(Bugi),
-      q(0020) => q(Buhd),
-      q(0021) => q(Cakm),
-      q(0022) => q(Cans),
-      q(0023) => q(Cari),
-      q(0024) => q(Cham),
-      q(0025) => q(Cher),
-      q(0026) => q(Cirt),
-      q(0027) => q(Copt),
-      q(0028) => q(Cprt),
-      q(0029) => q(Cyrl),
-      q(0030) => q(Cyrs),
-      q(0031) => q(Deva),
-      q(0032) => q(Dsrt),
-      q(0033) => q(Dupl),
-      q(0034) => q(Egyd),
-      q(0035) => q(Egyh),
-      q(0036) => q(Egyp),
-      q(0037) => q(Elba),
-      q(0038) => q(Ethi),
-      q(0039) => q(Geok),
-      q(0040) => q(Geor),
-      q(0041) => q(Glag),
-      q(0042) => q(Goth),
-      q(0043) => q(Gran),
-      q(0044) => q(Grek),
-      q(0045) => q(Gujr),
-      q(0046) => q(Guru),
-      q(0047) => q(Hang),
-      q(0048) => q(Hani),
-      q(0049) => q(Hano),
-      q(0050) => q(Hans),
-      q(0051) => q(Hant),
-      q(0052) => q(Hatr),
-      q(0053) => q(Hebr),
-      q(0054) => q(Hira),
-      q(0055) => q(Hluw),
-      q(0056) => q(Hmng),
-      q(0057) => q(Hrkt),
-      q(0058) => q(Hung),
-      q(0059) => q(Inds),
-      q(0060) => q(Ital),
-      q(0061) => q(Java),
-      q(0062) => q(Jpan),
-      q(0063) => q(Jurc),
-      q(0064) => q(Kali),
-      q(0065) => q(Kana),
-      q(0066) => q(Khar),
-      q(0067) => q(Khmr),
-      q(0068) => q(Khoj),
-      q(0069) => q(Kitl),
-      q(0070) => q(Kits),
-      q(0071) => q(Knda),
-      q(0072) => q(Kore),
-      q(0073) => q(Kpel),
-      q(0074) => q(Kthi),
-      q(0075) => q(Lana),
-      q(0076) => q(Laoo),
-      q(0077) => q(Latf),
-      q(0078) => q(Latg),
-      q(0079) => q(Latn),
-      q(0080) => q(Lepc),
-      q(0081) => q(Limb),
-      q(0082) => q(Lina),
-      q(0083) => q(Linb),
-      q(0084) => q(Lisu),
-      q(0085) => q(Loma),
-      q(0086) => q(Lyci),
-      q(0087) => q(Lydi),
-      q(0088) => q(Mahj),
-      q(0089) => q(Mand),
-      q(0090) => q(Mani),
-      q(0091) => q(Marc),
-      q(0092) => q(Maya),
-      q(0093) => q(Mend),
-      q(0094) => q(Merc),
-      q(0095) => q(Mero),
-      q(0096) => q(Mlym),
-      q(0097) => q(Modi),
-      q(0098) => q(Mong),
-      q(0099) => q(Moon),
-      q(0100) => q(Mroo),
-      q(0101) => q(Mtei),
-      q(0102) => q(Mult),
-      q(0103) => q(Mymr),
-      q(0104) => q(Narb),
-      q(0105) => q(Nbat),
-      q(0106) => q(Nkgb),
-      q(0107) => q(Nkoo),
-      q(0108) => q(Nshu),
-      q(0109) => q(Ogam),
-      q(0110) => q(Olck),
-      q(0111) => q(Orkh),
-      q(0112) => q(Orya),
-      q(0113) => q(Osge),
-      q(0114) => q(Osma),
-      q(0115) => q(Palm),
-      q(0116) => q(Pauc),
-      q(0117) => q(Perm),
-      q(0118) => q(Phag),
-      q(0119) => q(Phli),
-      q(0120) => q(Phlp),
-      q(0121) => q(Phlv),
-      q(0122) => q(Phnx),
-      q(0123) => q(Plrd),
-      q(0124) => q(Prti),
-      q(0125) => q(Qaaa),
-      q(0126) => q(Qabx),
-      q(0127) => q(Rjng),
-      q(0128) => q(Roro),
-      q(0129) => q(Runr),
-      q(0130) => q(Samr),
-      q(0131) => q(Sara),
-      q(0132) => q(Sarb),
-      q(0133) => q(Saur),
-      q(0134) => q(Sgnw),
-      q(0135) => q(Shaw),
-      q(0136) => q(Shrd),
-      q(0137) => q(Sidd),
-      q(0138) => q(Sind),
-      q(0139) => q(Sinh),
-      q(0140) => q(Sora),
-      q(0141) => q(Sund),
-      q(0142) => q(Sylo),
-      q(0143) => q(Syrc),
-      q(0144) => q(Syre),
-      q(0145) => q(Syrj),
-      q(0146) => q(Syrn),
-      q(0147) => q(Tagb),
-      q(0148) => q(Takr),
-      q(0149) => q(Tale),
-      q(0150) => q(Talu),
-      q(0151) => q(Taml),
-      q(0152) => q(Tang),
-      q(0153) => q(Tavt),
-      q(0154) => q(Telu),
-      q(0155) => q(Teng),
-      q(0156) => q(Tfng),
-      q(0157) => q(Tglg),
-      q(0158) => q(Thaa),
-      q(0159) => q(Thai),
-      q(0160) => q(Tibt),
-      q(0161) => q(Tirh),
-      q(0162) => q(Ugar),
-      q(0163) => q(Vaii),
-      q(0164) => q(Visp),
-      q(0165) => q(Wara),
-      q(0166) => q(Wole),
-      q(0167) => q(Xpeo),
-      q(0168) => q(Xsux),
-      q(0169) => q(Yiii),
-      q(0170) => q(Zinh),
-      q(0171) => q(Zmth),
-      q(0172) => q(Zsym),
+      q(0015) => q(Bhks),
+      q(0016) => q(Blis),
+      q(0017) => q(Bopo),
+      q(0018) => q(Brah),
+      q(0019) => q(Brai),
+      q(0020) => q(Bugi),
+      q(0021) => q(Buhd),
+      q(0022) => q(Cakm),
+      q(0023) => q(Cans),
+      q(0024) => q(Cari),
+      q(0025) => q(Cham),
+      q(0026) => q(Cher),
+      q(0027) => q(Cirt),
+      q(0028) => q(Copt),
+      q(0029) => q(Cprt),
+      q(0030) => q(Cyrl),
+      q(0031) => q(Cyrs),
+      q(0032) => q(Deva),
+      q(0033) => q(Dsrt),
+      q(0034) => q(Dupl),
+      q(0035) => q(Egyd),
+      q(0036) => q(Egyh),
+      q(0037) => q(Egyp),
+      q(0038) => q(Elba),
+      q(0039) => q(Ethi),
+      q(0040) => q(Geok),
+      q(0041) => q(Geor),
+      q(0042) => q(Glag),
+      q(0043) => q(Goth),
+      q(0044) => q(Gran),
+      q(0045) => q(Grek),
+      q(0046) => q(Gujr),
+      q(0047) => q(Guru),
+      q(0048) => q(Hang),
+      q(0049) => q(Hani),
+      q(0050) => q(Hano),
+      q(0051) => q(Hans),
+      q(0052) => q(Hant),
+      q(0053) => q(Hatr),
+      q(0054) => q(Hebr),
+      q(0055) => q(Hira),
+      q(0056) => q(Hluw),
+      q(0057) => q(Hmng),
+      q(0058) => q(Hrkt),
+      q(0059) => q(Hung),
+      q(0060) => q(Inds),
+      q(0061) => q(Ital),
+      q(0062) => q(Java),
+      q(0063) => q(Jpan),
+      q(0064) => q(Jurc),
+      q(0065) => q(Kali),
+      q(0066) => q(Kana),
+      q(0067) => q(Khar),
+      q(0068) => q(Khmr),
+      q(0069) => q(Khoj),
+      q(0070) => q(Kitl),
+      q(0071) => q(Kits),
+      q(0072) => q(Knda),
+      q(0073) => q(Kore),
+      q(0074) => q(Kpel),
+      q(0075) => q(Kthi),
+      q(0076) => q(Lana),
+      q(0077) => q(Laoo),
+      q(0078) => q(Latf),
+      q(0079) => q(Latg),
+      q(0080) => q(Latn),
+      q(0081) => q(Leke),
+      q(0082) => q(Lepc),
+      q(0083) => q(Limb),
+      q(0084) => q(Lina),
+      q(0085) => q(Linb),
+      q(0086) => q(Lisu),
+      q(0087) => q(Loma),
+      q(0088) => q(Lyci),
+      q(0089) => q(Lydi),
+      q(0090) => q(Mahj),
+      q(0091) => q(Mand),
+      q(0092) => q(Mani),
+      q(0093) => q(Marc),
+      q(0094) => q(Maya),
+      q(0095) => q(Mend),
+      q(0096) => q(Merc),
+      q(0097) => q(Mero),
+      q(0098) => q(Mlym),
+      q(0099) => q(Modi),
+      q(0100) => q(Mong),
+      q(0101) => q(Moon),
+      q(0102) => q(Mroo),
+      q(0103) => q(Mtei),
+      q(0104) => q(Mult),
+      q(0105) => q(Mymr),
+      q(0106) => q(Narb),
+      q(0107) => q(Nbat),
+      q(0108) => q(Nkgb),
+      q(0109) => q(Nkoo),
+      q(0110) => q(Nshu),
+      q(0111) => q(Ogam),
+      q(0112) => q(Olck),
+      q(0113) => q(Orkh),
+      q(0114) => q(Orya),
+      q(0115) => q(Osge),
+      q(0116) => q(Osma),
+      q(0117) => q(Palm),
+      q(0118) => q(Pauc),
+      q(0119) => q(Perm),
+      q(0120) => q(Phag),
+      q(0121) => q(Phli),
+      q(0122) => q(Phlp),
+      q(0123) => q(Phlv),
+      q(0124) => q(Phnx),
+      q(0125) => q(Plrd),
+      q(0126) => q(Prti),
+      q(0127) => q(Qaaa),
+      q(0128) => q(Qabx),
+      q(0129) => q(Rjng),
+      q(0130) => q(Roro),
+      q(0131) => q(Runr),
+      q(0132) => q(Samr),
+      q(0133) => q(Sara),
+      q(0134) => q(Sarb),
+      q(0135) => q(Saur),
+      q(0136) => q(Sgnw),
+      q(0137) => q(Shaw),
+      q(0138) => q(Shrd),
+      q(0139) => q(Sidd),
+      q(0140) => q(Sind),
+      q(0141) => q(Sinh),
+      q(0142) => q(Sora),
+      q(0143) => q(Sund),
+      q(0144) => q(Sylo),
+      q(0145) => q(Syrc),
+      q(0146) => q(Syre),
+      q(0147) => q(Syrj),
+      q(0148) => q(Syrn),
+      q(0149) => q(Tagb),
+      q(0150) => q(Takr),
+      q(0151) => q(Tale),
+      q(0152) => q(Talu),
+      q(0153) => q(Taml),
+      q(0154) => q(Tang),
+      q(0155) => q(Tavt),
+      q(0156) => q(Telu),
+      q(0157) => q(Teng),
+      q(0158) => q(Tfng),
+      q(0159) => q(Tglg),
+      q(0160) => q(Thaa),
+      q(0161) => q(Thai),
+      q(0162) => q(Tibt),
+      q(0163) => q(Tirh),
+      q(0164) => q(Ugar),
+      q(0165) => q(Vaii),
+      q(0166) => q(Visp),
+      q(0167) => q(Wara),
+      q(0168) => q(Wole),
+      q(0169) => q(Xpeo),
+      q(0170) => q(Xsux),
+      q(0171) => q(Yiii),
+      q(0172) => q(Zinh),
+      q(0173) => q(Zmth),
+      q(0174) => q(Zsym),
       },
    q(num) => {
       q(0001) => q(166),
@@ -3188,164 +3220,166 @@ $Locale::Codes::Data{'script'}{'id2code'} = {
       q(0012) => q(259),
       q(0013) => q(365),
       q(0014) => q(325),
-      q(0015) => q(550),
-      q(0016) => q(285),
-      q(0017) => q(300),
-      q(0018) => q(570),
-      q(0019) => q(367),
-      q(0020) => q(372),
-      q(0021) => q(349),
-      q(0022) => q(440),
-      q(0023) => q(201),
-      q(0024) => q(358),
-      q(0025) => q(445),
-      q(0026) => q(291),
-      q(0027) => q(204),
-      q(0028) => q(403),
-      q(0029) => q(220),
-      q(0030) => q(221),
-      q(0031) => q(315),
-      q(0032) => q(250),
-      q(0033) => q(755),
-      q(0034) => q(070),
-      q(0035) => q(060),
-      q(0036) => q(050),
-      q(0037) => q(226),
-      q(0038) => q(430),
-      q(0039) => q(241),
-      q(0040) => q(240),
-      q(0041) => q(225),
-      q(0042) => q(206),
-      q(0043) => q(343),
-      q(0044) => q(200),
-      q(0045) => q(320),
-      q(0046) => q(310),
-      q(0047) => q(286),
-      q(0048) => q(500),
-      q(0049) => q(371),
-      q(0050) => q(501),
-      q(0051) => q(502),
-      q(0052) => q(127),
-      q(0053) => q(125),
-      q(0054) => q(410),
-      q(0055) => q(080),
-      q(0056) => q(450),
-      q(0057) => q(412),
-      q(0058) => q(176),
-      q(0059) => q(610),
-      q(0060) => q(210),
-      q(0061) => q(361),
-      q(0062) => q(413),
-      q(0063) => q(510),
-      q(0064) => q(357),
-      q(0065) => q(411),
-      q(0066) => q(305),
-      q(0067) => q(355),
-      q(0068) => q(322),
-      q(0069) => q(505),
-      q(0070) => q(288),
-      q(0071) => q(345),
-      q(0072) => q(287),
-      q(0073) => q(436),
-      q(0074) => q(317),
-      q(0075) => q(351),
-      q(0076) => q(356),
-      q(0077) => q(217),
-      q(0078) => q(216),
-      q(0079) => q(215),
-      q(0080) => q(335),
-      q(0081) => q(336),
-      q(0082) => q(400),
-      q(0083) => q(401),
-      q(0084) => q(399),
-      q(0085) => q(437),
-      q(0086) => q(202),
-      q(0087) => q(116),
-      q(0088) => q(314),
-      q(0089) => q(140),
-      q(0090) => q(139),
-      q(0091) => q(332),
-      q(0092) => q(090),
-      q(0093) => q(438),
-      q(0094) => q(101),
-      q(0095) => q(100),
-      q(0096) => q(347),
-      q(0097) => q(324),
-      q(0098) => q(145),
-      q(0099) => q(218),
-      q(0100) => q(199),
-      q(0101) => q(337),
-      q(0102) => q(323),
-      q(0103) => q(350),
-      q(0104) => q(106),
-      q(0105) => q(159),
-      q(0106) => q(420),
-      q(0107) => q(165),
-      q(0108) => q(499),
-      q(0109) => q(212),
-      q(0110) => q(261),
-      q(0111) => q(175),
-      q(0112) => q(327),
-      q(0113) => q(219),
-      q(0114) => q(260),
-      q(0115) => q(126),
-      q(0116) => q(263),
-      q(0117) => q(227),
-      q(0118) => q(331),
-      q(0119) => q(131),
-      q(0120) => q(132),
-      q(0121) => q(133),
-      q(0122) => q(115),
-      q(0123) => q(282),
-      q(0124) => q(130),
-      q(0125) => q(900),
-      q(0126) => q(949),
-      q(0127) => q(363),
-      q(0128) => q(620),
-      q(0129) => q(211),
-      q(0130) => q(123),
-      q(0131) => q(292),
-      q(0132) => q(105),
-      q(0133) => q(344),
-      q(0134) => q(095),
-      q(0135) => q(281),
-      q(0136) => q(319),
-      q(0137) => q(302),
-      q(0138) => q(318),
-      q(0139) => q(348),
-      q(0140) => q(398),
-      q(0141) => q(362),
-      q(0142) => q(316),
-      q(0143) => q(135),
-      q(0144) => q(138),
-      q(0145) => q(137),
-      q(0146) => q(136),
-      q(0147) => q(373),
-      q(0148) => q(321),
-      q(0149) => q(353),
-      q(0150) => q(354),
-      q(0151) => q(346),
-      q(0152) => q(520),
-      q(0153) => q(359),
-      q(0154) => q(340),
-      q(0155) => q(290),
-      q(0156) => q(120),
-      q(0157) => q(370),
-      q(0158) => q(170),
-      q(0159) => q(352),
-      q(0160) => q(330),
-      q(0161) => q(326),
-      q(0162) => q(040),
-      q(0163) => q(470),
-      q(0164) => q(280),
-      q(0165) => q(262),
-      q(0166) => q(480),
-      q(0167) => q(030),
-      q(0168) => q(020),
-      q(0169) => q(460),
-      q(0170) => q(994),
-      q(0171) => q(995),
-      q(0172) => q(996),
+      q(0015) => q(334),
+      q(0016) => q(550),
+      q(0017) => q(285),
+      q(0018) => q(300),
+      q(0019) => q(570),
+      q(0020) => q(367),
+      q(0021) => q(372),
+      q(0022) => q(349),
+      q(0023) => q(440),
+      q(0024) => q(201),
+      q(0025) => q(358),
+      q(0026) => q(445),
+      q(0027) => q(291),
+      q(0028) => q(204),
+      q(0029) => q(403),
+      q(0030) => q(220),
+      q(0031) => q(221),
+      q(0032) => q(315),
+      q(0033) => q(250),
+      q(0034) => q(755),
+      q(0035) => q(070),
+      q(0036) => q(060),
+      q(0037) => q(050),
+      q(0038) => q(226),
+      q(0039) => q(430),
+      q(0040) => q(241),
+      q(0041) => q(240),
+      q(0042) => q(225),
+      q(0043) => q(206),
+      q(0044) => q(343),
+      q(0045) => q(200),
+      q(0046) => q(320),
+      q(0047) => q(310),
+      q(0048) => q(286),
+      q(0049) => q(500),
+      q(0050) => q(371),
+      q(0051) => q(501),
+      q(0052) => q(502),
+      q(0053) => q(127),
+      q(0054) => q(125),
+      q(0055) => q(410),
+      q(0056) => q(080),
+      q(0057) => q(450),
+      q(0058) => q(412),
+      q(0059) => q(176),
+      q(0060) => q(610),
+      q(0061) => q(210),
+      q(0062) => q(361),
+      q(0063) => q(413),
+      q(0064) => q(510),
+      q(0065) => q(357),
+      q(0066) => q(411),
+      q(0067) => q(305),
+      q(0068) => q(355),
+      q(0069) => q(322),
+      q(0070) => q(505),
+      q(0071) => q(288),
+      q(0072) => q(345),
+      q(0073) => q(287),
+      q(0074) => q(436),
+      q(0075) => q(317),
+      q(0076) => q(351),
+      q(0077) => q(356),
+      q(0078) => q(217),
+      q(0079) => q(216),
+      q(0080) => q(215),
+      q(0081) => q(364),
+      q(0082) => q(335),
+      q(0083) => q(336),
+      q(0084) => q(400),
+      q(0085) => q(401),
+      q(0086) => q(399),
+      q(0087) => q(437),
+      q(0088) => q(202),
+      q(0089) => q(116),
+      q(0090) => q(314),
+      q(0091) => q(140),
+      q(0092) => q(139),
+      q(0093) => q(332),
+      q(0094) => q(090),
+      q(0095) => q(438),
+      q(0096) => q(101),
+      q(0097) => q(100),
+      q(0098) => q(347),
+      q(0099) => q(324),
+      q(0100) => q(145),
+      q(0101) => q(218),
+      q(0102) => q(199),
+      q(0103) => q(337),
+      q(0104) => q(323),
+      q(0105) => q(350),
+      q(0106) => q(106),
+      q(0107) => q(159),
+      q(0108) => q(420),
+      q(0109) => q(165),
+      q(0110) => q(499),
+      q(0111) => q(212),
+      q(0112) => q(261),
+      q(0113) => q(175),
+      q(0114) => q(327),
+      q(0115) => q(219),
+      q(0116) => q(260),
+      q(0117) => q(126),
+      q(0118) => q(263),
+      q(0119) => q(227),
+      q(0120) => q(331),
+      q(0121) => q(131),
+      q(0122) => q(132),
+      q(0123) => q(133),
+      q(0124) => q(115),
+      q(0125) => q(282),
+      q(0126) => q(130),
+      q(0127) => q(900),
+      q(0128) => q(949),
+      q(0129) => q(363),
+      q(0130) => q(620),
+      q(0131) => q(211),
+      q(0132) => q(123),
+      q(0133) => q(292),
+      q(0134) => q(105),
+      q(0135) => q(344),
+      q(0136) => q(095),
+      q(0137) => q(281),
+      q(0138) => q(319),
+      q(0139) => q(302),
+      q(0140) => q(318),
+      q(0141) => q(348),
+      q(0142) => q(398),
+      q(0143) => q(362),
+      q(0144) => q(316),
+      q(0145) => q(135),
+      q(0146) => q(138),
+      q(0147) => q(137),
+      q(0148) => q(136),
+      q(0149) => q(373),
+      q(0150) => q(321),
+      q(0151) => q(353),
+      q(0152) => q(354),
+      q(0153) => q(346),
+      q(0154) => q(520),
+      q(0155) => q(359),
+      q(0156) => q(340),
+      q(0157) => q(290),
+      q(0158) => q(120),
+      q(0159) => q(370),
+      q(0160) => q(170),
+      q(0161) => q(352),
+      q(0162) => q(330),
+      q(0163) => q(326),
+      q(0164) => q(040),
+      q(0165) => q(470),
+      q(0166) => q(280),
+      q(0167) => q(262),
+      q(0168) => q(480),
+      q(0169) => q(030),
+      q(0170) => q(020),
+      q(0171) => q(460),
+      q(0172) => q(994),
+      q(0173) => q(995),
+      q(0174) => q(996),
       },
 };
 
index 25bcdb6..0047021 100644 (file)
@@ -3,7 +3,7 @@ Locale::Codes::Script_Retired;
 
 # This file was automatically generated.  Any changes to this file will
 # be lost the next time 'deprecate_codes' is run.
-#    Generated on: Mon Jun  1 13:35:17 EDT 2015
+#    Generated on: Tue Sep  1 09:20:52 EDT 2015
 
 use strict;
 require 5.006;
@@ -11,7 +11,7 @@ use warnings;
 use utf8;
 
 our($VERSION);
-$VERSION='3.35';
+$VERSION='3.36';
 
 $Locale::Codes::Retired{'script'}{'alpha'}{'code'} = {
 };
index faa6629..889c57b 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.35';
+$VERSION='3.36';
 
 our (@ISA,@EXPORT);
 
@@ -26,8 +26,6 @@ eval "require $backend; $backend->import(); return 1;";
 
 unshift (@ISA, $backend);
 
-sub alias_code                { Locale::Codes::Country::alias_code(@_) }
-
 sub rename_country            { Locale::Codes::Country::rename_country(@_) }
 sub add_country               { Locale::Codes::Country::add_country(@_) }
 sub delete_country            { Locale::Codes::Country::delete_country(@_) }
index e35c4f1..ae36beb 100644 (file)
@@ -15,7 +15,6 @@ Locale::Country - standard codes for country identification
    @names   = all_country_names();
 
    # semi-private routines
-   Locale::Country::alias_code('uk' => 'gb');
    Locale::Country::rename_country('gb' => 'Great Britain');
 
 =head1 DESCRIPTION
@@ -108,29 +107,6 @@ Locale::Codes::Changes document for details.
 
 These routines are all documented in the L<Locale::Codes::API> man page.
 
-=item B<alias_code ( ALIAS, CODE [,CODESET] )>
-
-Version 2.07 included 2 functions for modifying the internal data:
-rename_country and alias_code. Both of these could be used only to
-modify the internal data for country codes.
-
-As of 3.10, the internal data for all types of codes can be modified.
-
-The alias_code function is preserved for backwards compatibility, but
-the following two are identical:
-
-   alias_code(ALIAS,CODE [,CODESET]);
-   rename_country_code(CODE,ALIAS [,CODESET]);
-
-and the latter should be used for consistency.
-
-The alias_code function is deprecated and will be removed in the December
-2014 release.
-
-B<Note:> this function was previously called _alias_code, but the
-leading underscore has been dropped. The old name was supported for
-all 2.X releases, but has been dropped as of 3.00.
-
 =back
 
 =head1 SEE ALSO
index b68c8da..cc2cd24 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.35';
+$VERSION='3.36';
 
 our (@ISA,@EXPORT);
 
index a14a879..2861f96 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.35';
+$VERSION='3.36';
 
 our (@ISA,@EXPORT);
 
index 6a8ac38..e9e4ecf 100644 (file)
@@ -10,7 +10,7 @@ use warnings;
 use Exporter;
 
 our $VERSION;
-$VERSION='3.35';
+$VERSION='3.36';
 
 our (@ISA,@EXPORT);
 
diff --git a/cpan/Locale-Codes/t/alias_code.t b/cpan/Locale-Codes/t/alias_code.t
deleted file mode 100644 (file)
index 014b25a..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/perl -w
-
-require 5.002;
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-use Locale::Codes::Country;
-
-%type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
-          "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
-          "LOCALE_CODE_NUMERIC" => LOCALE_CODE_NUMERIC,
-        );
-
-sub test {
-   my(@test) = @_;
-
-   if ($test[0] eq "alias_code") {
-      shift(@test);
-      $test[2]  = $type{$test[2]}
-        if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Codes::Country::alias_code(@test,"nowarn");
-
-   } elsif ($test[0] eq "country2code") {
-      shift(@test);
-      $test[1]  = $type{$test[1]}   if (@test == 2  &&  $test[1]  &&  exists $type{$test[1]});
-      return country2code(@test);
-
-   } else {
-      $test[1]  = $type{$test[1]}
-        if (@test == 2  &&  $test[1]  &&  exists $type{$test[1]});
-      return code2country(@test);
-   }
-}
-
-$tests = "
-
-gb
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-uk
-   ~
-   _undef_
-
-country2code
-United Kingdom
-   ~
-   gb
-
-alias_code uk gb LOCALE_CODE_FOO ~ 0
-
-alias_code uk x1 ~ 0
-
-alias_code us gb ~ 0
-
-alias_code uk gb LOCALE_CODE_ALPHA_3 ~ 0
-
-gb
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-uk
-   ~
-   _undef_
-
-country2code
-United Kingdom
-   ~
-   gb
-
-alias_code uk gb ~ uk
-
-gb
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-uk
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-country2code
-United Kingdom
-   ~
-   uk
-
-";
-
-print "alias_code...\n";
-test_Func(\&test,$tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: -2
-# End:
diff --git a/cpan/Locale-Codes/t/alias_code_old.t b/cpan/Locale-Codes/t/alias_code_old.t
deleted file mode 100644 (file)
index 0dce7a9..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/perl -w
-
-require 5.002;
-
-$runtests=shift(@ARGV);
-if ( -f "t/testfunc.pl" ) {
-  require "t/testfunc.pl";
-  $dir="./lib";
-  $tdir="t";
-} elsif ( -f "testfunc.pl" ) {
-  require "testfunc.pl";
-  $dir="../lib";
-  $tdir=".";
-} else {
-  die "ERROR: cannot find testfunc.pl\n";
-}
-
-unshift(@INC,$dir);
-use Locale::Country;
-
-%type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
-          "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
-          "LOCALE_CODE_NUMERIC" => LOCALE_CODE_NUMERIC,
-        );
-
-sub test {
-   my(@test) = @_;
-
-   if ($test[0] eq "alias_code") {
-      shift(@test);
-      $test[2]  = $type{$test[2]}
-        if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Country::alias_code(@test,"nowarn");
-
-   } elsif ($test[0] eq "country2code") {
-      shift(@test);
-      $test[1]  = $type{$test[1]}   if (@test == 2  &&  $test[1]  &&  exists $type{$test[1]});
-      return country2code(@test);
-
-   } else {
-      $test[1]  = $type{$test[1]}
-        if (@test == 2  &&  $test[1]  &&  exists $type{$test[1]});
-      return code2country(@test);
-   }
-}
-
-$tests = "
-
-gb
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-uk
-   ~
-   _undef_
-
-country2code
-United Kingdom
-   ~
-   gb
-
-alias_code uk gb LOCALE_CODE_FOO ~ 0
-
-alias_code uk x1 ~ 0
-
-alias_code us gb ~ 0
-
-alias_code uk gb LOCALE_CODE_ALPHA_3 ~ 0
-
-gb
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-uk
-   ~
-   _undef_
-
-country2code
-United Kingdom
-   ~
-   gb
-
-alias_code uk gb ~ uk
-
-gb
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-uk
-   ~
-   United Kingdom of Great Britain and Northern Ireland
-
-country2code
-United Kingdom
-   ~
-   uk
-
-";
-
-print "alias_code (old)...\n";
-test_Func(\&test,$tests,$runtests);
-
-1;
-# Local Variables:
-# mode: cperl
-# indent-tabs-mode: nil
-# cperl-indent-level: 3
-# cperl-continued-statement-offset: 2
-# cperl-continued-brace-offset: 0
-# cperl-brace-offset: 0
-# cperl-brace-imaginary-offset: 0
-# cperl-label-offset: -2
-# End:
index 969019d..08c443e 100644 (file)
@@ -12,7 +12,8 @@ use File::Spec::Functions qw(catfile catdir splitdir);
 use vars qw($VERSION @Pagers $Bindir $Pod2man
   $Temp_Files_Created $Temp_File_Lifetime
 );
-$VERSION = '3.25';
+$VERSION = '3.25_01'; # patched in perl5.git
+$VERSION =~ s/_//;
 
 #..........................................................................
 
@@ -69,6 +70,7 @@ BEGIN {
  *is_cygwin  = $^O eq 'cygwin'  ? \&TRUE : \&FALSE unless defined &is_cygwin;
  *is_linux   = $^O eq 'linux'   ? \&TRUE : \&FALSE unless defined &is_linux;
  *is_hpux    = $^O =~ m/hpux/   ? \&TRUE : \&FALSE unless defined &is_hpux;
+ *is_amigaos = $^O eq 'amigaos' ? \&TRUE : \&FALSE unless defined &is_amigaos;
 }
 
 $Temp_File_Lifetime ||= 60 * 60 * 24 * 5;
@@ -484,7 +486,7 @@ sub init_formatter_class_list {
 
   $self->opt_M_with('Pod::Perldoc::ToPod');   # the always-there fallthru
   $self->opt_o_with('text');
-  $self->opt_o_with('term') unless $self->is_mswin32 || $self->is_dos
+  $self->opt_o_with('term') unless $self->is_mswin32 || $self->is_dos || $self->is_amigaos
        || !($ENV{TERM} && (
               ($ENV{TERM} || '') !~ /dumb|emacs|none|unknown/i
            ));
@@ -1912,10 +1914,15 @@ sub page {  # apply a pager to the output file
         #  many many corners of the OS don't like it.  So we
         #  have to force it to be "\" to make everyone happy.
 
+        # if we are on an amiga convert unix path to an amiga one
+        $output =~ s/^\/(.*)\/(.*)/$1:$2/ if $self->is_amigaos;
+
         foreach my $pager (@pagers) {
             $self->aside("About to try calling $pager $output\n");
             if ($self->is_vms) {
                 last if system("$pager $output") == 0;
+              } elsif($self->is_amigaos) {
+                last if system($pager, $output) == 0;
             } else {
                 # fix visible escape codes in ToTerm output
                 # https://bugs.debian.org/758689
index 0af3975..cd572af 100644 (file)
@@ -3,7 +3,7 @@ package Socket;
 use strict;
 { use 5.006001; }
 
-our $VERSION = '2.020';
+our $VERSION = '2.020_01'; # patched in perl5.git
 
 =head1 NAME
 
index 50a0f31..5f60afa 100644 (file)
@@ -133,6 +133,10 @@ NETINET_DEFINE_CONTEXT
 # define INADDR_LOOPBACK        0x7F000001
 #endif /* INADDR_LOOPBACK */
 
+#ifndef INET_ADDRSTRLEN
+#define INET_ADDRSTRLEN 16
+#endif
+
 #ifndef C_ARRAY_LENGTH
 #define C_ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(*(arr)))
 #endif /* !C_ARRAY_LENGTH */
index cf64bc1..9c944b8 100644 (file)
@@ -23,7 +23,7 @@ our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
                 stat lstat
                );
 
-our $VERSION = '1.9726';
+our $VERSION = '1.9727_02';
 our $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -510,7 +510,7 @@ modglobal hash:
 
   name             C prototype
   ---------------  ----------------------
-  Time::NVtime     double (*)()
+  Time::NVtime     NV (*)()
   Time::U2time     void (*)(pTHX_ UV ret[2])
 
 Both functions return equivalent information (like C<gettimeofday>)
@@ -521,12 +521,12 @@ VMS have emulations for it.)
 
 Here is an example of using C<NVtime> from C:
 
-  double (*myNVtime)(); /* Returns -1 on failure. */
+  NV (*myNVtime)(); /* Returns -1 on failure. */
   SV **svp = hv_fetch(PL_modglobal, "Time::NVtime", 12, 0);
   if (!svp)         croak("Time::HiRes is required");
   if (!SvIOK(*svp)) croak("Time::NVtime isn't a function pointer");
-  myNVtime = INT2PTR(double(*)(), SvIV(*svp));
-  printf("The current time is: %f\n", (*myNVtime)());
+  myNVtime = INT2PTR(NV(*)(), SvIV(*svp));
+  printf("The current time is: %" NVff "\n", (*myNVtime)());
 
 =head1 DIAGNOSTICS
 
index 96640e9..dd2effa 100644 (file)
@@ -731,7 +731,7 @@ myNVtime()
 static void
 hrstatns(UV *atime_nsec, UV *mtime_nsec, UV *ctime_nsec)
 {
-  dTHXR;
+  dTHX;
 #if TIME_HIRES_STAT == 1
   *atime_nsec = PL_statcache.st_atimespec.tv_nsec;
   *mtime_nsec = PL_statcache.st_mtimespec.tv_nsec;
@@ -1109,6 +1109,12 @@ setitimer(which, seconds, interval = 0)
        newit.it_interval.tv_sec  = (IV)interval;
        newit.it_interval.tv_usec =
          (IV)((interval - (NV)newit.it_interval.tv_sec) * NV_1E6);
+        /* on some platforms the 1st arg to setitimer is an enum, which
+         * causes -Wc++-compat to complain about passing an int instead
+         */
+#ifdef GCC_DIAG_IGNORE
+        GCC_DIAG_IGNORE(-Wc++-compat);
+#endif
        if (setitimer(which, &newit, &oldit) == 0) {
          EXTEND(sp, 1);
          PUSHs(sv_2mortal(newSVnv(TV2NV(oldit.it_value))));
@@ -1117,6 +1123,9 @@ setitimer(which, seconds, interval = 0)
            PUSHs(sv_2mortal(newSVnv(TV2NV(oldit.it_interval))));
          }
        }
+#ifdef GCC_DIAG_RESTORE
+        GCC_DIAG_RESTORE;
+#endif
 
 void
 getitimer(which)
@@ -1124,6 +1133,12 @@ getitimer(which)
     PREINIT:
        struct itimerval nowit;
     PPCODE:
+        /* on some platforms the 1st arg to getitimer is an enum, which
+         * causes -Wc++-compat to complain about passing an int instead
+         */
+#ifdef GCC_DIAG_IGNORE
+        GCC_DIAG_IGNORE(-Wc++-compat);
+#endif
        if (getitimer(which, &nowit) == 0) {
          EXTEND(sp, 1);
          PUSHs(sv_2mortal(newSVnv(TV2NV(nowit.it_value))));
@@ -1132,6 +1147,9 @@ getitimer(which)
            PUSHs(sv_2mortal(newSVnv(TV2NV(nowit.it_interval))));
          }
        }
+#ifdef GCC_DIAG_RESTORE
+        GCC_DIAG_RESTORE;
+#endif
 
 #endif /* #if defined(HAS_GETITIMER) && defined(HAS_SETITIMER) */
 
@@ -1247,7 +1265,7 @@ clock()
        clock_t clocks;
     CODE:
        clocks = clock();
-       RETVAL = clocks == -1 ? -1 : (NV)clocks / (NV)CLOCKS_PER_SEC;
+       RETVAL = clocks == (clock_t) -1 ? (clock_t) -1 : (NV)clocks / (NV)CLOCKS_PER_SEC;
 
     OUTPUT:
        RETVAL
@@ -1284,7 +1302,7 @@ PROTOTYPE: ;$
        fakeop.op_flags = GIMME_V == G_ARRAY ? OPf_WANT_LIST :
                GIMME_V == G_SCALAR ? OPf_WANT_SCALAR : OPf_WANT_VOID;
        PL_op = &fakeop;
-       (void)fakeop.op_ppaddr(aTHXR);
+       (void)fakeop.op_ppaddr(aTHX);
        SPAGAIN;
        LEAVE;
        nret = SP+1 - &ST(0);
index 394cb91..6904b12 100644 (file)
@@ -153,8 +153,10 @@ __EOD__
            if ( $ok && exists $args{run} && $args{run}) {
                my $tmp_exe =
                    File::Spec->catfile(File::Spec->curdir, $tmp_exe);
+               my @run = $tmp_exe;
+               unshift @run, $Config{run} if $Config{run} && -e $Config{run};
                printf "Running $tmp_exe..." if $VERBOSE;
-               if (system($tmp_exe) == 0) {
+               if (system(@run) == 0) {
                    $ok = 1;
                } else {
                    $ok = 0;
index a9ef80d..9eb2b93 100644 (file)
@@ -43,7 +43,9 @@ note "setitimer: ", join(" ",
 
 # Assume interval timer granularity of $limit * 0.5 seconds.  Too bold?
 my $virt = Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL);
-ok defined $virt && abs($virt / 0.5) - 1 < $limit;
+ok(defined $virt && abs($virt / 0.5) - 1 < $limit,
+   "ITIMER_VIRTUAL defined with sufficient granularity")
+   or diag "virt=" . (defined $virt ? $virt : 'undef');
 
 note "getitimer: ", join(" ",
     Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL));
@@ -57,7 +59,8 @@ note "getitimer: ", join(" ",
     Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL));
 
 $virt = Time::HiRes::getitimer(&Time::HiRes::ITIMER_VIRTUAL);
-ok defined $virt && $virt == 0;
+note "at end, i=$i";
+is($virt, 0, "time left should be zero");
 
 $SIG{VTALRM} = 'DEFAULT';
 
index 4cc880b..7b9ab45 100644 (file)
@@ -8,7 +8,7 @@ package Win32;
     require DynaLoader;
 
     @ISA = qw|Exporter DynaLoader|;
-    $VERSION = '0.51';
+    $VERSION = '0.52';
     $XS_VERSION = $VERSION;
     $VERSION = eval $VERSION;
 
@@ -215,7 +215,7 @@ sub PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT () { 0x01E } # Windows Essential Bu
 sub PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY   () { 0x01F } # Windows Essential Business Server Security Server
 sub PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING  () { 0x020 } # Windows Essential Business Server Messaging Server
 sub PRODUCT_SERVER_FOUNDATION                () { 0x021 } # Server Foundation
-
+#define PRODUCT_HOME_PREMIUM_SERVER                 0x00000022
 sub PRODUCT_SERVER_FOR_SMALLBUSINESS_V       () { 0x023 } # Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
 sub PRODUCT_STANDARD_SERVER_V                () { 0x024 } # Server Standard without Hyper-V (full installation)
 sub PRODUCT_DATACENTER_SERVER_V              () { 0x025 } # Server Datacenter without Hyper-V (full installation)
@@ -224,17 +224,84 @@ sub PRODUCT_DATACENTER_SERVER_CORE_V         () { 0x027 } # Server Datacenter wi
 sub PRODUCT_STANDARD_SERVER_CORE_V           () { 0x028 } # Server Standard without Hyper-V (core installation)
 sub PRODUCT_ENTERPRISE_SERVER_CORE_V         () { 0x029 } # Server Enterprise without Hyper-V (core installation)
 sub PRODUCT_HYPERV                           () { 0x02A } # Microsoft Hyper-V Server
-
+#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE         0x0000002B
+#define PRODUCT_STORAGE_STANDARD_SERVER_CORE        0x0000002C
+#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE       0x0000002D
+#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE      0x0000002E
 sub PRODUCT_STARTER_N                        () { 0x02F } # Starter N
 sub PRODUCT_PROFESSIONAL                     () { 0x030 } # Professional
 sub PRODUCT_PROFESSIONAL_N                   () { 0x031 } # Professional N
-
+#define PRODUCT_SB_SOLUTION_SERVER                  0x00000032
+#define PRODUCT_SERVER_FOR_SB_SOLUTIONS             0x00000033
+#define PRODUCT_STANDARD_SERVER_SOLUTIONS           0x00000034
+#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE      0x00000035
+#define PRODUCT_SB_SOLUTION_SERVER_EM               0x00000036
+#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM          0x00000037
+#define PRODUCT_SOLUTION_EMBEDDEDSERVER             0x00000038
+#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE        0x00000039
+#define PRODUCT_PROFESSIONAL_EMBEDDED               0x0000003A
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT       0x0000003B
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL       0x0000003C
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC    0x0000003D
+#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC    0x0000003E
+#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE   0x0000003F
+#define PRODUCT_CLUSTER_SERVER_V                    0x00000040
+#define PRODUCT_EMBEDDED                            0x00000041
 sub PRODUCT_STARTER_E                        () { 0x042 } # Starter E
 sub PRODUCT_HOME_BASIC_E                     () { 0x043 } # Home Basic E
 sub PRODUCT_HOME_PREMIUM_E                   () { 0x044 } # Home Premium E
 sub PRODUCT_PROFESSIONAL_E                   () { 0x045 } # Professional E
 sub PRODUCT_ENTERPRISE_E                     () { 0x046 } # Enterprise E
 sub PRODUCT_ULTIMATE_E                       () { 0x047 } # Ultimate E
+#define PRODUCT_ENTERPRISE_EVALUATION               0x00000048
+#define PRODUCT_MULTIPOINT_STANDARD_SERVER          0x0000004C
+#define PRODUCT_MULTIPOINT_PREMIUM_SERVER           0x0000004D
+#define PRODUCT_STANDARD_EVALUATION_SERVER          0x0000004F
+#define PRODUCT_DATACENTER_EVALUATION_SERVER        0x00000050
+#define PRODUCT_ENTERPRISE_N_EVALUATION             0x00000054
+#define PRODUCT_EMBEDDED_AUTOMOTIVE                 0x00000055
+#define PRODUCT_EMBEDDED_INDUSTRY_A                 0x00000056
+#define PRODUCT_THINPC                              0x00000057
+#define PRODUCT_EMBEDDED_A                          0x00000058
+#define PRODUCT_EMBEDDED_INDUSTRY                   0x00000059
+#define PRODUCT_EMBEDDED_E                          0x0000005A
+#define PRODUCT_EMBEDDED_INDUSTRY_E                 0x0000005B
+#define PRODUCT_EMBEDDED_INDUSTRY_A_E               0x0000005C
+#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F
+#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER  0x00000060
+#define PRODUCT_CORE_ARM                            0x00000061
+sub PRODUCT_CORE_N                           () { 0x62 } # Windows 10 Home N
+sub PRODUCT_CORE_COUNTRYSPECIFIC             () { 0x63 } # Windows 10 Home China
+sub PRODUCT_CORE_SINGLELANGUAGE              () { 0x64 } # Windows 10 Home Single Language
+sub PRODUCT_CORE                             () { 0x65 } # Windows 10 Home
+#define PRODUCT_PROFESSIONAL_WMC                    0x00000067
+#define PRODUCT_MOBILE_CORE                         0x00000068
+#define PRODUCT_EMBEDDED_INDUSTRY_EVAL              0x00000069
+#define PRODUCT_EMBEDDED_INDUSTRY_E_EVAL            0x0000006A
+#define PRODUCT_EMBEDDED_EVAL                       0x0000006B
+#define PRODUCT_EMBEDDED_E_EVAL                     0x0000006C
+#define PRODUCT_NANO_SERVER                         0x0000006D
+#define PRODUCT_CLOUD_STORAGE_SERVER                0x0000006E
+#define PRODUCT_CORE_CONNECTED                      0x0000006F
+#define PRODUCT_PROFESSIONAL_STUDENT                0x00000070
+#define PRODUCT_CORE_CONNECTED_N                    0x00000071
+#define PRODUCT_PROFESSIONAL_STUDENT_N              0x00000072
+#define PRODUCT_CORE_CONNECTED_SINGLELANGUAGE       0x00000073
+#define PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC      0x00000074
+#define PRODUCT_CONNECTED_CAR                       0x00000075
+#define PRODUCT_INDUSTRY_HANDHELD                   0x00000076
+#define PRODUCT_PPI_PRO                             0x00000077
+#define PRODUCT_ARM64_SERVER                        0x00000078
+sub PRODUCT_EDUCATION                        () { 0x79 } # Windows 10 Education
+sub PRODUCT_EDUCATION_N                      () { 0x7A } # Windows 10 Education N
+#define PRODUCT_IOTUAP                              0x0000007B
+#define PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER    0x0000007C
+#define PRODUCT_ENTERPRISE_S                        0x0000007D
+#define PRODUCT_ENTERPRISE_S_N                      0x0000007E
+#define PRODUCT_PROFESSIONAL_S                      0x0000007F
+#define PRODUCT_PROFESSIONAL_S_N                    0x00000080
+#define PRODUCT_ENTERPRISE_S_EVALUATION             0x00000081
+#define PRODUCT_ENTERPRISE_S_N_EVALUATION           0x00000082
 
 sub PRODUCT_UNLICENSED                       () { 0xABCDABCD } # product has not been activated and is no longer in the grace period
 
@@ -477,8 +544,13 @@ sub _GetOSName {
                    $desc = "R2";
                }
            }
+        }
+       elsif ($major == 10) {
+            $os = '10';
+        }
 
-        if ($productinfo == PRODUCT_ULTIMATE) {
+        if ($major >= 6) {
+            if ($productinfo == PRODUCT_ULTIMATE) {
                $desc .= " Ultimate";
            }
             elsif ($productinfo == PRODUCT_HOME_PREMIUM) {
@@ -540,7 +612,7 @@ sub _GetOSName {
            elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
                $desc .= " (64-bit)";
            }
-       }
+       } 
     }
 
     unless (defined $os) {
index 098a169..fd9e5ec 100644 (file)
@@ -104,6 +104,11 @@ my @dual_tests = (
 ["2012",                            "2012",    2, 6, 2, 0x00, 2, 89  ],
 ["[Small Business Server] 2008 R2", "2008",    2, 6, 1, 0x09, 2, 89  ],
 
+["8.1",                             "8.1",     2, 6, 3               ],
+["2012 [R2]",                       "2012",    2, 6, 3, 0x00, 2, 89  ],
+
+["10",                              "10",      2, 10, 0              ],
+
 );
 
 my @ia64_tests = (
index befa409..ec9807c 100644 (file)
@@ -1,5 +1,5 @@
 package experimental;
-$experimental::VERSION = '0.013';
+$experimental::VERSION = '0.014';
 use strict;
 use warnings;
 use version ();
@@ -20,6 +20,7 @@ my %features = map { $_ => 1 } $] > 5.015006 ? keys %feature::feature : do {
 my %min_version = (
        array_base      => '5',
        autoderef       => '5.14.0',
+       bitwise         => '5.22.0',
        current_sub     => '5.16.0',
        evalbytes       => '5.16.0',
        fc              => '5.16.0',
@@ -27,7 +28,7 @@ my %min_version = (
        lexical_subs    => '5.18.0',
        postderef       => '5.20.0',
        postderef_qq    => '5.20.0',
-       refaliasing     => '5.21.5',
+       refaliasing     => '5.22.0',
        regex_sets      => '5.18.0',
        say             => '5.10.0',
        smartmatch      => '5.10.0',
@@ -119,7 +120,7 @@ experimental - Experimental features made easy
 
 =head1 VERSION
 
-version 0.013
+version 0.014
 
 =head1 SYNOPSIS
 
diff --git a/cv.h b/cv.h
index d4dfd2d..ebbdd36 100644 (file)
--- a/cv.h
+++ b/cv.h
@@ -264,7 +264,7 @@ There is a further complication with non-closure anonymous subs (i.e. those
 that do not refer to any lexicals outside that sub).  In this case, the
 anonymous prototype is shared rather than being cloned.  This has the
 consequence that the parent may be freed while there are still active
-children, eg
+children, I<e.g.>,
 
     BEGIN { $a = sub { eval '$x' } }
 
index 5b191eb..61192b8 100644 (file)
@@ -87,7 +87,7 @@ BEGIN {
     }
 }
 
-our $VERSION = '1.36';
+our $VERSION = '1.37';
 
 our $MaxEvalLen = 0;
 our $Verbose    = 0;
@@ -229,7 +229,7 @@ sub caller_info {
             my $overflow;
             if ( $MaxArgNums and @args > $MaxArgNums )
             {    # More than we want to show?
-                $#args = $MaxArgNums;
+                $#args = $MaxArgNums - 1;
                 $overflow = 1;
             }
 
@@ -783,7 +783,8 @@ Defaults to C<64>.
 =head2 $Carp::MaxArgNums
 
 This variable determines how many arguments to each function to show.
-Use a value of C<0> to show all arguments to a function call.
+Use a false value to show all arguments to a function call.  To suppress all
+arguments, use C<-1> or C<'0 but true'>.
 
 Defaults to C<8>.
 
index a602297..ed446c5 100644 (file)
@@ -2,7 +2,7 @@ package Carp::Heavy;
 
 use Carp ();
 
-our $VERSION = '1.36';
+our $VERSION = '1.37';
 
 # Carp::Heavy was merged into Carp in version 1.12.  Any mismatched versions
 # after this point are not significant and can be ignored.
index 3d707a1..c86f5ff 100644 (file)
@@ -3,7 +3,7 @@ no warnings "once";
 use Config;
 
 use IPC::Open3 1.0103 qw(open3);
-use Test::More tests => 60;
+use Test::More tests => 65;
 
 sub runperl {
     my(%args) = @_;
@@ -237,16 +237,28 @@ sub w { cluck @_ }
 
 # $Carp::MaxArgNums
 {
-    my $i    = 0;
     my $aref = [
-        qr/1234 at \S*(?i:carp.t) line \d+\.\n\s*main::w\(1, 2, 3, 4\) called at \S*(?i:carp.t) line \d+/,
-        qr/1234 at \S*(?i:carp.t) line \d+\.\n\s*main::w\(1, 2, \.\.\.\) called at \S*(?i:carp.t) line \d+/,
+        [ -1            => '(...)' ],
+        [ 0             => '(1, 2, 3, 4)' ],
+        [ '0 but true'  => '(...)' ],
+        [ 1             => '(1, ...)' ],
+        [ 3             => '(1, 2, 3, ...)' ],
+        [ 4             => '(1, 2, 3, 4)' ],
+        [ 5             => '(1, 2, 3, 4)' ],
     ];
 
     for (@$aref) {
-        local $Carp::MaxArgNums = $i++;
+        my ($arg_count, $expected_signature) = @$_;
+
+        my $expected = join('',
+            '1234 at \S*(?i:carp.t) line \d+\.\n\s*main::w',
+            quotemeta $expected_signature,
+            ' called at \S*(?i:carp.t) line \d+'
+        );
+
+        local $Carp::MaxArgNums = $arg_count;
         local $SIG{__WARN__} = sub {
-            like "@_", $_, 'MaxArgNums';
+            like "@_", qr/$expected/, "MaxArgNums=$arg_count";
         };
 
         package Z;
index 233a8a1..108b6fa 100644 (file)
@@ -1,8 +1,15 @@
 Revision history for Perl extension ExtUtils::ParseXS.
 
-3.26 - not released yet
+3.30 - Mon Aug 31 10:35:00 CET 2015
+  - Promote to stable CPAN release.
+
+3.29_01 - Mon Aug 10 10:45:00 CET 2015
   - Support added for XS handshake API introduced in 5.21.6.
-  - backported S_croak_xs_usage optimized on threaded builds
+  - Backported S_croak_xs_usage optimized on threaded builds
+  - Fix INCLUDE_COMMAND $^X for Perl In Space
+  - Remove 'use lib' left over from refactoring
+  - Document + improve ancient optimization in ParseXS
+  - Improve RETVAL code gen
 
 3.24 - Wed Mar  5 18:20:00 CET 2014
   - Native Android build fixes
index 8b4d7cf..f67a82d 100644 (file)
@@ -11,7 +11,7 @@ use Symbol;
 
 our $VERSION;
 BEGIN {
-  $VERSION = '3.29';
+  $VERSION = '3.30';
 }
 use ExtUtils::ParseXS::Constants $VERSION;
 use ExtUtils::ParseXS::CountLines $VERSION;
index 7ea1a82..8856551 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use warnings;
 use Symbol;
 
-our $VERSION = '3.29';
+our $VERSION = '3.30';
 
 =head1 NAME
 
index 6724522..2f45292 100644 (file)
@@ -1,7 +1,7 @@
 package ExtUtils::ParseXS::CountLines;
 use strict;
 
-our $VERSION = '3.29';
+our $VERSION = '3.30';
 
 our $SECTION_END_MARKER;
 
index f85740d..8c075a3 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::ParseXS::Eval;
 use strict;
 use warnings;
 
-our $VERSION = '3.29';
+our $VERSION = '3.30';
 
 =head1 NAME
 
index a5920fd..4de9f4e 100644 (file)
@@ -5,7 +5,7 @@ use Exporter;
 use File::Spec;
 use ExtUtils::ParseXS::Constants ();
 
-our $VERSION = '3.29';
+our $VERSION = '3.30';
 
 our (@ISA, @EXPORT_OK);
 @ISA = qw(Exporter);
index 98cb34a..a16ae06 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps;
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.29';
+our $VERSION = '3.30';
 
 require ExtUtils::ParseXS;
 require ExtUtils::ParseXS::Constants;
index c0d13c6..ccd5efe 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::Cmd;
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.30';
 
 use ExtUtils::Typemaps;
 
index 3a7c6fe..67ea1c2 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::InputMap;
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.30';
 
 =head1 NAME
 
index 758ad5e..42cbe5c 100644 (file)
@@ -2,7 +2,7 @@ package ExtUtils::Typemaps::OutputMap;
 use 5.006001;
 use strict;
 use warnings;
-our $VERSION = '3.28';
+our $VERSION = '3.30';
 
 =head1 NAME
 
index 47a2662..7e0f4ba 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use warnings;
 require ExtUtils::Typemaps;
 
-our $VERSION = '3.28';
+our $VERSION = '3.30';
 
 =head1 NAME
 
index deb3ddb..96e0e4c 100644 (file)
@@ -1,3 +1,9 @@
+5.20150920
+  - Updated for v5.23.3
+
+5.20150912
+  - Updated for v5.20.3
+
 5.20150820
   - Updated for v5.23.2
 
index 266dbba..48f53a9 100644 (file)
@@ -4,7 +4,7 @@ use vars qw/$VERSION %released %version %families %upstream
            %bug_tracker %deprecated %delta/;
 use Module::CoreList::TieHashDelta;
 use version;
-$VERSION = '5.20150820';
+$VERSION = '5.20150920';
 
 sub _released_order {   # Sort helper, to make '?' sort after everything else
     (substr($released{$a}, 0, 1) eq "?")
@@ -282,6 +282,8 @@ sub changes_between {
     5.023000 => '2015-06-20',
     5.023001 => '2015-07-20',
     5.023002 => '2015-08-20',
+    5.020003 => '2015-09-12',
+    5.023003 => '2015-09-20',
   );
 
 for my $version ( sort { $a <=> $b } keys %released ) {
@@ -11690,6 +11692,147 @@ for my $version ( sort { $a <=> $b } keys %released ) {
         removed => {
         }
     },
+    5.020003 => {
+        delta_from => 5.020002,
+        changed => {
+            'Config'                => '5.020003',
+            'Errno'                 => '1.20_06',
+            'Module::CoreList'      => '5.20150912',
+            'Module::CoreList::TieHashDelta'=> '5.20150912',
+            'Module::CoreList::Utils'=> '5.20150912',
+        },
+        removed => {
+        }
+    },
+    5.023003 => {
+        delta_from => 5.023002,
+        changed => {
+            'Amiga::ARexx'          => '0.02',
+            'Amiga::Exec'           => '0.01',
+            'B'                     => '1.59',
+            'B::Op_private'         => '5.023003',
+            'Carp'                  => '1.37',
+            'Carp::Heavy'           => '1.37',
+            'Compress::Raw::Zlib'   => '2.068_01',
+            'Config'                => '5.023003',
+            'Cwd'                   => '3.58',
+            'DynaLoader'            => '1.34',
+            'Encode'                => '2.77',
+            'Encode::Unicode'       => '2.14',
+            'English'               => '1.10',
+            'Errno'                 => '1.24',
+            'ExtUtils::Command'     => '7.10',
+            'ExtUtils::Command::MM' => '7.10',
+            'ExtUtils::Liblist'     => '7.10',
+            'ExtUtils::Liblist::Kid'=> '7.10',
+            'ExtUtils::MM'          => '7.10',
+            'ExtUtils::MM_AIX'      => '7.10',
+            'ExtUtils::MM_Any'      => '7.10',
+            'ExtUtils::MM_BeOS'     => '7.10',
+            'ExtUtils::MM_Cygwin'   => '7.10',
+            'ExtUtils::MM_DOS'      => '7.10',
+            'ExtUtils::MM_Darwin'   => '7.10',
+            'ExtUtils::MM_MacOS'    => '7.10',
+            'ExtUtils::MM_NW5'      => '7.10',
+            'ExtUtils::MM_OS2'      => '7.10',
+            'ExtUtils::MM_QNX'      => '7.10',
+            'ExtUtils::MM_UWIN'     => '7.10',
+            'ExtUtils::MM_Unix'     => '7.10',
+            'ExtUtils::MM_VMS'      => '7.10',
+            'ExtUtils::MM_VOS'      => '7.10',
+            'ExtUtils::MM_Win32'    => '7.10',
+            'ExtUtils::MM_Win95'    => '7.10',
+            'ExtUtils::MY'          => '7.10',
+            'ExtUtils::MakeMaker'   => '7.10',
+            'ExtUtils::MakeMaker::Config'=> '7.10',
+            'ExtUtils::MakeMaker::Locale'=> '7.10',
+            'ExtUtils::MakeMaker::version'=> '7.10',
+            'ExtUtils::MakeMaker::version::regex'=> '7.10',
+            'ExtUtils::MakeMaker::version::vpp'=> '7.10',
+            'ExtUtils::Mkbootstrap' => '7.10',
+            'ExtUtils::Mksymlists'  => '7.10',
+            'ExtUtils::ParseXS'     => '3.30',
+            'ExtUtils::ParseXS::Constants'=> '3.30',
+            'ExtUtils::ParseXS::CountLines'=> '3.30',
+            'ExtUtils::ParseXS::Eval'=> '3.30',
+            'ExtUtils::ParseXS::Utilities'=> '3.30',
+            'ExtUtils::Typemaps'    => '3.30',
+            'ExtUtils::Typemaps::Cmd'=> '3.30',
+            'ExtUtils::Typemaps::InputMap'=> '3.30',
+            'ExtUtils::Typemaps::OutputMap'=> '3.30',
+            'ExtUtils::Typemaps::Type'=> '3.30',
+            'ExtUtils::testlib'     => '7.10',
+            'File::Find'            => '1.31',
+            'File::Glob'            => '1.25',
+            'File::Spec'            => '3.58',
+            'File::Spec::AmigaOS'   => '3.58',
+            'File::Spec::Cygwin'    => '3.58',
+            'File::Spec::Epoc'      => '3.58',
+            'File::Spec::Functions' => '3.58',
+            'File::Spec::Mac'       => '3.58',
+            'File::Spec::OS2'       => '3.58',
+            'File::Spec::Unix'      => '3.58',
+            'File::Spec::VMS'       => '3.58',
+            'File::Spec::Win32'     => '3.58',
+            'Hash::Util::FieldHash' => '1.17',
+            'Locale::Codes'         => '3.36',
+            'Locale::Codes::Constants'=> '3.36',
+            'Locale::Codes::Country'=> '3.36',
+            'Locale::Codes::Country_Codes'=> '3.36',
+            'Locale::Codes::Country_Retired'=> '3.36',
+            'Locale::Codes::Currency'=> '3.36',
+            'Locale::Codes::Currency_Codes'=> '3.36',
+            'Locale::Codes::Currency_Retired'=> '3.36',
+            'Locale::Codes::LangExt'=> '3.36',
+            'Locale::Codes::LangExt_Codes'=> '3.36',
+            'Locale::Codes::LangExt_Retired'=> '3.36',
+            'Locale::Codes::LangFam'=> '3.36',
+            'Locale::Codes::LangFam_Codes'=> '3.36',
+            'Locale::Codes::LangFam_Retired'=> '3.36',
+            'Locale::Codes::LangVar'=> '3.36',
+            'Locale::Codes::LangVar_Codes'=> '3.36',
+            'Locale::Codes::LangVar_Retired'=> '3.36',
+            'Locale::Codes::Language'=> '3.36',
+            'Locale::Codes::Language_Codes'=> '3.36',
+            'Locale::Codes::Language_Retired'=> '3.36',
+            'Locale::Codes::Script' => '3.36',
+            'Locale::Codes::Script_Codes'=> '3.36',
+            'Locale::Codes::Script_Retired'=> '3.36',
+            'Locale::Country'       => '3.36',
+            'Locale::Currency'      => '3.36',
+            'Locale::Language'      => '3.36',
+            'Locale::Script'        => '3.36',
+            'Math::BigFloat::Trace' => '0.40',
+            'Math::BigInt::Trace'   => '0.40',
+            'Module::CoreList'      => '5.20150920',
+            'Module::CoreList::TieHashDelta'=> '5.20150920',
+            'Module::CoreList::Utils'=> '5.20150920',
+            'OS2::DLL'              => '1.06',
+            'OS2::ExtAttr'          => '0.04',
+            'OS2::Process'          => '1.11',
+            'OS2::REXX'             => '1.05',
+            'POSIX'                 => '1.57',
+            'Pod::Perldoc'          => '3.25_01',
+            'Socket'                => '2.020_01',
+            'Test'                  => '1.27',
+            'Thread::Queue'         => '3.06',
+            'Time::HiRes'           => '1.9727_02',
+            'Unicode::UCD'          => '0.63',
+            'Win32'                 => '0.52',
+            'XS::APItest'           => '0.75',
+            'bigint'                => '0.40',
+            'bignum'                => '0.40',
+            'bigrat'                => '0.40',
+            'encoding'              => '2.17',
+            'experimental'          => '0.014',
+            'if'                    => '0.0605',
+            'locale'                => '1.07',
+            'mro'                   => '1.18',
+            'threads'               => '2.03',
+        },
+        removed => {
+        }
+    },
 );
 
 sub is_core
@@ -12267,6 +12410,20 @@ for my $version (sort { $a <=> $b } keys %delta) {
         removed => {
         }
     },
+    5.020003 => {
+        delta_from => 5.020002,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.023003 => {
+        delta_from => 5.023002,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
 for my $version (sort { $a <=> $b } keys %deprecated) {
@@ -12483,6 +12640,12 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Locale::Script'        => 'cpan',
     'MIME::Base64'          => 'cpan',
     'MIME::QuotedPrint'     => 'cpan',
+    'Math::BigFloat'        => 'cpan',
+    'Math::BigInt'          => 'cpan',
+    'Math::BigInt::Calc'    => 'cpan',
+    'Math::BigInt::CalcEmu' => 'cpan',
+    'Math::BigInt::FastCalc'=> 'cpan',
+    'Math::BigRat'          => 'cpan',
     'Math::Complex'         => 'cpan',
     'Math::Trig'            => 'cpan',
     'Memoize'               => 'cpan',
@@ -12625,7 +12788,6 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'TAP::Parser::YAMLish::Writer'=> 'cpan',
     'Term::ANSIColor'       => 'cpan',
     'Term::Cap'             => 'cpan',
-    'Test'                  => 'cpan',
     'Test::Builder'         => 'cpan',
     'Test::Builder::IO::Scalar'=> 'cpan',
     'Test::Builder::Module' => 'cpan',
@@ -12770,7 +12932,7 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Encode::TW'            => undef,
     'Encode::Unicode'       => undef,
     'Encode::Unicode::UTF7' => undef,
-    'ExtUtils::Command'     => 'http://rt.perl.org/rt3/',
+    'ExtUtils::Command'     => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
     'ExtUtils::Command::MM' => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker',
     'ExtUtils::Constant'    => undef,
     'ExtUtils::Constant::Base'=> undef,
@@ -12884,6 +13046,12 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Locale::Script'        => undef,
     'MIME::Base64'          => undef,
     'MIME::QuotedPrint'     => undef,
+    'Math::BigFloat'        => undef,
+    'Math::BigInt'          => undef,
+    'Math::BigInt::Calc'    => undef,
+    'Math::BigInt::CalcEmu' => undef,
+    'Math::BigInt::FastCalc'=> undef,
+    'Math::BigRat'          => undef,
     'Math::Complex'         => undef,
     'Math::Trig'            => undef,
     'Memoize'               => undef,
@@ -12943,34 +13111,34 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'Pod::Perldoc::ToXml'   => undef,
     'Pod::PlainText'        => undef,
     'Pod::Select'           => undef,
-    'Pod::Simple'           => undef,
-    'Pod::Simple::BlackBox' => undef,
-    'Pod::Simple::Checker'  => undef,
-    'Pod::Simple::Debug'    => undef,
-    'Pod::Simple::DumpAsText'=> undef,
-    'Pod::Simple::DumpAsXML'=> undef,
-    'Pod::Simple::HTML'     => undef,
-    'Pod::Simple::HTMLBatch'=> undef,
-    'Pod::Simple::HTMLLegacy'=> undef,
-    'Pod::Simple::LinkSection'=> undef,
-    'Pod::Simple::Methody'  => undef,
-    'Pod::Simple::Progress' => undef,
-    'Pod::Simple::PullParser'=> undef,
-    'Pod::Simple::PullParserEndToken'=> undef,
-    'Pod::Simple::PullParserStartToken'=> undef,
-    'Pod::Simple::PullParserTextToken'=> undef,
-    'Pod::Simple::PullParserToken'=> undef,
-    'Pod::Simple::RTF'      => undef,
-    'Pod::Simple::Search'   => undef,
-    'Pod::Simple::SimpleTree'=> undef,
-    'Pod::Simple::Text'     => undef,
-    'Pod::Simple::TextContent'=> undef,
-    'Pod::Simple::TiedOutFH'=> undef,
-    'Pod::Simple::Transcode'=> undef,
-    'Pod::Simple::TranscodeDumb'=> undef,
-    'Pod::Simple::TranscodeSmart'=> undef,
-    'Pod::Simple::XHTML'    => undef,
-    'Pod::Simple::XMLOutStream'=> undef,
+    'Pod::Simple'           => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::BlackBox' => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::Checker'  => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::Debug'    => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::DumpAsText'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::DumpAsXML'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::HTML'     => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::HTMLBatch'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::HTMLLegacy'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::LinkSection'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::Methody'  => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::Progress' => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::PullParser'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::PullParserEndToken'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::PullParserStartToken'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::PullParserTextToken'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::PullParserToken'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::RTF'      => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::Search'   => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::SimpleTree'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::Text'     => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::TextContent'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::TiedOutFH'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::Transcode'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::TranscodeDumb'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::TranscodeSmart'=> 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::XHTML'    => 'https://github.com/perl-pod/pod-simple/issues',
+    'Pod::Simple::XMLOutStream'=> 'https://github.com/perl-pod/pod-simple/issues',
     'Pod::Text'             => undef,
     'Pod::Text::Color'      => undef,
     'Pod::Text::Overstrike' => undef,
@@ -13026,7 +13194,6 @@ for my $version (sort { $a <=> $b } keys %deprecated) {
     'TAP::Parser::YAMLish::Writer'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'Term::ANSIColor'       => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Term-ANSIColor',
     'Term::Cap'             => undef,
-    'Test'                  => undef,
     'Test::Builder'         => 'http://github.com/Test-More/test-more/issues/',
     'Test::Builder::IO::Scalar'=> 'http://github.com/Test-More/test-more/issues/',
     'Test::Builder::Module' => 'http://github.com/Test-More/test-more/issues/',
index 1f2c8ab..e6e5c91 100644 (file)
@@ -3,7 +3,7 @@ package Module::CoreList::TieHashDelta;
 use strict;
 use vars qw($VERSION);
 
-$VERSION = '5.20150820';
+$VERSION = '5.20150920';
 
 sub TIEHASH {
     my ($class, $changed, $removed, $parent) = @_;
index bfc1800..2775586 100644 (file)
@@ -6,7 +6,7 @@ use vars qw[$VERSION %utilities];
 use Module::CoreList;
 use Module::CoreList::TieHashDelta;
 
-$VERSION = '5.20150820';
+$VERSION = '5.20150920';
 
 sub utilities {
     my $perl = shift;
@@ -1073,6 +1073,20 @@ my %delta = (
         removed => {
         }
     },
+    5.020003 => {
+        delta_from => 5.020002,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.023003 => {
+        delta_from => 5.023002,
+        changed => {
+        },
+        removed => {
+        }
+    },
 );
 
 for my $version (sort { $a <=> $b } keys %delta) {
index 0765de4..39c841d 100644 (file)
@@ -3,7 +3,7 @@ use strict;
 use Exporter;
 use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 my $xs_version = $VERSION;
 $VERSION =~ tr/_//;
 
@@ -158,6 +158,14 @@ my %METHOD_MAP =
     fastcwd            => 'cwd',
     abs_path           => 'fast_abs_path',
    },
+
+   amigaos =>
+   {
+    getcwd              => '_backtick_pwd',
+    fastgetcwd          => '_backtick_pwd',
+    fastcwd             => '_backtick_pwd',
+    abs_path            => 'fast_abs_path',
+   }
   );
 
 $METHOD_MAP{NT} = $METHOD_MAP{MSWin32};
@@ -210,9 +218,12 @@ sub _croak { require Carp; Carp::croak(@_) }
 
 # The 'natural and safe form' for UNIX (pwd may be setuid root)
 sub _backtick_pwd {
-    # Localize %ENV entries in a way that won't create new hash keys
-    my @localize = grep exists $ENV{$_}, qw(PATH IFS CDPATH ENV BASH_ENV);
-    local @ENV{@localize};
+
+    # Localize %ENV entries in a way that won't create new hash keys.
+    # Under AmigaOS we don't want to localize as it stops perl from
+    # finding 'sh' in the PATH.
+    my @localize = grep exists $ENV{$_}, qw(PATH IFS CDPATH ENV BASH_ENV) if $^O ne "amigaos";
+    local @ENV{@localize} if @localize;
     
     my $cwd = `$pwd_cmd`;
     # Belt-and-suspenders in case someone said "undef $/".
index 2f35526..7ee0edb 100644 (file)
@@ -3,7 +3,7 @@ package File::Spec;
 use strict;
 use vars qw(@ISA $VERSION);
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 my %module = (MacOS   => 'Mac',
@@ -14,7 +14,8 @@ my %module = (MacOS   => 'Mac',
              NetWare => 'Win32', # Yes, File::Spec::Win32 works on NetWare.
              symbian => 'Win32', # Yes, File::Spec::Win32 works on symbian.
              dos     => 'OS2',   # Yes, File::Spec::OS2 works on DJGPP.
-             cygwin  => 'Cygwin');
+             cygwin  => 'Cygwin',
+             amigaos => 'AmigaOS');
 
 
 my $module = $module{$^O} || 'Unix';
diff --git a/dist/PathTools/lib/File/Spec/AmigaOS.pm b/dist/PathTools/lib/File/Spec/AmigaOS.pm
new file mode 100644 (file)
index 0000000..b65c4a4
--- /dev/null
@@ -0,0 +1,61 @@
+package File::Spec::AmigaOS;
+
+use strict;
+use vars qw(@ISA $VERSION);
+require File::Spec::Unix;
+
+$VERSION = '3.58';
+$VERSION =~ tr/_//;
+
+@ISA = qw(File::Spec::Unix);
+
+=head1 NAME
+
+File::Spec::AmigaOS - File::Spec for AmigaOS
+
+=head1 SYNOPSIS
+
+ require File::Spec::AmigaOS; # Done automatically by File::Spec if needed
+
+=head1 DESCRIPTION
+
+Methods for manipulating file specifications.
+
+=head1 METHODS
+
+=over 2
+
+=item tmpdir
+
+Returns $ENV{TMPDIR} or if that is unset, "/t".
+
+=cut
+
+my $tmpdir;
+sub tmpdir {
+  return $tmpdir if defined $tmpdir;
+  $tmpdir = $_[0]->_tmpdir( $ENV{TMPDIR}, "/t" );
+}
+
+=item file_name_is_absolute
+
+Returns true if there's a colon in the file name,
+or if it begins with a slash.
+
+=cut
+
+sub file_name_is_absolute {
+  my ($self, $file) = @_;
+
+  # Not 100% robust as a "/" must not preceded a ":"
+  # but this cannot happen in a well formed path.
+  return $file =~ m{^/|:}s;
+}
+
+=back
+
+All the other methods are from L<File::Spec::Unix>.
+
+=cut
+
+1;
index e5839e9..3fd74a4 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
index 390a641..bfae600 100644 (file)
@@ -3,7 +3,7 @@ package File::Spec::Epoc;
 use strict;
 use vars qw($VERSION @ISA);
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 require File::Spec::Unix;
index 5c2cec0..5b28a5d 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 
 use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 require Exporter;
index 7cc816f..9853df4 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
index 8d3951f..ff81d83 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
index 48e2b60..11d99c7 100644 (file)
@@ -3,7 +3,7 @@ package File::Spec::Unix;
 use strict;
 use vars qw($VERSION);
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 my $xs_version = $VERSION;
 $VERSION =~ tr/_//;
 
index 5e4a3b3..a3b9c47 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
index 77e0fed..eabf625 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.57';
+$VERSION = '3.58';
 $VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
similarity index 94%
rename from cpan/Test/lib/Test.pm
rename to dist/Test/lib/Test.pm
index 108bc10..cad2bcb 100644 (file)
@@ -20,7 +20,7 @@ sub _reset_globals {
     $planned    = 0;
 }
 
-$VERSION = '1.26';
+$VERSION = '1.27';
 require Exporter;
 @ISA=('Exporter');
 
@@ -239,9 +239,31 @@ sub _quote {
     $str =~ s/\n/\\n/g;
     $str =~ s/\r/\\r/g;
     $str =~ s/\t/\\t/g;
-    $str =~ s/([\0-\037])(?!\d)/sprintf('\\%o',ord($1))/eg;
-    $str =~ s/([\0-\037\177-\377])/sprintf('\\x%02X',ord($1))/eg;
-    $str =~ s/([^\0-\176])/sprintf('\\x{%X}',ord($1))/eg;
+    if (defined $^V && $^V ge v5.6) {
+        $str =~ s/([[:cntrl:]])(?!\d)/sprintf('\\%o',ord($1))/eg;
+        $str =~ s/([[:^print:]])/sprintf('\\x%02X',ord($1))/eg;
+        $str =~ s/([[:^ascii:]])/sprintf('\\x{%X}',ord($1))/eg;
+    }
+    elsif (ord("A") == 65) {
+        $str =~ s/([\0-\037])(?!\d)/sprintf('\\%o',ord($1))/eg;
+        $str =~ s/([\0-\037\177-\377])/sprintf('\\x%02X',ord($1))/eg;
+        $str =~ s/([^\0-\176])/sprintf('\\x{%X}',ord($1))/eg;
+    }
+    else { # Assuming EBCDIC on this ancient Perl
+
+        # The controls except for one are 0-\077, so almost all controls on
+        # EBCDIC platforms will be expressed in octal, instead of just the C0
+        # ones.
+        $str =~ s/([\0-\077])(?!\d)/sprintf('\\%o',ord($1))/eg;
+        $str =~ s/([\0-\077])/sprintf('\\x%02X',ord($1))/eg;
+
+        $str =~ s/([^\0-\xFF])/sprintf('\\x{%X}',ord($1))/eg;
+
+        # What remains to be escaped are the non-ASCII-range characters,
+        # including the one control that isn't in the 0-077 range.
+        # (We don't escape further any ASCII printables.)
+        $str =~ s<[^ !"\$\%#'()*+,\-./0123456789:;\<=\>?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~]><sprintf('\\x%02X',ord($1))>eg;
+    }
     #if( $_[1] ) {
     #  substr( $str , 218-3 ) = "..."
     #   if length($str) >= 218 and !$ENV{PERL_TEST_NO_TRUNC};
@@ -273,14 +295,16 @@ the test fails.  Examples:
     ok( $foo =~ /bar/ );        # ok if $foo contains 'bar'
     ok( baz($x + $y) eq 'Armondo' );    # ok if baz($x + $y) returns
                                         # 'Armondo'
-    ok( @a == @b );             # ok if @a and @b are the same length
+    ok( @a == @b );             # ok if @a and @b are the same
+                                # length
 
 The expression is evaluated in scalar context.  So the following will
 work:
 
-    ok( @stuff );                       # ok if @stuff has any elements
-    ok( !grep !defined $_, @stuff );    # ok if everything in @stuff is
-                                        # defined.
+    ok( @stuff );                       # ok if @stuff has any
+                                        # elements
+    ok( !grep !defined $_, @stuff );    # ok if everything in @stuff
+                                        # is defined.
 
 A special case is if the expression is a subroutine reference (in either
 C<sub {...}> syntax or C<\&foo> syntax).  In
@@ -634,7 +658,8 @@ Example usage:
   my $if_MSWin =
     $^O =~ m/MSWin/ ? 'Skip if under MSWin' : '';
 
-  # A test to be skipped if under MSWin (i.e., run except under MSWin)
+  # A test to be skipped if under MSWin (i.e., run except under
+  # MSWin)
   skip($if_MSWin, thing($foo), thing($bar) );
 
 Or, going the other way:
@@ -642,7 +667,8 @@ Or, going the other way:
   my $unless_MSWin =
     $^O =~ m/MSWin/ ? '' : 'Skip unless under MSWin';
 
-  # A test to be skipped unless under MSWin (i.e., run only under MSWin)
+  # A test to be skipped unless under MSWin (i.e., run only under
+  # MSWin)
   skip($unless_MSWin, thing($foo), thing($bar) );
 
 The tricky thing to remember is that the first parameter is true if
@@ -931,7 +957,7 @@ L<Test::Builder> for building your own testing library.
 
 L<Test::Unit> is an interesting XUnit-style testing library.
 
-L<Test::Inline> and L<SelfTest> let you embed tests in code.
+L<Test::Inline> lets you embed tests in code.
 
 
 =head1 AUTHOR
similarity index 100%
rename from cpan/Test/t/fail.t
rename to dist/Test/t/fail.t
similarity index 100%
rename from cpan/Test/t/mix.t
rename to dist/Test/t/mix.t
similarity index 100%
rename from cpan/Test/t/onfail.t
rename to dist/Test/t/onfail.t
similarity index 100%
rename from cpan/Test/t/qr.t
rename to dist/Test/t/qr.t
similarity index 100%
rename from cpan/Test/t/skip.t
rename to dist/Test/t/skip.t
similarity index 100%
rename from cpan/Test/t/success.t
rename to dist/Test/t/success.t
similarity index 100%
rename from cpan/Test/t/todo.t
rename to dist/Test/t/todo.t
index 316644a..b1842ca 100644 (file)
@@ -3,7 +3,7 @@ package Thread::Queue;
 use strict;
 use warnings;
 
-our $VERSION = '3.05';
+our $VERSION = '3.06';
 $VERSION = eval $VERSION;
 
 use threads::shared 1.21;
@@ -26,14 +26,29 @@ sub enqueue
 {
     my $self = shift;
     lock(%$self);
+
     if ($$self{'ENDED'}) {
         require Carp;
         Carp::croak("'enqueue' method called on queue that has been 'end'ed");
     }
-    push(@{$$self{'queue'}}, map { shared_clone($_) } @_)
+
+    # Block if queue size exceeds any specified limit
+    my $queue = $$self{'queue'};
+    cond_wait(%$self) while ($$self{'LIMIT'} && (@$queue >= $$self{'LIMIT'}));
+
+    # Add items to queue, and then signal other threads
+    push(@$queue, map { shared_clone($_) } @_)
         and cond_signal(%$self);
 }
 
+# Set or return the max. size for a queue
+sub limit : lvalue
+{
+    my $self = shift;
+    lock(%$self);
+    $$self{'LIMIT'};
+}
+
 # Return a count of the number of items on a queue
 sub pending
 {
@@ -47,7 +62,7 @@ sub pending
 sub end
 {
     my $self = shift;
-    lock $self;
+    lock(%$self);
     # No more data is coming
     $$self{'ENDED'} = 1;
     # Try to release at least one blocked thread
@@ -289,7 +304,7 @@ Thread::Queue - Thread-safe queues
 
 =head1 VERSION
 
-This document describes Thread::Queue version 3.05
+This document describes Thread::Queue version 3.06
 
 =head1 SYNOPSIS
 
@@ -334,6 +349,9 @@ This document describes Thread::Queue version 3.05
         # Work on $item
     }
 
+    # Set a size for a queue
+    $q->limit = 5;
+
     # Get the second item in the queue without dequeuing anything
     my $item = $q->peek(1);
 
@@ -423,7 +441,7 @@ Adds a list of items onto the end of the queue.
 Removes the requested number of items (default is 1) from the head of the
 queue, and returns them.  If the queue contains fewer than the requested
 number of items, then the thread will be blocked until the requisite number
-of items are available (i.e., until other threads <enqueue> more items).
+of items are available (i.e., until other threads C<enqueue> more items).
 
 =item ->dequeue_nb()
 
@@ -461,6 +479,21 @@ behaves the same as C<dequeue_nb>.
 Returns the number of items still in the queue.  Returns C<undef> if the queue
 has been ended (see below), and there are no more items in the queue.
 
+=item ->limit
+
+Sets the size of the queue.  If set, calls to C<enqueue()> will block until
+the number of pending items in the queue drops below the C<limit>.  The
+C<limit> does not prevent enqueuing items beyond that count:
+
+    my $q = Thread::Queue->new(1, 2);
+    $q->limit = 4;
+    $q->enqueue(3, 4, 5);   # Does not block
+    $q->enqueue(6);         # Blocks until at least 2 items are
+                            # dequeued
+    my $size = $q->limit;   # Returns the current limit (may return
+                            # 'undef')
+    $q->limit = 0;          # Queue size is now unlimited
+
 =item ->end()
 
 Declares that no more items will be added to the queue.
@@ -482,7 +515,8 @@ while it is being examined and/or changed, L<lock|threads::shared/"lock
 VARIABLE"> the queue inside a local block:
 
     {
-        lock($q);   # Keep other threads from changing the queue's contents
+        lock($q);   # Keep other threads from changing the queue's
+                    # contents
         my $item = $q->peek();
         if ($item ...) {
             ...
@@ -561,11 +595,11 @@ of the queue (similar to C<dequeue_nb>) if the count overlaps the head of the
 queue from the specified position (i.e. if queue size + index + count is
 greater than zero):
 
   $q->enqueue(qw/foo bar baz/);
   my @nada = $q->extract(-6, 2);   # Returns ()         - (3+(-6)+2) <= 0
   my @some = $q->extract(-6, 4);   # Returns (foo)      - (3+(-6)+4) > 0
-                                     # Queue now contains:  bar, baz
-    my @rest = $q->extract(-3, 4);   # Returns (bar, baz) - (2+(-3)+4) > 0
+ $q->enqueue(qw/foo bar baz/);
my @nada = $q->extract(-6, 2); # Returns ()         - (3+(-6)+2) <= 0
my @some = $q->extract(-6, 4); # Returns (foo)      - (3+(-6)+4) > 0
+                                # Queue now contains:  bar, baz
+my @rest = $q->extract(-3, 4);  # Returns (bar, baz) - (2+(-3)+4) > 0
 
 =back
 
index 0af2db1..f9e258e 100644 (file)
@@ -29,7 +29,7 @@ ok($q, 'New queue');
 my $sm = Thread::Semaphore->new(0);
 my $st = Thread::Semaphore->new(0);
 
-my $thread = threads->create(sub {
+threads->create(sub {
     {
         lock($q);
         $sm->up();
@@ -39,7 +39,7 @@ my $thread = threads->create(sub {
         my @x = $q->extract(5,2);
         is_deeply(\@x, [6,7], 'Thread dequeues under lock');
     }
-});
+})->detach();
 
 $sm->down();
 $st->up();
@@ -47,8 +47,6 @@ my @x = $q->dequeue_nb(100);
 is_deeply(\@x, [1..5,8..10], 'Main dequeues');
 threads::yield();
 
-$thread->join;
-
 exit(0);
 
 # EOF
diff --git a/dist/Thread-Queue/t/11_limit.t b/dist/Thread-Queue/t/11_limit.t
new file mode 100644 (file)
index 0000000..a2ab918
--- /dev/null
@@ -0,0 +1,101 @@
+use strict;
+use warnings;
+
+use Config;
+
+BEGIN {
+    if (! $Config{'useithreads'}) {
+        print("1..0 # SKIP Perl not compiled with 'useithreads'\n");
+        exit(0);
+    }
+    if (! $Config{'d_select'}) {
+        print("1..0 # SKIP 'select()' not available for testing\n");
+        exit(0);
+    }
+}
+
+use threads;
+use Thread::Queue;
+
+use Test::More;
+
+plan tests => 8;
+
+my $q = Thread::Queue->new();
+my $rpt = Thread::Queue->new();
+
+my $th = threads->create( sub {
+    # (1) Set queue limit, and report it
+    $q->limit = 3;
+    $rpt->enqueue($q->limit);
+
+    # (3) Fetch an item from queue
+    my $item = $q->dequeue();
+    is($item, 1, 'Dequeued item 1');
+    # Report queue count
+    $rpt->enqueue($q->pending());
+
+    # q = (2, 3, 4, 5); r = (4)
+
+    # (4) Enqueue more items - will block
+    $q->enqueue(6, 7);
+    # q = (5, 'foo', 6, 7); r = (4, 3, 4, 3)
+
+    # (6) Get reports from main
+    my @items = $rpt->dequeue(5);
+    is_deeply(\@items, [4, 3, 4, 3, 'go'], 'Queue reports');
+
+    # Dequeue all items
+    @items = $q->dequeue_nb(99);
+    is_deeply(\@items, [5, 'foo', 6, 7], 'Queue items');
+});
+
+# (2) Read queue limit from thread
+my $item = $rpt->dequeue();
+is($item, $q->limit, 'Queue limit set');
+# Send items
+$q->enqueue(1, 2, 3, 4, 5);
+
+# (5) Read queue count
+$item = $rpt->dequeue;
+# q = (2, 3, 4, 5); r = ()
+is($item, $q->pending(), 'Queue count');
+# Report back the queue count
+$rpt->enqueue($q->pending);
+# q = (2, 3, 4, 5); r = (4)
+
+# Read an item from queue
+$item = $q->dequeue();
+is($item, 2, 'Dequeued item 2');
+# q = (3, 4, 5); r = (4)
+# Report back the queue count
+$rpt->enqueue($q->pending);
+# q = (3, 4, 5); r = (4, 3)
+
+# 'insert' doesn't care about queue limit
+$q->insert(3, 'foo');
+$rpt->enqueue($q->pending);
+# q = (3, 4, 5, 'foo'); r = (4, 3, 4)
+
+# Read an item from queue
+$item = $q->dequeue();
+is($item, 3, 'Dequeued item 3');
+# q = (3, 4, 5); r = (4)
+# Report back the queue count
+$rpt->enqueue($q->pending);
+# q = (4, 5, 'foo'); r = (4, 3, 4, 3)
+
+# Read an item from queue
+$item = $q->dequeue();
+is($item, 4, 'Dequeued item 4');
+# Thread is now unblocked
+
+# Handshake with thread
+$rpt->enqueue('go');
+
+# (7) - Done
+$th->join;
+
+exit(0);
+
+# EOF
index 203e051..6eee9fa 100644 (file)
@@ -12,47 +12,46 @@ use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
 
 @ISA = qw(Exporter Math::BigFloat);
 
-$VERSION = '0.36';
+$VERSION = '0.40';
 
-use overload;  # inherit overload from BigFloat
+use overload;                   # inherit overload from BigFloat
 
 # Globals
 $accuracy = $precision = undef;
 $round_mode = 'even';
 $div_scale = 40;
 
-sub new
-{
-        my $proto  = shift;
-        my $class  = ref($proto) || $proto;
+sub new {
+    my $proto = shift;
+    my $class = ref($proto) || $proto;
 
-        my $value       = shift;
-       my $a = $accuracy; $a = $_[0] if defined $_[0];
-       my $p = $precision; $p = $_[1] if defined $_[1];
-        my $self = Math::BigFloat->new($value,$a,$p,$round_mode);
+    my $value = shift;
+    my $a = $accuracy;
+    $a = $_[0] if defined $_[0];
+    my $p = $precision;
+    $p = $_[1] if defined $_[1];
+    my $self = Math::BigFloat->new($value, $a, $p, $round_mode);
 
-#      remember, downgrading may return a BigInt, so don't meddle with class   
-#      bless $self,$class;
+    # remember, downgrading may return a BigInt, so don't meddle with class
+    # bless $self, $class;
 
-       print "MBF new '$value' => '$self' (",ref($self),")";
-        return $self;
+    print "MBF new '$value' => '$self' (", ref($self), ")";
+    return $self;
 }
 
-sub import
-  {
-  print "MBF import ",join(' ',@_);
-  my $self = shift;
+sub import {
+    print "MBF import ", join(' ', @_);
+    my $self = shift;
 
-  # we catch the constants, the rest goes go BigFloat
-  my @a = ();
-  foreach (@_)
-    {
-    push @a, $_ if $_ ne ':constant';
+    # we catch the constants, the rest goes go BigFloat
+    my @a = ();
+    foreach (@_) {
+        push @a, $_ if $_ ne ':constant';
     }
-  overload::constant float => sub { $self->new(shift); }; 
+    overload::constant float => sub { $self->new(shift); };
 
-  Math::BigFloat->import(@a);          # need it for subclasses
-#  $self->export_to_level(1,$self,@_);         # need this ?
-  }
+    Math::BigFloat->import(@a);                 # need it for subclasses
+#    $self->export_to_level(1,$self,@_);         # need this ?
+}
 
 1;
index 79fc097..6cab46c 100644 (file)
@@ -12,36 +12,36 @@ use vars qw($VERSION @ISA $PACKAGE @EXPORT_OK
 
 @ISA = qw(Exporter Math::BigInt);
 
-$VERSION = '0.36';
+$VERSION = '0.40';
 
-use overload;  # inherit overload from BigInt
+use overload;                   # inherit overload from BigInt
 
 # Globals
 $accuracy = $precision = undef;
 $round_mode = 'even';
 $div_scale = 40;
 
-sub new
-{
-        my $proto  = shift;
-        my $class  = ref($proto) || $proto;
-
-        my $value       = shift;
-       my $a = $accuracy; $a = $_[0] if defined $_[0];
-       my $p = $precision; $p = $_[1] if defined $_[1];
-        my $self = Math::BigInt->new($value,$a,$p,$round_mode);
-       bless $self,$class;
-       print "MBI new '$value' => '$self' (",ref($self),")";
-        return $self;
+sub new {
+    my $proto  = shift;
+    my $class  = ref($proto) || $proto;
+
+    my $value = shift;
+    my $a = $accuracy;
+    $a = $_[0] if defined $_[0];
+    my $p = $precision;
+    $p = $_[1] if defined $_[1];
+    my $self = Math::BigInt->new($value, $a, $p, $round_mode);
+    bless $self, $class;
+    print "MBI new '$value' => '$self' (", ref($self), ")";
+    return $self;
 }
 
-sub import
-  {
-  print "MBI import ",join(' ',@_);
-  my $self = shift;
-  Math::BigInt::import($self,@_);              # need it for subclasses
-#  $self->export_to_level(1,$self,@_);         # need this ?
-  @_ = ();
-  }
+sub import {
+    print "MBI import ", join(' ', @_);
+    my $self = shift;
+    Math::BigInt::import($self, @_);            # need it for subclasses
+#    $self->export_to_level(1, $self, @_);       # need this ?
+    @_ = ();
+}
 
 1;
index 3bcf15a..e6481bd 100644 (file)
 package bigint;
 use 5.006;
 
-$VERSION = '0.39';
+$VERSION = '0.40';
 use Exporter;
-@ISA           = qw( Exporter );
-@EXPORT_OK     = qw( PI e bpi bexp hex oct );
-@EXPORT                = qw( inf NaN );
+@ISA            = qw( Exporter );
+@EXPORT_OK      = qw( PI e bpi bexp hex oct );
+@EXPORT         = qw( inf NaN );
 
 use strict;
 use overload;
 
-############################################################################## 
+##############################################################################
 
 # These are all alike, and thus faked by AUTOLOAD
 
 my @faked = qw/round_mode accuracy precision div_scale/;
-use vars qw/$VERSION $AUTOLOAD $_lite/;                # _lite for testsuite
-
-sub AUTOLOAD
-  {
-  my $name = $AUTOLOAD;
-
-  $name =~ s/.*:://;    # split package
-  no strict 'refs';
-  foreach my $n (@faked)
-    {
-    if ($n eq $name)
-      {
-      *{"bigint::$name"} = sub 
-        {
-        my $self = shift;
-        no strict 'refs';
-        if (defined $_[0])
-          {
-          return Math::BigInt->$name($_[0]);
-          }
-        return Math::BigInt->$name();
-        };
-      return &$name;
-      }
+use vars qw/$VERSION $AUTOLOAD $_lite/;         # _lite for testsuite
+
+sub AUTOLOAD {
+    my $name = $AUTOLOAD;
+
+    $name =~ s/.*:://;          # split package
+    no strict 'refs';
+    foreach my $n (@faked) {
+        if ($n eq $name) {
+            *{"bigint::$name"} =
+              sub {
+                  my $self = shift;
+                  no strict 'refs';
+                  if (defined $_[0]) {
+                      return Math::BigInt->$name($_[0]);
+                  }
+                  return Math::BigInt->$name();
+              };
+            return &$name;
+        }
     }
-  # delayed load of Carp and avoid recursion
-  require Carp;
-  Carp::croak ("Can't call bigint\-\>$name, not a valid method");
-  }
 
-sub upgrade
-  {
-  $Math::BigInt::upgrade;
-  }
+    # delayed load of Carp and avoid recursion
+    require Carp;
+    Carp::croak ("Can't call bigint\-\>$name, not a valid method");
+}
 
-sub _binary_constant
-  {
-  # this takes a binary/hexadecimal/octal constant string and returns it
-  # as string suitable for new. Basically it converts octal to decimal, and
-  # passes every thing else unmodified back.
-  my $string = shift;
+sub upgrade {
+    $Math::BigInt::upgrade;
+}
 
-  return Math::BigInt->new($string) if $string =~ /^0[bx]/;
+sub _binary_constant {
+    # this takes a binary/hexadecimal/octal constant string and returns it
+    # as string suitable for new. Basically it converts octal to decimal, and
+    # passes every thing else unmodified back.
+    my $string = shift;
 
-  # so it must be an octal constant
-  Math::BigInt->from_oct($string);
-  }
+    return Math::BigInt->new($string) if $string =~ /^0[bx]/;
 
-sub _float_constant
-  {
-  # this takes a floating point constant string and returns it truncated to
-  # integer. For instance, '4.5' => '4', '1.234e2' => '123' etc
-  my $float = shift;
-
-  # some simple cases first
-  return $float if ($float =~ /^[+-]?[0-9]+$/);                # '+123','-1','0' etc
-  return $float 
-    if ($float =~ /^[+-]?[0-9]+\.?[eE]\+?[0-9]+$/);    # 123e2, 123.e+2
-  return '0' if ($float =~ /^[+-]?[0]*\.[0-9]+$/);     # .2, 0.2, -.1
-  if ($float =~ /^[+-]?[0-9]+\.[0-9]*$/)               # 1., 1.23, -1.2 etc
-    {
-    $float =~ s/\..*//;
-    return $float;
+    # so it must be an octal constant
+    Math::BigInt->from_oct($string);
+}
+
+sub _float_constant {
+    # this takes a floating point constant string and returns it truncated to
+    # integer. For instance, '4.5' => '4', '1.234e2' => '123' etc
+    my $float = shift;
+
+    # some simple cases first
+    return $float if ($float =~ /^[+-]?[0-9]+$/);       # '+123','-1','0' etc
+    return $float
+      if ($float =~ /^[+-]?[0-9]+\.?[eE]\+?[0-9]+$/);   # 123e2, 123.e+2
+    return '0' if ($float =~ /^[+-]?[0]*\.[0-9]+$/);    # .2, 0.2, -.1
+    if ($float =~ /^[+-]?[0-9]+\.[0-9]*$/) {            # 1., 1.23, -1.2 etc
+        $float =~ s/\..*//;
+        return $float;
     }
-  my ($mis,$miv,$mfv,$es,$ev) = Math::BigInt::_split($float);
-  return $float if !defined $mis;      # doesn't look like a number to me
-  my $ec = int($$ev);
-  my $sign = $$mis; $sign = '' if $sign eq '+';
-  if ($$es eq '-')
-    {
-    # ignore fraction part entirely
-    if ($ec >= length($$miv))                  # 123.23E-4
-      {
-      return '0';
-      }
-    return $sign . substr ($$miv,0,length($$miv)-$ec); # 1234.45E-2 = 12
+    my ($mis, $miv, $mfv, $es, $ev) = Math::BigInt::_split($float);
+    return $float if !defined $mis;       # doesn't look like a number to me
+    my $ec = int($$ev);
+    my $sign = $$mis;
+    $sign = '' if $sign eq '+';
+    if ($$es eq '-') {
+        # ignore fraction part entirely
+        if ($ec >= length($$miv)) {                     # 123.23E-4
+            return '0';
+        }
+        return $sign . substr($$miv, 0, length($$miv) - $ec); # 1234.45E-2 = 12
     }
-  # xE+y
-  if ($ec >= length($$mfv))
-    {
-    $ec -= length($$mfv);                      
-    return $sign.$$miv.$$mfv if $ec == 0;      # 123.45E+2 => 12345
-    return $sign.$$miv.$$mfv.'E'.$ec;          # 123.45e+3 => 12345e1
+    # xE+y
+    if ($ec >= length($$mfv)) {
+        $ec -= length($$mfv);
+        return $sign.$$miv.$$mfv if $ec == 0;           # 123.45E+2 => 12345
+        return $sign.$$miv.$$mfv.'E'.$ec;               # 123.45e+3 => 12345e1
     }
-  $mfv = substr($$mfv,0,$ec);
-  $sign.$$miv.$mfv;                            # 123.45e+1 => 1234
-  }
+    $mfv = substr($$mfv, 0, $ec);
+    $sign.$$miv.$mfv;                                   # 123.45e+1 => 1234
+}
 
-sub unimport
-  {
-  $^H{bigint} = undef;                                 # no longer in effect
-  overload::remove_constant('binary','','float','','integer');
-  }
+sub unimport {
+    $^H{bigint} = undef;                                # no longer in effect
+    overload::remove_constant('binary', '', 'float', '', 'integer');
+}
 
-sub in_effect
-  {
-  my $level = shift || 0;
-  my $hinthash = (caller($level))[10];
-  $hinthash->{bigint};
-  }
+sub in_effect {
+    my $level = shift || 0;
+    my $hinthash = (caller($level))[10];
+    $hinthash->{bigint};
+}
 
 #############################################################################
 # the following two routines are for "use bigint qw/hex oct/;":
@@ -125,21 +113,19 @@ use constant LEXICAL => $] > 5.009004;
 {
     my $proto = LEXICAL ? '_' : ';$';
     eval '
-sub hex(' . $proto . ')' . <<'.';
-  {
-  my $i = @_ ? $_[0] : $_;
-  $i = '0x'.$i unless $i =~ /^0x/;
-  Math::BigInt->new($i);
-  }
+sub hex(' . $proto . ') {' . <<'.';
+    my $i = @_ ? $_[0] : $_;
+    $i = '0x'.$i unless $i =~ /^0x/;
+    Math::BigInt->new($i);
+}
 .
     eval '
-sub oct(' . $proto . ')' . <<'.';
-  {
-  my $i = @_ ? $_[0] : $_;
-  # oct() should never fall back to decimal
-  return Math::BigInt->from_oct($i) if $i =~ s/^(?=0[0-9]|[1-9])/0/;
-  Math::BigInt->new($i);
-  }
+sub oct(' . $proto . ') {' . <<'.';
+    my $i = @_ ? $_[0] : $_;
+    # oct() should never fall back to decimal
+    return Math::BigInt->from_oct($i) if $i =~ s/^(?=0[0-9]|[1-9])/0/;
+    Math::BigInt->new($i);
+}
 .
 }
 
@@ -149,145 +135,143 @@ sub oct(' . $proto . ')' . <<'.';
 my ($prev_oct, $prev_hex, $overridden);
 
 if (LEXICAL) { eval <<'.' }
-sub _hex(_)
-  {
-  my $hh = (caller 0)[10];
-  return $prev_hex ? &$prev_hex($_[0]) : CORE::hex($_[0])
-    unless $$hh{bigint}||$$hh{bignum}||$$hh{bigrat};
-  my $i = $_[0];
-  $i = '0x'.$i unless $i =~ /^0x/;
-  Math::BigInt->new($i);
-  }
+sub _hex(_) {
+    my $hh = (caller 0)[10];
+    return $prev_hex ? &$prev_hex($_[0]) : CORE::hex($_[0])
+      unless $$hh{bigint}||$$hh{bignum}||$$hh{bigrat};
+    my $i = $_[0];
+    $i = '0x'.$i unless $i =~ /^0x/;
+    Math::BigInt->new($i);
+}
 
-sub _oct(_)
-  {
-  my $hh = (caller 0)[10];
-  return $prev_oct ? &$prev_oct($_[0]) : CORE::oct($_[0])
-    unless $$hh{bigint}||$$hh{bignum}||$$hh{bigrat};
-  my $i = $_[0];
-  # oct() should never fall back to decimal
-  return Math::BigInt->from_oct($i) if $i =~ s/^(?=0[0-9]|[1-9])/0/;
-  Math::BigInt->new($i);
-  }
+sub _oct(_) {
+    my $hh = (caller 0)[10];
+    return $prev_oct ? &$prev_oct($_[0]) : CORE::oct($_[0])
+      unless $$hh{bigint}||$$hh{bignum}||$$hh{bigrat};
+    my $i = $_[0];
+    # oct() should never fall back to decimal
+    return Math::BigInt->from_oct($i) if $i =~ s/^(?=0[0-9]|[1-9])/0/;
+    Math::BigInt->new($i);
+}
 .
 
-sub _override
-  {
-  return if $overridden;
-  $prev_oct = *CORE::GLOBAL::oct{CODE};
-  $prev_hex = *CORE::GLOBAL::hex{CODE};
-  no warnings 'redefine';
-  *CORE::GLOBAL::oct = \&_oct;
-  *CORE::GLOBAL::hex = \&_hex;
-  $overridden++;
-  }
+sub _override {
+    return if $overridden;
+    $prev_oct = *CORE::GLOBAL::oct{CODE};
+    $prev_hex = *CORE::GLOBAL::hex{CODE};
+    no warnings 'redefine';
+    *CORE::GLOBAL::oct = \&_oct;
+    *CORE::GLOBAL::hex = \&_hex;
+    $overridden++;
+}
 
-sub import 
-  {
-  my $self = shift;
+sub import {
+    my $self = shift;
 
-  $^H{bigint} = 1;                                     # we are in effect
+    $^H{bigint} = 1;                            # we are in effect
 
-  # for newer Perls always override hex() and oct() with a lexical version:
-  if (LEXICAL)
-    {
-    _override();
+    # for newer Perls always override hex() and oct() with a lexical version:
+    if (LEXICAL) {
+        _override();
     }
-  # some defaults
-  my $lib = ''; my $lib_kind = 'try';
-
-  my @import = ( ':constant' );                                # drive it w/ constant
-  my @a = @_; my $l = scalar @_; my $j = 0;
-  my ($ver,$trace);                                    # version? trace?
-  my ($a,$p);                                          # accuracy, precision
-  for ( my $i = 0; $i < $l ; $i++,$j++ )
-    {
-    if ($_[$i] =~ /^(l|lib|try|only)$/)
-      {
-      # this causes a different low lib to take care...
-      $lib_kind = $1; $lib_kind = 'lib' if $lib_kind eq 'l';
-      $lib = $_[$i+1] || '';
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(a|accuracy)$/)
-      {
-      $a = $_[$i+1];
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(p|precision)$/)
-      {
-      $p = $_[$i+1];
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(v|version)$/)
-      {
-      $ver = 1;
-      splice @a, $j, 1; $j --;
-      }
-    elsif ($_[$i] =~ /^(t|trace)$/)
-      {
-      $trace = 1;
-      splice @a, $j, 1; $j --;
-      }
-    elsif ($_[$i] !~ /^(PI|e|bpi|bexp|hex|oct)\z/)
-      {
-      die ("unknown option $_[$i]");
-      }
-    }
-  my $class;
-  $_lite = 0;                                  # using M::BI::L ?
-  if ($trace)
-    {
-    require Math::BigInt::Trace; $class = 'Math::BigInt::Trace';
+    # some defaults
+    my $lib = '';
+    my $lib_kind = 'try';
+
+    my @import = (':constant');                 # drive it w/ constant
+    my @a = @_;
+    my $l = scalar @_;
+    my $j = 0;
+    my ($ver, $trace);                          # version? trace?
+    my ($a, $p);                                # accuracy, precision
+    for (my $i = 0; $i < $l; $i++, $j++) {
+        if ($_[$i] =~ /^(l|lib|try|only)$/) {
+            # this causes a different low lib to take care...
+            $lib_kind = $1;
+            $lib_kind = 'lib' if $lib_kind eq 'l';
+            $lib = $_[$i + 1] || '';
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        } elsif ($_[$i] =~ /^(a|accuracy)$/) {
+            $a = $_[$i + 1];
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        } elsif ($_[$i] =~ /^(p|precision)$/) {
+            $p = $_[$i + 1];
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        } elsif ($_[$i] =~ /^(v|version)$/) {
+            $ver = 1;
+            splice @a, $j, 1;
+            $j--;
+        } elsif ($_[$i] =~ /^(t|trace)$/) {
+            $trace = 1;
+            splice @a, $j, 1;
+            $j--;
+        } elsif ($_[$i] !~ /^(PI|e|bpi|bexp|hex|oct)\z/) {
+            die ("unknown option $_[$i]");
+        }
     }
-  else
-    {
-    # see if we can find Math::BigInt::Lite
-    if (!defined $a && !defined $p)            # rounding won't work to well
-      {
-      if (eval { require Math::BigInt::Lite; 1 })
-        {
-        @import = ( );                         # :constant in Lite, not MBI
-        Math::BigInt::Lite->import( ':constant' );
-        $_lite= 1;                             # signal okay
+    my $class;
+    $_lite = 0;                                 # using M::BI::L ?
+    if ($trace) {
+        require Math::BigInt::Trace;
+        $class = 'Math::BigInt::Trace';
+    } else {
+        # see if we can find Math::BigInt::Lite
+        if (!defined $a && !defined $p) {       # rounding won't work to well
+            if (eval { require Math::BigInt::Lite; 1 }) {
+                @import = ();                   # :constant in Lite, not MBI
+                Math::BigInt::Lite->import(':constant');
+                $_lite = 1;                     # signal okay
+            }
         }
-      }
-    require Math::BigInt if $_lite == 0;       # not already loaded?
-    $class = 'Math::BigInt';                   # regardless of MBIL or not
+        require Math::BigInt if $_lite == 0;    # not already loaded?
+        $class = 'Math::BigInt';                # regardless of MBIL or not
     }
-  push @import, $lib_kind => $lib if $lib ne '';
-  # Math::BigInt::Trace or plain Math::BigInt
-  $class->import(@import);
-
-  bigint->accuracy($a) if defined $a;
-  bigint->precision($p) if defined $p;
-  if ($ver)
-    {
-    print "bigint\t\t\t v$VERSION\n";
-    print "Math::BigInt::Lite\t v$Math::BigInt::Lite::VERSION\n" if $_lite;
-    print "Math::BigInt\t\t v$Math::BigInt::VERSION";
-    my $config = Math::BigInt->config();
-    print " lib => $config->{lib} v$config->{lib_version}\n";
-    exit;
+    push @import, $lib_kind => $lib if $lib ne '';
+    # Math::BigInt::Trace or plain Math::BigInt
+    $class->import(@import);
+
+    bigint->accuracy($a)  if defined $a;
+    bigint->precision($p) if defined $p;
+    if ($ver) {
+        print "bigint\t\t\t v$VERSION\n";
+        print "Math::BigInt::Lite\t v$Math::BigInt::Lite::VERSION\n" if $_lite;
+        print "Math::BigInt\t\t v$Math::BigInt::VERSION";
+        my $config = Math::BigInt->config();
+        print " lib => $config->{lib} v$config->{lib_version}\n";
+        exit;
     }
-  # we take care of floating point constants, since BigFloat isn't available
-  # and BigInt doesn't like them:
-  overload::constant float => sub { Math::BigInt->new( _float_constant(shift) ); };
-  # Take care of octal/hexadecimal constants
-  overload::constant binary => sub { _binary_constant(shift) };
-
-  # if another big* was already loaded:
-  my ($package) = caller();
-
-  no strict 'refs';
-  if (!defined *{"${package}::inf"})
-    {
-    $self->export_to_level(1,$self,@a);           # export inf and NaN, e and PI
+    # we take care of floating point constants, since BigFloat isn't available
+    # and BigInt doesn't like them:
+    overload::constant float =>
+        sub {
+            Math::BigInt->new(_float_constant(shift));
+        };
+    # Take care of octal/hexadecimal constants
+    overload::constant binary =>
+        sub {
+            _binary_constant(shift);
+        };
+
+    # if another big* was already loaded:
+    my ($package) = caller();
+
+    no strict 'refs';
+    if (!defined *{"${package}::inf"}) {
+        $self->export_to_level(1, $self, @a);   # export inf and NaN, e and PI
     }
-  }
+}
 
 sub inf () { Math::BigInt::binf(); }
 sub NaN () { Math::BigInt::bnan(); }
@@ -295,7 +279,10 @@ sub NaN () { Math::BigInt::bnan(); }
 sub PI () { Math::BigInt->new(3); }
 sub e () { Math::BigInt->new(2); }
 sub bpi ($) { Math::BigInt->new(3); }
-sub bexp ($$) { my $x = Math::BigInt->new($_[0]); $x->bexp($_[1]); }
+sub bexp ($$) {
+    my $x = Math::BigInt->new($_[0]);
+    $x->bexp($_[1]);
+}
 
 1;
 
@@ -309,15 +296,15 @@ bigint - Transparent BigInteger support for Perl
 
   use bigint;
 
-  $x = 2 + 4.5,"\n";                   # BigInt 6
-  print 2 ** 512,"\n";                 # really is what you think it is
-  print inf + 42,"\n";                 # inf
-  print NaN * 7,"\n";                  # NaN
-  print hex("0x1234567890123490"),"\n";        # Perl v5.10.0 or later
+  $x = 2 + 4.5,"\n";                    # BigInt 6
+  print 2 ** 512,"\n";                  # really is what you think it is
+  print inf + 42,"\n";                  # inf
+  print NaN * 7,"\n";                   # NaN
+  print hex("0x1234567890123490"),"\n"; # Perl v5.10.0 or later
 
   {
     no bigint;
-    print 2 ** 256,"\n";               # a normal Perl scalar now
+    print 2 ** 256,"\n";                # a normal Perl scalar now
   }
 
   # Import into current package:
@@ -342,32 +329,32 @@ There is one small difference between C<use integer> and C<use bigint>: the
 former will not affect assignments to variables and the return value of
 some functions. C<bigint> truncates these results to integer too:
 
-       # perl -Minteger -wle 'print 3.2'
-       3.2
-       # perl -Minteger -wle 'print 3.2 + 0'
-       3
-       # perl -Mbigint -wle 'print 3.2'
-       3
-       # perl -Mbigint -wle 'print 3.2 + 0'
-       3
-
-       # perl -Mbigint -wle 'print exp(1) + 0'
-       2
-       # perl -Mbigint -wle 'print exp(1)'
-       2
-       # perl -Minteger -wle 'print exp(1)'
-       2.71828182845905
-       # perl -Minteger -wle 'print exp(1) + 0'
-       2
+        # perl -Minteger -wle 'print 3.2'
+        3.2
+        # perl -Minteger -wle 'print 3.2 + 0'
+        3
+        # perl -Mbigint -wle 'print 3.2'
+        3
+        # perl -Mbigint -wle 'print 3.2 + 0'
+        3
+
+        # perl -Mbigint -wle 'print exp(1) + 0'
+        2
+        # perl -Mbigint -wle 'print exp(1)'
+        2
+        # perl -Minteger -wle 'print exp(1)'
+        2.71828182845905
+        # perl -Minteger -wle 'print exp(1) + 0'
+        2
 
 In practice this makes seldom a difference as B<parts and results> of
 expressions will be truncated anyway, but this can, for instance, affect the
 return value of subroutines:
 
-    sub three_integer { use integer; return 3.2; } 
+    sub three_integer { use integer; return 3.2; }
     sub three_bigint { use bigint; return 3.2; }
 
-    print three_integer(), " ", three_bigint(),"\n";   # prints "3.2 3"
+    print three_integer(), " ", three_bigint(),"\n";    # prints "3.2 3"
 
 =head2 Options
 
@@ -382,7 +369,7 @@ The following options exist:
 This sets the accuracy for all math operations. The argument must be greater
 than or equal to zero. See Math::BigInt's bround() function for details.
 
-       perl -Mbigint=a,2 -le 'print 12345+1'
+        perl -Mbigint=a,2 -le 'print 12345+1'
 
 Note that setting precision and accuracy at the same time is not possible.
 
@@ -396,7 +383,7 @@ integer and are ignore like negative values.
 
 See Math::BigInt's bfround() function for details.
 
-       perl -Mbignum=p,5 -le 'print 123456789+123'
+        perl -Mbignum=p,5 -le 'print 123456789+123'
 
 Note that setting precision and accuracy at the same time is not possible.
 
@@ -423,14 +410,14 @@ overridden in the current scope whenever the bigint pragma is active.
 
 Load a different math lib, see L<Math Library>.
 
-       perl -Mbigint=lib,GMP -e 'print 2 ** 512'
-       perl -Mbigint=try,GMP -e 'print 2 ** 512'
-       perl -Mbigint=only,GMP -e 'print 2 ** 512'
+        perl -Mbigint=lib,GMP -e 'print 2 ** 512'
+        perl -Mbigint=try,GMP -e 'print 2 ** 512'
+        perl -Mbigint=only,GMP -e 'print 2 ** 512'
 
 Currently there is no way to specify more than one library on the command
 line. This means the following does not work:
 
-       perl -Mbignum=l,GMP,Pari -e 'print 2 ** 512'
+        perl -Mbignum=l,GMP,Pari -e 'print 2 ** 512'
 
 This will be hopefully fixed soon ;)
 
@@ -438,7 +425,7 @@ This will be hopefully fixed soon ;)
 
 This prints out the name and version of all modules used and then exits.
 
-       perl -Mbigint=v
+        perl -Mbigint=v
 
 =back
 
@@ -447,16 +434,16 @@ This prints out the name and version of all modules used and then exits.
 Math with the numbers is done (by default) by a module called
 Math::BigInt::Calc. This is equivalent to saying:
 
-       use bigint lib => 'Calc';
+        use bigint lib => 'Calc';
 
 You can change this by using:
 
-       use bignum lib => 'GMP';
+        use bignum lib => 'GMP';
 
 The following would first try to find Math::BigInt::Foo, then
 Math::BigInt::Bar, and when this also fails, revert to Math::BigInt::Calc:
 
-       use bigint lib => 'Foo,Math::BigInt::Bar';
+        use bigint lib => 'Foo,Math::BigInt::Bar';
 
 Using C<lib> warns if none of the specified libraries can be found and
 L<Math::BigInt> did fall back to one of the default libraries.
@@ -496,36 +483,36 @@ minus infinity. You will get '+inf' when dividing a positive number by 0, and
 
 Since all numbers are now objects, you can use all functions that are part of
 the BigInt API. You can only use the bxxx() notation, and not the fxxx()
-notation, though. 
+notation, though.
 
 But a warning is in order. When using the following to make a copy of a number,
 only a shallow copy will be made.
 
-       $x = 9; $y = $x;
-       $x = $y = 7;
+        $x = 9; $y = $x;
+        $x = $y = 7;
 
 Using the copy or the original with overloaded math is okay, e.g. the
 following work:
 
-       $x = 9; $y = $x;
-       print $x + 1, " ", $y,"\n";     # prints 10 9
+        $x = 9; $y = $x;
+        print $x + 1, " ", $y,"\n";     # prints 10 9
 
 but calling any method that modifies the number directly will result in
 B<both> the original and the copy being destroyed:
 
-       $x = 9; $y = $x;
-       print $x->badd(1), " ", $y,"\n";        # prints 10 10
+        $x = 9; $y = $x;
+        print $x->badd(1), " ", $y,"\n";        # prints 10 10
 
-       $x = 9; $y = $x;
-       print $x->binc(1), " ", $y,"\n";        # prints 10 10
+        $x = 9; $y = $x;
+        print $x->binc(1), " ", $y,"\n";        # prints 10 10
 
-       $x = 9; $y = $x;
-       print $x->bmul(2), " ", $y,"\n";        # prints 18 18
+        $x = 9; $y = $x;
+        print $x->bmul(2), " ", $y,"\n";        # prints 18 18
 
 Using methods that do not modify, but test that the contents works:
 
-       $x = 9; $y = $x;
-       $z = 9 if $x->is_zero();                # works fine
+        $x = 9; $y = $x;
+        $z = 9 if $x->is_zero();                # works fine
 
 See the documentation about the copy constructor and C<=> in overload, as
 well as the documentation in BigInt for further details.
@@ -546,21 +533,21 @@ handle bareword C<NaN> properly.
 
 =item e
 
-       # perl -Mbigint=e -wle 'print e'
+        # perl -Mbigint=e -wle 'print e'
 
 Returns Euler's number C<e>, aka exp(1). Note that under bigint, this is
 truncated to an integer, and hence simple '2'.
 
 =item PI
 
-       # perl -Mbigint=PI -wle 'print PI'
+        # perl -Mbigint=PI -wle 'print PI'
 
 Returns PI. Note that under bigint, this is truncated to an integer, and hence
 simple '3'.
 
 =item bexp()
 
-       bexp($power,$accuracy);
+        bexp($power,$accuracy);
 
 Returns Euler's number C<e> raised to the appropriate power, to
 the wanted accuracy.
@@ -569,18 +556,18 @@ Note that under bigint, the result is truncated to an integer.
 
 Example:
 
-       # perl -Mbigint=bexp -wle 'print bexp(1,80)'
+        # perl -Mbigint=bexp -wle 'print bexp(1,80)'
 
 =item bpi()
 
-       bpi($accuracy);
+        bpi($accuracy);
 
 Returns PI to the wanted accuracy. Note that under bigint, this is truncated
 to an integer, and hence simple '3'.
 
 Example:
 
-       # perl -Mbigint=bpi -wle 'print bpi(80)'
+        # perl -Mbigint=bpi -wle 'print bpi(80)'
 
 =item upgrade()
 
@@ -589,13 +576,13 @@ C<$Math::BigInt::upgrade>.
 
 =item in_effect()
 
-       use bigint;
+        use bigint;
 
-       print "in effect\n" if bigint::in_effect;       # true
-       {
-         no bigint;
-         print "in effect\n" if bigint::in_effect;     # false
-       }
+        print "in effect\n" if bigint::in_effect;       # true
+        {
+          no bigint;
+          print "in effect\n" if bigint::in_effect;     # false
+        }
 
 Returns true or false if C<bigint> is in effect in the current scope.
 
@@ -633,14 +620,13 @@ C<Math::BigInt> objects, use a literal number in the expression:
 Perl does not allow overloading of ranges, so you can neither safely use
 ranges with bigint endpoints, nor is the iterator variable a bigint.
 
-       use 5.010;
-       for my $i (12..13) {
-         for my $j (20..21) {
-           say $i ** $j;  # produces a floating-point number,
-                          # not a big integer
-         }
-       }
-
+        use 5.010;
+        for my $i (12..13) {
+          for my $j (20..21) {
+            say $i ** $j;  # produces a floating-point number,
+                           # not a big integer
+          }
+        }
 
 =item in_effect()
 
@@ -654,22 +640,22 @@ will not happen unless you specifically ask for it with the two
 import tags "hex" and "oct" - and then it will be global and cannot be
 disabled inside a scope with "no bigint":
 
-       use bigint qw/hex oct/;
+        use bigint qw/hex oct/;
 
-       print hex("0x1234567890123456");
-       {
-               no bigint;
-               print hex("0x1234567890123456");
-       }
+        print hex("0x1234567890123456");
+        {
+                no bigint;
+                print hex("0x1234567890123456");
+        }
 
 The second call to hex() will warn about a non-portable constant.
 
 Compare this to:
 
-       use bigint;
+        use bigint;
 
-       # will warn only under Perl older than v5.9.4
-       print hex("0x1234567890123456");
+        # will warn only under Perl older than v5.9.4
+        print hex("0x1234567890123456");
 
 =back
 
@@ -681,23 +667,23 @@ the others to do the work.
 
 The following modules are currently used by bigint:
 
-       Math::BigInt::Lite      (for speed, and only if it is loadable)
-       Math::BigInt
+        Math::BigInt::Lite      (for speed, and only if it is loadable)
+        Math::BigInt
 
 =head1 EXAMPLES
 
 Some cool command line examples to impress the Python crowd ;) You might want
 to compare them to the results under -Mbignum or -Mbigrat:
 
-       perl -Mbigint -le 'print sqrt(33)'
-       perl -Mbigint -le 'print 2*255'
-       perl -Mbigint -le 'print 4.5+2*255'
-       perl -Mbigint -le 'print 3/7 + 5/7 + 8/3'
-       perl -Mbigint -le 'print 123->is_odd()'
-       perl -Mbigint -le 'print log(2)'
-       perl -Mbigint -le 'print 2 ** 0.5'
-       perl -Mbigint=a,65 -le 'print 2 ** 0.2'
-       perl -Mbignum=a,65,l,GMP -le 'print 7 ** 7777'
+        perl -Mbigint -le 'print sqrt(33)'
+        perl -Mbigint -le 'print 2*255'
+        perl -Mbigint -le 'print 4.5+2*255'
+        perl -Mbigint -le 'print 3/7 + 5/7 + 8/3'
+        perl -Mbigint -le 'print 123->is_odd()'
+        perl -Mbigint -le 'print log(2)'
+        perl -Mbigint -le 'print 2 ** 0.5'
+        perl -Mbigint=a,65 -le 'print 2 ** 0.2'
+        perl -Mbignum=a,65,l,GMP -le 'print 7 ** 7777'
 
 =head1 LICENSE
 
index 67b9ede..61f2bca 100644 (file)
 package bignum;
 use 5.006;
 
-$VERSION = '0.39';
+$VERSION = '0.40';
 use Exporter;
-@ISA           = qw( bigint );
-@EXPORT_OK     = qw( PI e bexp bpi hex oct ); 
-@EXPORT        = qw( inf NaN ); 
+@ISA            = qw( bigint );
+@EXPORT_OK      = qw( PI e bexp bpi hex oct );
+@EXPORT         = qw( inf NaN );
 
 use strict;
 use overload;
 use bigint ();
 
-############################################################################## 
+##############################################################################
 
-BEGIN 
-  {
-  *inf = \&bigint::inf;
-  *NaN = \&bigint::NaN;
-  *hex = \&bigint::hex;
-  *oct = \&bigint::oct;
-  }
+BEGIN {
+    *inf = \&bigint::inf;
+    *NaN = \&bigint::NaN;
+    *hex = \&bigint::hex;
+    *oct = \&bigint::oct;
+}
 
 # These are all alike, and thus faked by AUTOLOAD
 
 my @faked = qw/round_mode accuracy precision div_scale/;
-use vars qw/$VERSION $AUTOLOAD $_lite/;                # _lite for testsuite
-
-sub AUTOLOAD
-  {
-  my $name = $AUTOLOAD;
-
-  $name =~ s/.*:://;    # split package
-  no strict 'refs';
-  foreach my $n (@faked)
-    {
-    if ($n eq $name)
-      {
-      *{"bignum::$name"} = sub 
-        {
-        my $self = shift;
-        no strict 'refs';
-        if (defined $_[0])
-          {
-          Math::BigInt->$name($_[0]);
-          return Math::BigFloat->$name($_[0]);
-          }
-        return Math::BigInt->$name();
-        };
-      return &$name;
-      }
+use vars qw/$VERSION $AUTOLOAD $_lite/;         # _lite for testsuite
+
+sub AUTOLOAD {
+    my $name = $AUTOLOAD;
+
+    $name =~ s/.*:://;    # split package
+    no strict 'refs';
+    foreach my $n (@faked) {
+        if ($n eq $name) {
+            *{"bignum::$name"} =
+              sub {
+                  my $self = shift;
+                  no strict 'refs';
+                  if (defined $_[0]) {
+                      Math::BigInt->$name($_[0]);
+                      return Math::BigFloat->$name($_[0]);
+                  }
+                  return Math::BigInt->$name();
+              };
+            return &$name;
+        }
     }
-  # delayed load of Carp and avoid recursion
-  require Carp;
-  Carp::croak ("Can't call bignum\-\>$name, not a valid method");
-  }
 
-sub unimport
-  {
-  $^H{bignum} = undef;                                 # no longer in effect
-  overload::remove_constant('binary','','float','','integer');
-  }
+    # delayed load of Carp and avoid recursion
+    require Carp;
+    Carp::croak ("Can't call bignum\-\>$name, not a valid method");
+}
 
-sub in_effect
-  {
-  my $level = shift || 0;
-  my $hinthash = (caller($level))[10];
-  $hinthash->{bignum};
-  }
+sub unimport {
+    $^H{bignum} = undef;                                # no longer in effect
+    overload::remove_constant('binary', '', 'float', '', 'integer');
+}
+
+sub in_effect {
+    my $level = shift || 0;
+    my $hinthash = (caller($level))[10];
+    $hinthash->{bignum};
+}
 
 #############################################################################
 
-sub import 
-  {
-  my $self = shift;
+sub import {
+    my $self = shift;
 
-  $^H{bignum} = 1;                                     # we are in effect
+    $^H{bignum} = 1;                                    # we are in effect
 
-  # for newer Perls override hex() and oct() with a lexical version:
-  if ($] > 5.009004)
-    {
-    bigint::_override();
+    # for newer Perls override hex() and oct() with a lexical version:
+    if ($] > 5.009004) {
+        bigint::_override();
     }
 
-  # some defaults
-  my $lib = ''; my $lib_kind = 'try';
-  my $upgrade = 'Math::BigFloat';
-  my $downgrade = 'Math::BigInt';
-
-  my @import = ( ':constant' );                                # drive it w/ constant
-  my @a = @_; my $l = scalar @_; my $j = 0;
-  my ($ver,$trace);                                    # version? trace?
-  my ($a,$p);                                          # accuracy, precision
-  for ( my $i = 0; $i < $l ; $i++,$j++ )
-    {
-    if ($_[$i] eq 'upgrade')
-      {
-      # this causes upgrading
-      $upgrade = $_[$i+1];             # or undef to disable
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] eq 'downgrade')
-      {
-      # this causes downgrading
-      $downgrade = $_[$i+1];           # or undef to disable
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(l|lib|try|only)$/)
-      {
-      # this causes a different low lib to take care...
-      $lib_kind = $1; $lib_kind = 'lib' if $lib_kind eq 'l';
-      $lib = $_[$i+1] || '';
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(a|accuracy)$/)
-      {
-      $a = $_[$i+1];
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(p|precision)$/)
-      {
-      $p = $_[$i+1];
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(v|version)$/)
-      {
-      $ver = 1;
-      splice @a, $j, 1; $j --;
-      }
-    elsif ($_[$i] =~ /^(t|trace)$/)
-      {
-      $trace = 1;
-      splice @a, $j, 1; $j --;
-      }
-    elsif ($_[$i] !~ /^(PI|e|bexp|bpi|hex|oct)\z/)
-      {
-      die ("unknown option $_[$i]");
-      }
+    # some defaults
+    my $lib       = '';
+    my $lib_kind  = 'try';
+    my $upgrade   = 'Math::BigFloat';
+    my $downgrade = 'Math::BigInt';
+
+    my @import = (':constant');                 # drive it w/ constant
+    my @a = @_;
+    my $l = scalar @_;
+    my $j = 0;
+    my ($ver, $trace);                          # version? trace?
+    my ($a, $p);                                # accuracy, precision
+    for (my $i = 0; $i < $l; $i++, $j++) {
+        if ($_[$i] eq 'upgrade') {
+            # this causes upgrading
+            $upgrade = $_[$i + 1];              # or undef to disable
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        } elsif ($_[$i] eq 'downgrade') {
+            # this causes downgrading
+            $downgrade = $_[$i + 1];            # or undef to disable
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        } elsif ($_[$i] =~ /^(l|lib|try|only)$/) {
+            # this causes a different low lib to take care...
+            $lib_kind = $1;
+            $lib_kind = 'lib' if $lib_kind eq 'l';
+            $lib = $_[$i + 1] || '';
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        }
+        elsif ($_[$i] =~ /^(a|accuracy)$/) {
+            $a = $_[$i + 1];
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        }
+        elsif ($_[$i] =~ /^(p|precision)$/) {
+            $p = $_[$i + 1];
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        }
+        elsif ($_[$i] =~ /^(v|version)$/) {
+            $ver = 1;
+            splice @a, $j, 1;
+            $j--;
+        }
+        elsif ($_[$i] =~ /^(t|trace)$/) {
+            $trace = 1;
+            splice @a, $j, 1;
+            $j--;
+        }
+        elsif ($_[$i] !~ /^(PI|e|bexp|bpi|hex|oct)\z/) {
+            die ("unknown option $_[$i]");
+        }
     }
-  my $class;
-  $_lite = 0;                                  # using M::BI::L ?
-  if ($trace)
-    {
-    require Math::BigInt::Trace; $class = 'Math::BigInt::Trace';
-    $upgrade = 'Math::BigFloat::Trace';        
+    my $class;
+    $_lite = 0;                                 # using M::BI::L ?
+    if ($trace) {
+        require Math::BigInt::Trace;
+        $class   = 'Math::BigInt::Trace';
+        $upgrade = 'Math::BigFloat::Trace';
     }
-  else
-    {
-    # see if we can find Math::BigInt::Lite
-    if (!defined $a && !defined $p)            # rounding won't work to well
-      {
-      if (eval { require Math::BigInt::Lite; 1 })
-        {
-        @import = ( );                         # :constant in Lite, not MBI
-        Math::BigInt::Lite->import( ':constant' );
-        $_lite= 1;                             # signal okay
+    else {
+        # see if we can find Math::BigInt::Lite
+        if (!defined $a && !defined $p) {       # rounding won't work to well
+            if (eval { require Math::BigInt::Lite; 1 }) {
+                @import = ();                   # :constant in Lite, not MBI
+                Math::BigInt::Lite->import(':constant');
+                $_lite = 1;                     # signal okay
+            }
         }
-      }
-    require Math::BigInt if $_lite == 0;       # not already loaded?
-    $class = 'Math::BigInt';                   # regardless of MBIL or not
+        require Math::BigInt if $_lite == 0;    # not already loaded?
+        $class = 'Math::BigInt';                # regardless of MBIL or not
     }
-  push @import, $lib_kind => $lib if $lib ne ''; 
-  # Math::BigInt::Trace or plain Math::BigInt
-  $class->import(@import, upgrade => $upgrade);
-
-  if ($trace)
-    {
-    require Math::BigFloat::Trace; $class = 'Math::BigFloat::Trace';
-    $downgrade = 'Math::BigInt::Trace';        
+    push @import, $lib_kind => $lib if $lib ne '';
+    # Math::BigInt::Trace or plain Math::BigInt
+    $class->import(@import, upgrade => $upgrade);
+
+    if ($trace) {
+        require Math::BigFloat::Trace;
+        $class     = 'Math::BigFloat::Trace';
+        $downgrade = 'Math::BigInt::Trace';
     }
-  else
-    {
-    require Math::BigFloat; $class = 'Math::BigFloat';
+    else {
+        require Math::BigFloat;
+        $class = 'Math::BigFloat';
     }
-  $class->import(':constant','downgrade',$downgrade);
-
-  bignum->accuracy($a) if defined $a;
-  bignum->precision($p) if defined $p;
-  if ($ver)
-    {
-    print "bignum\t\t\t v$VERSION\n";
-    print "Math::BigInt::Lite\t v$Math::BigInt::Lite::VERSION\n" if $_lite;
-    print "Math::BigInt\t\t v$Math::BigInt::VERSION";
-    my $config = Math::BigInt->config();
-    print " lib => $config->{lib} v$config->{lib_version}\n";
-    print "Math::BigFloat\t\t v$Math::BigFloat::VERSION\n";
-    exit;
+    $class->import(':constant', 'downgrade', $downgrade);
+
+    bignum->accuracy($a)  if defined $a;
+    bignum->precision($p) if defined $p;
+    if ($ver) {
+        print "bignum\t\t\t v$VERSION\n";
+        print "Math::BigInt::Lite\t v$Math::BigInt::Lite::VERSION\n" if $_lite;
+        print "Math::BigInt\t\t v$Math::BigInt::VERSION";
+        my $config = Math::BigInt->config();
+        print " lib => $config->{lib} v$config->{lib_version}\n";
+        print "Math::BigFloat\t\t v$Math::BigFloat::VERSION\n";
+        exit;
     }
 
-  # Take care of octal/hexadecimal constants
-  overload::constant binary => sub { bigint::_binary_constant(shift) };
+    # Take care of octal/hexadecimal constants
+    overload::constant binary =>
+        sub {
+            bigint::_binary_constant(shift);
+        };
 
-  # if another big* was already loaded:
-  my ($package) = caller();
+    # if another big* was already loaded:
+    my ($package) = caller();
 
-  no strict 'refs';
-  if (!defined *{"${package}::inf"})
-    {
-    $self->export_to_level(1,$self,@a);           # export inf and NaN
+    no strict 'refs';
+    if (!defined *{"${package}::inf"}) {
+        $self->export_to_level(1, $self, @a);   # export inf and NaN
     }
-  }
+}
 
 sub PI () { Math::BigFloat->new('3.141592653589793238462643383279502884197'); }
 sub e () { Math::BigFloat->new('2.718281828459045235360287471352662497757'); }
 sub bpi ($) { Math::BigFloat::bpi(@_); }
-sub bexp ($$) { my $x = Math::BigFloat->new($_[0]); $x->bexp($_[1]); }
+sub bexp ($$) {
+    my $x = Math::BigFloat->new($_[0]);
+    $x->bexp($_[1]);
+}
 
 1;
 
@@ -223,14 +225,14 @@ bignum - Transparent BigNumber support for Perl
 
   use bignum;
 
-  $x = 2 + 4.5,"\n";                   # BigFloat 6.5
-  print 2 ** 512 * 0.1,"\n";           # really is what you think it is
-  print inf * inf,"\n";                        # prints inf
-  print NaN * 3,"\n";                  # prints NaN
+  $x = 2 + 4.5,"\n";                    # BigFloat 6.5
+  print 2 ** 512 * 0.1,"\n";            # really is what you think it is
+  print inf * inf,"\n";                 # prints inf
+  print NaN * 3,"\n";                   # prints NaN
 
   {
     no bignum;
-    print 2 ** 256,"\n";               # a normal Perl scalar now
+    print 2 ** 256,"\n";                # a normal Perl scalar now
   }
 
   # for older Perls, import into current package:
@@ -244,7 +246,7 @@ All operators (including basic math operations) are overloaded. Integer and
 floating-point constants are created as proper BigInts or BigFloats,
 respectively.
 
-If you do 
+If you do
 
         use bignum;
 
@@ -302,7 +304,7 @@ appropriately. This means that:
 
 will work correctly. These mixed cases don't do always work when using
 Math::BigInt or Math::BigFloat alone, or at least not in the way normal Perl
-scalars work. 
+scalars work.
 
 If you do want to work with large integers like under C<use integer;>, try
 C<use bigint;>:
@@ -350,7 +352,7 @@ The following options exist:
 This sets the accuracy for all math operations. The argument must be greater
 than or equal to zero. See Math::BigInt's bround() function for details.
 
-       perl -Mbignum=a,50 -le 'print sqrt(20)'
+        perl -Mbignum=a,50 -le 'print sqrt(20)'
 
 Note that setting precision and accuracy at the same time is not possible.
 
@@ -361,7 +363,7 @@ integer. Negative values mean a fixed number of digits after the dot, while
 a positive value rounds to this digit left from the dot. 0 or 1 mean round to
 integer. See Math::BigInt's bfround() function for details.
 
-       perl -Mbignum=p,-50 -le 'print sqrt(20)'
+        perl -Mbignum=p,-50 -le 'print sqrt(20)'
 
 Note that setting precision and accuracy at the same time is not possible.
 
@@ -374,12 +376,12 @@ Math::BigInt/Math::BigFloat.
 
 Load a different math lib, see L<Math Library>.
 
-       perl -Mbignum=l,GMP -e 'print 2 ** 512'
+        perl -Mbignum=l,GMP -e 'print 2 ** 512'
 
 Currently there is no way to specify more than one library on the command
 line. This means the following does not work:
 
-       perl -Mbignum=l,GMP,Pari -e 'print 2 ** 512'
+        perl -Mbignum=l,GMP,Pari -e 'print 2 ** 512'
 
 This will be hopefully fixed soon ;)
 
@@ -401,7 +403,7 @@ overridden in the current scope whenever the bigint pragma is active.
 
 This prints out the name and version of all modules used and then exits.
 
-       perl -Mbignum=v
+        perl -Mbignum=v
 
 =back
 
@@ -466,36 +468,36 @@ handle bareword C<NaN> properly.
 
 =item e
 
-       # perl -Mbignum=e -wle 'print e'
+        # perl -Mbignum=e -wle 'print e'
 
 Returns Euler's number C<e>, aka exp(1).
 
 =item PI()
 
-       # perl -Mbignum=PI -wle 'print PI'
+        # perl -Mbignum=PI -wle 'print PI'
 
 Returns PI.
 
 =item bexp()
 
-       bexp($power,$accuracy);
+        bexp($power,$accuracy);
 
 Returns Euler's number C<e> raised to the appropriate power, to
 the wanted accuracy.
 
 Example:
 
-       # perl -Mbignum=bexp -wle 'print bexp(1,80)'
+        # perl -Mbignum=bexp -wle 'print bexp(1,80)'
 
 =item bpi()
 
-       bpi($accuracy);
+        bpi($accuracy);
 
 Returns PI to the wanted accuracy.
 
 Example:
 
-       # perl -Mbignum=bpi -wle 'print bpi(80)'
+        # perl -Mbignum=bpi -wle 'print bpi(80)'
 
 =item upgrade()
 
@@ -504,13 +506,13 @@ C<$Math::BigInt::upgrade>.
 
 =item in_effect()
 
-       use bignum;
+        use bignum;
 
-       print "in effect\n" if bignum::in_effect;       # true
-       {
-         no bignum;
-         print "in effect\n" if bignum::in_effect;     # false
-       }
+        print "in effect\n" if bignum::in_effect;       # true
+        {
+          no bignum;
+          print "in effect\n" if bignum::in_effect;     # false
+        }
 
 Returns true or false if C<bignum> is in effect in the current scope.
 
@@ -523,16 +525,16 @@ This method only works on Perl v5.9.4 or later.
 Math with the numbers is done (by default) by a module called
 Math::BigInt::Calc. This is equivalent to saying:
 
-       use bignum lib => 'Calc';
+        use bignum lib => 'Calc';
 
 You can change this by using:
 
-       use bignum lib => 'GMP';
+        use bignum lib => 'GMP';
 
 The following would first try to find Math::BigInt::Foo, then
 Math::BigInt::Bar, and when this also fails, revert to Math::BigInt::Calc:
 
-       use bignum lib => 'Foo,Math::BigInt::Bar';
+        use bignum lib => 'Foo,Math::BigInt::Bar';
 
 Please see respective module documentation for further details.
 
@@ -540,11 +542,11 @@ Using C<lib> warns if none of the specified libraries can be found and
 L<Math::BigInt> did fall back to one of the default libraries.
 To suppress this warning, use C<try> instead:
 
-       use bignum try => 'GMP';
+        use bignum try => 'GMP';
 
 If you want the code to die instead of falling back, use C<only> instead:
 
-       use bignum only => 'GMP';
+        use bignum only => 'GMP';
 
 =head2 INTERNAL FORMAT
 
@@ -607,22 +609,22 @@ will not happen unless you specifically ask for it with the two
 import tags "hex" and "oct" - and then it will be global and cannot be
 disabled inside a scope with "no bigint":
 
-       use bigint qw/hex oct/;
+        use bigint qw/hex oct/;
 
-       print hex("0x1234567890123456");
-       {
-               no bigint;
-               print hex("0x1234567890123456");
-       }
+        print hex("0x1234567890123456");
+        {
+                no bigint;
+                print hex("0x1234567890123456");
+        }
 
 The second call to hex() will warn about a non-portable constant.
 
 Compare this to:
 
-       use bigint;
+        use bigint;
 
-       # will warn only under older than v5.9.4
-       print hex("0x1234567890123456");
+        # will warn only under older than v5.9.4
+        print hex("0x1234567890123456");
 
 =back
 
@@ -634,24 +636,24 @@ the others to do the work.
 
 The following modules are currently used by bignum:
 
-       Math::BigInt::Lite      (for speed, and only if it is loadable)
-       Math::BigInt
-       Math::BigFloat
+        Math::BigInt::Lite      (for speed, and only if it is loadable)
+        Math::BigInt
+        Math::BigFloat
 
 =head1 EXAMPLES
 
 Some cool command line examples to impress the Python crowd ;)
 
-       perl -Mbignum -le 'print sqrt(33)'
-       perl -Mbignum -le 'print 2*255'
-       perl -Mbignum -le 'print 4.5+2*255'
-       perl -Mbignum -le 'print 3/7 + 5/7 + 8/3'
-       perl -Mbignum -le 'print 123->is_odd()'
-       perl -Mbignum -le 'print log(2)'
-       perl -Mbignum -le 'print exp(1)'
-       perl -Mbignum -le 'print 2 ** 0.5'
-       perl -Mbignum=a,65 -le 'print 2 ** 0.2'
-       perl -Mbignum=a,65,l,GMP -le 'print 7 ** 7777'
+        perl -Mbignum -le 'print sqrt(33)'
+        perl -Mbignum -le 'print 2*255'
+        perl -Mbignum -le 'print 4.5+2*255'
+        perl -Mbignum -le 'print 3/7 + 5/7 + 8/3'
+        perl -Mbignum -le 'print 123->is_odd()'
+        perl -Mbignum -le 'print log(2)'
+        perl -Mbignum -le 'print exp(1)'
+        perl -Mbignum -le 'print 2 ** 0.5'
+        perl -Mbignum=a,65 -le 'print 2 ** 0.2'
+        perl -Mbignum=a,65,l,GMP -le 'print 7 ** 7777'
 
 =head1 LICENSE
 
index b02831b..61b6526 100644 (file)
 package bigrat;
 use 5.006;
 
-$VERSION = '0.39';
+$VERSION = '0.40';
 require Exporter;
-@ISA           = qw( bigint );
-@EXPORT_OK     = qw( PI e bpi bexp hex oct );
-@EXPORT                = qw( inf NaN );
+@ISA            = qw( bigint );
+@EXPORT_OK      = qw( PI e bpi bexp hex oct );
+@EXPORT         = qw( inf NaN );
 
 use strict;
 use overload;
 use bigint ();
 
-############################################################################## 
+##############################################################################
 
-BEGIN 
-  {
-  *inf = \&bigint::inf;
-  *NaN = \&bigint::NaN;
-  *hex = \&bigint::hex;
-  *oct = \&bigint::oct;
-  }
+BEGIN {
+    *inf = \&bigint::inf;
+    *NaN = \&bigint::NaN;
+    *hex = \&bigint::hex;
+    *oct = \&bigint::oct;
+}
 
 # These are all alike, and thus faked by AUTOLOAD
 
 my @faked = qw/round_mode accuracy precision div_scale/;
-use vars qw/$VERSION $AUTOLOAD $_lite/;                # _lite for testsuite
-
-sub AUTOLOAD
-  {
-  my $name = $AUTOLOAD;
-
-  $name =~ s/.*:://;    # split package
-  no strict 'refs';
-  foreach my $n (@faked)
-    {
-    if ($n eq $name)
-      {
-      *{"bigrat::$name"} = sub 
-        {
-        my $self = shift;
-        no strict 'refs';
-        if (defined $_[0])
-          {
-          Math::BigInt->$name($_[0]);
-          Math::BigFloat->$name($_[0]);
-          return Math::BigRat->$name($_[0]);
-          }
-        return Math::BigInt->$name();
-        };
-      return &$name;
-      }
+use vars qw/$VERSION $AUTOLOAD $_lite/; # _lite for testsuite
+
+sub AUTOLOAD {
+    my $name = $AUTOLOAD;
+
+    $name =~ s/.*:://;          # split package
+    no strict 'refs';
+    foreach my $n (@faked) {
+        if ($n eq $name) {
+            *{"bigrat::$name"} =
+              sub {
+                  my $self = shift;
+                  no strict 'refs';
+                  if (defined $_[0]) {
+                      Math::BigInt->$name($_[0]);
+                      Math::BigFloat->$name($_[0]);
+                      return Math::BigRat->$name($_[0]);
+                  }
+                  return Math::BigInt->$name();
+              };
+            return &$name;
+        }
     }
-  # delayed load of Carp and avoid recursion
-  require Carp;
-  Carp::croak ("Can't call bigrat\-\>$name, not a valid method");
-  }
 
-sub unimport
-  {
-  $^H{bigrat} = undef;                                 # no longer in effect
-  overload::remove_constant('binary','','float','','integer');
-  }
+    # delayed load of Carp and avoid recursion
+    require Carp;
+    Carp::croak ("Can't call bigrat\-\>$name, not a valid method");
+}
 
-sub in_effect
-  {
-  my $level = shift || 0;
-  my $hinthash = (caller($level))[10];
-  $hinthash->{bigrat};
-  }
+sub unimport {
+    $^H{bigrat} = undef;        # no longer in effect
+    overload::remove_constant('binary', '', 'float', '', 'integer');
+}
+
+sub in_effect {
+    my $level = shift || 0;
+    my $hinthash = (caller($level))[10];
+    $hinthash->{bigrat};
+}
 
 #############################################################################
 
-sub import 
-  {
-  my $self = shift;
+sub import {
+    my $self = shift;
 
-  # see also bignum->import() for additional comments
+    # see also bignum->import() for additional comments
 
-  $^H{bigrat} = 1;                                     # we are in effect
+    $^H{bigrat} = 1;                            # we are in effect
 
-  # for newer Perls always override hex() and oct() with a lexical version:
-  if ($] > 5.009004)
-    {
-    bigint::_override();
+    # for newer Perls always override hex() and oct() with a lexical version:
+    if ($] > 5.009004) {
+        bigint::_override();
     }
-  # some defaults
-  my $lib = ''; my $lib_kind = 'try'; my $upgrade = 'Math::BigFloat';
-
-  my @import = ( ':constant' );                                # drive it w/ constant
-  my @a = @_; my $l = scalar @_; my $j = 0;
-  my ($a,$p);
-  my ($ver,$trace);                                    # version? trace?
-  for ( my $i = 0; $i < $l ; $i++,$j++ )
-    {
-    if ($_[$i] eq 'upgrade')
-      {
-      # this causes upgrading
-      $upgrade = $_[$i+1];             # or undef to disable
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s;
-      }
-    elsif ($_[$i] =~ /^(l|lib|try|only)$/)
-      {
-      # this causes a different low lib to take care...
-      $lib_kind = $1; $lib_kind = 'lib' if $lib_kind eq 'l';
-      $lib = $_[$i+1] || '';
-      my $s = 2; $s = 1 if @a-$j < 2;  # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(a|accuracy)$/)
-      {
-      $a = $_[$i+1];
-      my $s = 2; $s = 1 if @a-$j < 2;   # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(p|precision)$/)
-      {
-      $p = $_[$i+1];
-      my $s = 2; $s = 1 if @a-$j < 2;   # avoid "can not modify non-existent..."
-      splice @a, $j, $s; $j -= $s; $i++;
-      }
-    elsif ($_[$i] =~ /^(v|version)$/)
-      {
-      $ver = 1;
-      splice @a, $j, 1; $j --;
-      }
-    elsif ($_[$i] =~ /^(t|trace)$/)
-      {
-      $trace = 1;
-      splice @a, $j, 1; $j --;
-      }
-    elsif ($_[$i] !~ /^(PI|e|bpi|bexp|hex|oct)\z/)
-      {
-      die ("unknown option $_[$i]");
-      }
+    # some defaults
+    my $lib      = '';
+    my $lib_kind = 'try';
+    my $upgrade  = 'Math::BigFloat';
+
+    my @import = (':constant');                 # drive it w/ constant
+    my @a = @_;
+    my $l = scalar @_;
+    my $j = 0;
+    my ($a, $p);
+    my ($ver, $trace);                          # version? trace?
+    for (my $i = 0; $i < $l ; $i++, $j++) {
+        if ($_[$i] eq 'upgrade') {
+            # this causes upgrading
+            $upgrade = $_[$i + 1];              # or undef to disable
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+        }
+        elsif ($_[$i] =~ /^(l|lib|try|only)$/) {
+            # this causes a different low lib to take care...
+            $lib_kind = $1;
+            $lib_kind = 'lib' if $lib_kind eq 'l';
+            $lib = $_[$i + 1] || '';
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        }
+        elsif ($_[$i] =~ /^(a|accuracy)$/) {
+            $a = $_[$i + 1];
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        }
+        elsif ($_[$i] =~ /^(p|precision)$/) {
+            $p = $_[$i + 1];
+            my $s = 2;
+            $s = 1 if @a - $j < 2;  # avoid "can not modify non-existent..."
+            splice @a, $j, $s;
+            $j -= $s;
+            $i++;
+        }
+        elsif ($_[$i] =~ /^(v|version)$/) {
+            $ver = 1;
+            splice @a, $j, 1;
+            $j--;
+        }
+        elsif ($_[$i] =~ /^(t|trace)$/) {
+            $trace = 1;
+            splice @a, $j, 1;
+            $j--;
+        }
+        elsif ($_[$i] !~ /^(PI|e|bpi|bexp|hex|oct)\z/) {
+            die ("unknown option $_[$i]");
+        }
     }
-  my $class;
-  $_lite = 0;                                   # using M::BI::L ?
-  if ($trace)
-    {
-    require Math::BigInt::Trace; $class = 'Math::BigInt::Trace';
-    $upgrade = 'Math::BigFloat::Trace';
+    my $class;
+    $_lite = 0;                                 # using M::BI::L ?
+    if ($trace) {
+        require Math::BigInt::Trace;
+        $class   = 'Math::BigInt::Trace';
+        $upgrade = 'Math::BigFloat::Trace';
     }
-  else
-    {
-    # see if we can find Math::BigInt::Lite
-    if (!defined $a && !defined $p)             # rounding won't work to well
-      {
-      if (eval { require Math::BigInt::Lite; 1 })
-        {
-        @import = ( );                          # :constant in Lite, not MBI
-        Math::BigInt::Lite->import( ':constant' );
-        $_lite= 1;                              # signal okay
+    else {
+        # see if we can find Math::BigInt::Lite
+        if (!defined $a && !defined $p) {       # rounding won't work to well
+            if (eval { require Math::BigInt::Lite; 1 }) {
+                @import = ();                   # :constant in Lite, not MBI
+                Math::BigInt::Lite->import(':constant');
+                $_lite = 1;                     # signal okay
+            }
         }
-      }
-    require Math::BigInt if $_lite == 0;        # not already loaded?
-    $class = 'Math::BigInt';                    # regardless of MBIL or not
+        require Math::BigInt if $_lite == 0;    # not already loaded?
+        $class = 'Math::BigInt';                # regardless of MBIL or not
     }
-  push @import, $lib_kind => $lib if $lib ne ''; 
-  # Math::BigInt::Trace or plain Math::BigInt
-  $class->import(@import, upgrade => $upgrade);
-
-  require Math::BigFloat;
-  Math::BigFloat->import( upgrade => 'Math::BigRat', ':constant' );
-  require Math::BigRat;
-  Math::BigRat->import( @import );
-
-  bigrat->accuracy($a) if defined $a;
-  bigrat->precision($p) if defined $p;
-  if ($ver)
-    {
-    print "bigrat\t\t\t v$VERSION\n";
-    print "Math::BigInt::Lite\t v$Math::BigInt::Lite::VERSION\n" if $_lite;  
-    print "Math::BigInt\t\t v$Math::BigInt::VERSION";
-    my $config = Math::BigInt->config();
-    print " lib => $config->{lib} v$config->{lib_version}\n";
-    print "Math::BigFloat\t\t v$Math::BigFloat::VERSION\n";
-    print "Math::BigRat\t\t v$Math::BigRat::VERSION\n";
-    exit;
+    push @import, $lib_kind => $lib if $lib ne '';
+    # Math::BigInt::Trace or plain Math::BigInt
+    $class->import(@import, upgrade => $upgrade);
+
+    require Math::BigFloat;
+    Math::BigFloat->import(upgrade => 'Math::BigRat', ':constant');
+    require Math::BigRat;
+    Math::BigRat->import(@import);
+
+    bigrat->accuracy($a)  if defined $a;
+    bigrat->precision($p) if defined $p;
+    if ($ver) {
+        print "bigrat\t\t\t v$VERSION\n";
+        print "Math::BigInt::Lite\t v$Math::BigInt::Lite::VERSION\n" if $_lite;
+        print "Math::BigInt\t\t v$Math::BigInt::VERSION";
+        my $config = Math::BigInt->config();
+        print " lib => $config->{lib} v$config->{lib_version}\n";
+        print "Math::BigFloat\t\t v$Math::BigFloat::VERSION\n";
+        print "Math::BigRat\t\t v$Math::BigRat::VERSION\n";
+        exit;
     }
 
-  # Take care of octal/hexadecimal constants
-  overload::constant binary => sub { bigint::_binary_constant(shift) };
+    # Take care of octal/hexadecimal constants
+    overload::constant binary =>
+        sub {
+            bigint::_binary_constant(shift);
+          };
 
-  # if another big* was already loaded:
-  my ($package) = caller();
+    # if another big* was already loaded:
+    my ($package) = caller();
 
-  no strict 'refs';
-  if (!defined *{"${package}::inf"})
-    {
-    $self->export_to_level(1,$self,@a);           # export inf and NaN
+    no strict 'refs';
+    if (!defined *{"${package}::inf"}) {
+        $self->export_to_level(1, $self, @a);   # export inf and NaN
     }
-  }
+}
 
 sub PI () { Math::BigFloat->new('3.141592653589793238462643383279502884197'); }
 sub e () { Math::BigFloat->new('2.718281828459045235360287471352662497757'); }
 
-sub bpi ($) { local $Math::BigFloat::upgrade; Math::BigFloat::bpi(@_); }
+sub bpi ($) {
+    local $Math::BigFloat::upgrade;
+    Math::BigFloat::bpi(@_);
+}
 
-sub bexp ($$)
-  {
-  local $Math::BigFloat::upgrade;
-  my $x = Math::BigFloat->new($_[0]); $x->bexp($_[1]);
-  }
+sub bexp ($$) {
+    local $Math::BigFloat::upgrade;
+    my $x = Math::BigFloat->new($_[0]);
+    $x->bexp($_[1]);
+}
 
 1;
 
@@ -217,12 +219,12 @@ bigrat - Transparent BigNumber/BigRational support for Perl
 
   use bigrat;
 
-  print 2 + 4.5,"\n";                  # BigFloat 6.5
-  print 1/3 + 1/4,"\n";                        # produces 7/12
+  print 2 + 4.5,"\n";                   # BigFloat 6.5
+  print 1/3 + 1/4,"\n";                 # produces 7/12
 
   {
     no bigrat;
-    print 1/3,"\n";                    # 0.33333...
+    print 1/3,"\n";                     # 0.33333...
   }
 
   # Import into current package:
@@ -257,7 +259,7 @@ The following modules are currently used by bignum:
 Math with the numbers is done (by default) by a module called
 Math::BigInt::Calc. This is equivalent to saying:
 
-       use bigrat lib => 'Calc';
+        use bigrat lib => 'Calc';
 
 You can change this by using:
 
@@ -266,7 +268,7 @@ You can change this by using:
 The following would first try to find Math::BigInt::Foo, then
 Math::BigInt::Bar, and when this also fails, revert to Math::BigInt::Calc:
 
-       use bigrat lib => 'Foo,Math::BigInt::Bar';
+        use bigrat lib => 'Foo,Math::BigInt::Bar';
 
 Using C<lib> warns if none of the specified libraries can be found and
 L<Math::BigInt> did fall back to one of the default libraries.
@@ -310,37 +312,36 @@ handle bareword C<NaN> properly.
 
 =item e
 
-       # perl -Mbigrat=e -wle 'print e'
+        # perl -Mbigrat=e -wle 'print e'
 
 Returns Euler's number C<e>, aka exp(1).
 
 =item PI
 
-       # perl -Mbigrat=PI -wle 'print PI'
+        # perl -Mbigrat=PI -wle 'print PI'
 
 Returns PI.
 
 =item bexp()
 
-       bexp($power,$accuracy);
-
+        bexp($power,$accuracy);
 
 Returns Euler's number C<e> raised to the appropriate power, to
 the wanted accuracy.
 
 Example:
 
-       # perl -Mbigrat=bexp -wle 'print bexp(1,80)'
+        # perl -Mbigrat=bexp -wle 'print bexp(1,80)'
 
 =item bpi()
 
-       bpi($accuracy);
+        bpi($accuracy);
 
 Returns PI to the wanted accuracy.
 
 Example:
 
-       # perl -Mbigrat=bpi -wle 'print bpi(80)'
+        # perl -Mbigrat=bpi -wle 'print bpi(80)'
 
 =item upgrade()
 
@@ -349,13 +350,13 @@ C<$Math::BigInt::upgrade>.
 
 =item in_effect()
 
-       use bigrat;
+        use bigrat;
 
-       print "in effect\n" if bigrat::in_effect;       # true
-       {
-         no bigrat;
-         print "in effect\n" if bigrat::in_effect;     # false
-       }
+        print "in effect\n" if bigrat::in_effect;       # true
+        {
+          no bigrat;
+          print "in effect\n" if bigrat::in_effect;     # false
+        }
 
 Returns true or false if C<bigrat> is in effect in the current scope.
 
@@ -377,7 +378,7 @@ only a shallow copy will be made.
 
 If you want to make a real copy, use the following:
 
-       $y = $x->copy();
+        $y = $x->copy();
 
 Using the copy or the original with overloaded math is okay, e.g. the
 following work:
@@ -418,7 +419,7 @@ The following options exist:
 This sets the accuracy for all math operations. The argument must be greater
 than or equal to zero. See Math::BigInt's bround() function for details.
 
-       perl -Mbigrat=a,50 -le 'print sqrt(20)'
+        perl -Mbigrat=a,50 -le 'print sqrt(20)'
 
 Note that setting precision and accuracy at the same time is not possible.
 
@@ -429,7 +430,7 @@ integer. Negative values mean a fixed number of digits after the dot, while
 a positive value rounds to this digit left from the dot. 0 or 1 mean round to
 integer. See Math::BigInt's bfround() function for details.
 
-       perl -Mbigrat=p,-50 -le 'print sqrt(20)'
+        perl -Mbigrat=p,-50 -le 'print sqrt(20)'
 
 Note that setting precision and accuracy at the same time is not possible.
 
@@ -442,12 +443,12 @@ Math::BigInt/Math::BigFloat.
 
 Load a different math lib, see L<MATH LIBRARY>.
 
-       perl -Mbigrat=l,GMP -e 'print 2 ** 512'
+        perl -Mbigrat=l,GMP -e 'print 2 ** 512'
 
 Currently there is no way to specify more than one library on the command
 line. This means the following does not work:
 
-       perl -Mbignum=l,GMP,Pari -e 'print 2 ** 512'
+        perl -Mbignum=l,GMP,Pari -e 'print 2 ** 512'
 
 This will be hopefully fixed soon ;)
 
@@ -469,7 +470,7 @@ overridden in the current scope whenever the bigrat pragma is active.
 
 This prints out the name and version of all modules used and then exits.
 
-       perl -Mbigrat=v
+        perl -Mbigrat=v
 
 =back
 
@@ -512,33 +513,33 @@ will not happen unless you specifically ask for it with the two
 import tags "hex" and "oct" - and then it will be global and cannot be
 disabled inside a scope with "no bigint":
 
-       use bigint qw/hex oct/;
+        use bigint qw/hex oct/;
 
-       print hex("0x1234567890123456");
-       {
-               no bigint;
-               print hex("0x1234567890123456");
-       }
+        print hex("0x1234567890123456");
+        {
+                no bigint;
+                print hex("0x1234567890123456");
+        }
 
 The second call to hex() will warn about a non-portable constant.
 
 Compare this to:
 
-       use bigint;
+        use bigint;
 
-       # will warn only under Perl older than v5.9.4
-       print hex("0x1234567890123456");
+        # will warn only under Perl older than v5.9.4
+        print hex("0x1234567890123456");
 
 =back
 
 =head1 EXAMPLES
 
-       perl -Mbigrat -le 'print sqrt(33)'
-       perl -Mbigrat -le 'print 2*255'
-       perl -Mbigrat -le 'print 4.5+2*255'
-       perl -Mbigrat -le 'print 3/7 + 5/7 + 8/3'
-       perl -Mbigrat -le 'print 12->is_odd()';
-       perl -Mbignum=l,GMP -le 'print 7 ** 7777'
+        perl -Mbigrat -le 'print sqrt(33)'
+        perl -Mbigrat -le 'print 2*255'
+        perl -Mbigrat -le 'print 4.5+2*255'
+        perl -Mbigrat -le 'print 3/7 + 5/7 + 8/3'
+        perl -Mbigrat -le 'print 12->is_odd()';
+        perl -Mbignum=l,GMP -le 'print 7 ** 7777'
 
 =head1 LICENSE
 
index b118302..a18f8fc 100644 (file)
@@ -1,11 +1,13 @@
 package if;
 
-$VERSION = '0.0604';
+$VERSION = '0.0605';
 
 sub work {
   my $method = shift() ? 'import' : 'unimport';
-  die "Too few arguments to 'use if' (some code returning an empty list in list context?)"
-    unless @_ >= 2;
+  unless (@_ >= 2) {
+    my $type = ($method eq 'import') ? 'use' : 'no';
+    die "Too few arguments to '$type if' (some code returning an empty list in list context?)"
+  }
   return unless shift;         # CONDITION
 
   my $p = $_[0];               # PACKAGE
@@ -102,4 +104,3 @@ based on what version of Perl is running.
 Ilya Zakharevich L<mailto:ilyaz@cpan.org>.
 
 =cut
-
index e55bca3..4a2b351 100644 (file)
@@ -1,7 +1,7 @@
 #!./perl
 
 use strict;
-use Test::More tests => 6;
+use Test::More tests => 10;
 
 my $v_plus = $] + 1;
 my $v_minus = $] - 1;
@@ -30,3 +30,11 @@ like( $@, qr/while "strict refs" in use/, 'expected error message'),
 # Use 'open' =>, since pre-5.6.0 could interpret differently
 is( (eval "use if ($v_plus > \$]), 'open' => IN => ':crlf'; 12" || 0), 12,
     '"use if" with open');
+
+is(eval "use if ($v_plus > \$])", undef,
+   "Too few args to 'use if' returns <undef>");
+like($@, qr/Too few arguments to 'use if'/, "  ... and returns correct error");
+
+is(eval "no if ($v_plus > \$])", undef,
+   "Too few args to 'no if' returns <undef>");
+like($@, qr/Too few arguments to 'no if'/, "  ... and returns correct error");
index 9854f4d..253a605 100644 (file)
@@ -5,7 +5,7 @@ use 5.008;
 use strict;
 use warnings;
 
-our $VERSION = '2.02';
+our $VERSION = '2.03';
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
index f5395cf..df9950d 100644 (file)
 
 #ifdef USE_ITHREADS
 
+#ifdef __amigaos4__
+#  undef YIELD
+#  define YIELD sleep(0)
+#endif
 #ifdef WIN32
 #  include <windows.h>
    /* Supposed to be in Winbase.h */
@@ -136,7 +140,14 @@ typedef struct {
 
 #define MY_POOL (*my_poolp)
 
-#ifndef WIN32
+#if defined(WIN32) || (defined(__amigaos4__) && defined(__NEWLIB__))
+#  undef THREAD_SIGNAL_BLOCKING
+#else
+#  define THREAD_SIGNAL_BLOCKING
+#endif
+
+#ifdef THREAD_SIGNAL_BLOCKING
+
 /* Block most signals for calling thread, setting the old signal mask to
  * oldmask, if it is not NULL */
 STATIC int
@@ -212,7 +223,7 @@ S_ithread_clear(pTHX_ ithread *thread)
                 ||
            (thread->state & PERL_ITHR_NONVIABLE));
 
-#ifndef WIN32
+#ifdef THREAD_SIGNAL_BLOCKING
     /* We temporarily set the interpreter context to the interpreter being
      * destroyed.  It's in no condition to handle signals while it's being
      * taken apart.
@@ -241,7 +252,7 @@ S_ithread_clear(pTHX_ ithread *thread)
     }
 
     PERL_SET_CONTEXT(aTHX);
-#ifndef WIN32
+#ifdef THREAD_SIGNAL_BLOCKING
     S_set_sigmask(&origmask);
 #endif
 }
@@ -495,7 +506,7 @@ S_ithread_run(void * arg)
     PERL_SET_CONTEXT(thread->interp);
     S_ithread_set(aTHX_ thread);
 
-#ifndef WIN32
+#ifdef THREAD_SIGNAL_BLOCKING
     /* Thread starts with most signals blocked - restore the signal mask from
      * the ithread struct.
      */
@@ -535,7 +546,7 @@ S_ithread_run(void * arg)
         }
         JMPENV_POP;
 
-#ifndef WIN32
+#ifdef THREAD_SIGNAL_BLOCKING
         /* The interpreter is finished, so this thread can stop receiving
          * signals.  This way, our signal handler doesn't get called in the
          * middle of our parent thread calling perl_destruct()...
@@ -768,7 +779,7 @@ S_ithread_create(
     PL_srand_called = FALSE;   /* Set it to false so we can detect if it gets
                                   set during the clone */
 
-#ifndef WIN32
+#ifdef THREAD_SIGNAL_BLOCKING
     /* perl_clone() will leave us the new interpreter's context.  This poses
      * two problems for our signal handler.  First, it sets the new context
      * before the new interpreter struct is fully initialized, so our signal
@@ -930,7 +941,7 @@ S_ithread_create(
 #  endif
         }
 
-#ifndef WIN32
+#ifdef THREAD_SIGNAL_BLOCKING
     /* Now it's safe to accept signals, since we're in our own interpreter's
      * context and we have created the thread.
      */
diff --git a/doio.c b/doio.c
index 39e5ce7..6bceb29 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -741,9 +741,10 @@ S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname,
                 int ofd = PerlIO_fileno(fp);
                 int dupfd = ofd >= 0 ? PerlLIO_dup(ofd) : -1;
 #if defined(HAS_FCNTL) && defined(F_SETFD)
-               /* Assume if we have F_SETFD we have F_GETFD */
-                int coe = ofd >= 0 ? fcntl(ofd, F_GETFD) : -1;
-                if (coe < 0) {
+               /* Assume if we have F_SETFD we have F_GETFD. */
+                /* Get a copy of all the fd flags. */
+                int fd_flags = ofd >= 0 ? fcntl(ofd, F_GETFD) : -1;
+                if (fd_flags < 0) {
                     if (dupfd >= 0)
                         PerlLIO_close(dupfd);
                     goto say_false;
@@ -757,8 +758,9 @@ S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname,
                 PerlIO_close(fp);
                 PerlLIO_dup2(dupfd, ofd);
 #if defined(HAS_FCNTL) && defined(F_SETFD)
-               /* The dup trick has lost close-on-exec on ofd */
-               fcntl(ofd,F_SETFD, coe);
+               /* The dup trick has lost close-on-exec on ofd,
+                 * and possibly any other flags, so restore them. */
+               fcntl(ofd,F_SETFD, fd_flags);
 #endif
                 PerlLIO_close(dupfd);
            }
@@ -769,12 +771,10 @@ S_openn_cleanup(pTHX_ GV *gv, IO *io, PerlIO *fp, char *mode, const char *oname,
        PerlIO_clearerr(fp);
        fd = PerlIO_fileno(fp);
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD)
-    if (fd >= 0) {
-        if (fcntl(fd, F_SETFD, fd > PL_maxsysfd) < 0) {
-            PerlLIO_close(fd);
-            goto say_false;
-        }
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
+    if (fd > PL_maxsysfd && fcntl(fd, F_SETFD, FD_CLOEXEC) < 0) {
+        PerlLIO_close(fd);
+        goto say_false;
     }
 #endif
     IoIFP(io) = fp;
@@ -943,7 +943,7 @@ Perl_nextargv(pTHX_ GV *gv, bool nomagicopen)
 #endif
                }
                else {
-#if !defined(DOSISH) && !defined(AMIGAOS)
+#if !defined(DOSISH) && !defined(__amigaos4__)
 #  ifndef VMS  /* Don't delete; use automatic file versioning */
                    if (UNLINK(PL_oldname) < 0) {
                        Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE),
@@ -1528,9 +1528,10 @@ S_exec_failed(pTHX_ const char *cmd, int fd, int do_report)
 {
     const int e = errno;
     PERL_ARGS_ASSERT_EXEC_FAILED;
+
     if (ckWARN(WARN_EXEC))
-       Perl_warner(aTHX_ packWARN(WARN_EXEC), "Can't exec \"%s\": %s",
-                   cmd, Strerror(e));
+        Perl_warner(aTHX_ packWARN(WARN_EXEC), "Can't exec \"%s\": %s",
+                    cmd, Strerror(e));
     if (do_report) {
         /* XXX silently ignore failures */
         PERL_UNUSED_RESULT(PerlLIO_write(fd, (void*)&e, sizeof(int)));
@@ -1566,10 +1567,11 @@ Perl_do_aexec5(pTHX_ SV *really, SV **mark, SV **sp,
            (really && *tmps != '/'))           /* will execvp use PATH? */
            TAINT_ENV();                /* testing IFS here is overkill, probably */
        PERL_FPU_PRE_EXEC
-       if (really && *tmps)
-           PerlProc_execvp(tmps,EXEC_ARGV_CAST(PL_Argv));
-       else
-           PerlProc_execvp(PL_Argv[0],EXEC_ARGV_CAST(PL_Argv));
+       if (really && *tmps) {
+            PerlProc_execvp(tmps,EXEC_ARGV_CAST(PL_Argv));
+       } else {
+            PerlProc_execvp(PL_Argv[0],EXEC_ARGV_CAST(PL_Argv));
+       }
        PERL_FPU_POST_EXEC
        S_exec_failed(aTHX_ (really ? tmps : PL_Argv[0]), fd, do_report);
     }
@@ -1683,7 +1685,7 @@ Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
            }
          doshell:
            PERL_FPU_PRE_EXEC
-           PerlProc_execl(PL_sh_path, "sh", "-c", cmd, (char *)NULL);
+            PerlProc_execl(PL_sh_path, "sh", "-c", cmd, (char *)NULL);
            PERL_FPU_POST_EXEC
            S_exec_failed(aTHX_ PL_sh_path, fd, do_report);
            Safefree(buf);
@@ -1707,7 +1709,7 @@ Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
     *a = NULL;
     if (PL_Argv[0]) {
        PERL_FPU_PRE_EXEC
-       PerlProc_execvp(PL_Argv[0],EXEC_ARGV_CAST(PL_Argv));
+        PerlProc_execvp(PL_Argv[0],EXEC_ARGV_CAST(PL_Argv));
        PERL_FPU_POST_EXEC
        if (errno == ENOEXEC) {         /* for system V NIH syndrome */
            do_execfree();
@@ -1722,10 +1724,6 @@ Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
 
 #endif /* OS2 || WIN32 */
 
-#ifdef VMS
-#include <starlet.h> /* for sys$delprc */
-#endif
-
 I32
 Perl_apply(pTHX_ I32 type, SV **mark, SV **sp)
 {
@@ -1887,40 +1885,7 @@ nothing in the core.
        }
        APPLY_TAINT_PROPER();
        tot = sp - mark;
-#ifdef VMS
-       /* kill() doesn't do process groups (job trees?) under VMS */
-       if (val == SIGKILL) {
-           /* Use native sys$delprc() to insure that target process is
-            * deleted; supervisor-mode images don't pay attention to
-            * CRTL's emulation of Unix-style signals and kill()
-            */
-           while (++mark <= sp) {
-               I32 proc;
-               unsigned long int __vmssts;
-               SvGETMAGIC(*mark);
-               if (!(SvIOK(*mark) || SvNOK(*mark) || looks_like_number(*mark)))
-                   Perl_croak(aTHX_ "Can't kill a non-numeric process ID");
-               proc = SvIV_nomg(*mark);
-               APPLY_TAINT_PROPER();
-               if (!((__vmssts = sys$delprc(&proc,0)) & 1)) {
-                   tot--;
-                   switch (__vmssts) {
-                       case SS$_NONEXPR:
-                       case SS$_NOSUCHNODE:
-                           SETERRNO(ESRCH,__vmssts);
-                           break;
-                       case SS$_NOPRIV:
-                           SETERRNO(EPERM,__vmssts);
-                           break;
-                       default:
-                           SETERRNO(EVMSERR,__vmssts);
-                   }
-               }
-           }
-           PERL_ASYNC_CHECK();
-           break;
-       }
-#endif
+
        while (++mark <= sp) {
            Pid_t proc;
            SvGETMAGIC(*mark);
@@ -1952,7 +1917,21 @@ nothing in the core.
             }
            else if (PL_unsafe) {
                if (UNLINK(s))
+               {
                    tot--;
+               }
+#if defined(__amigaos4__) && defined(NEWLIB)
+               else
+               {
+                  /* Under AmigaOS4 unlink only 'fails' if the
+                   * filename is invalid.  It may not remove the file
+                   * if it's locked, so check if it's still around. */
+                  if ((access(s,F_OK) != -1))
+                  {
+                    tot--;
+                  }
+               }
+#endif
            }
            else {      /* don't let root wipe out directories without -U */
                if (PerlLIO_lstat(s,&PL_statbuf) < 0)
@@ -1963,7 +1942,21 @@ nothing in the core.
                }
                else {
                    if (UNLINK(s))
-                       tot--;
+                   {
+                               tot--;
+                       }
+#if defined(__amigaos4__) && defined(NEWLIB)
+                       else
+                       {
+                               /* Under AmigaOS4 unlink only 'fails' if the filename is invalid */
+                               /* It may not remove the file if it's Locked, so check if it's still */
+                               /* arround */
+                               if((access(s,F_OK) != -1))
+                               {
+                                       tot--;
+                               }
+                       }       
+#endif
                }
            }
        }
index 9d35f20..42864d4 100644 (file)
--- a/dquote.c
+++ b/dquote.c
@@ -160,7 +160,7 @@ Perl_grok_bslash_o(pTHX_ char **s, UV *uv, const char** error_msg,
 
     /* guarantee replacing "\o{...}" with utf8 bytes fits within
      * existing space */
-    assert(OFFUNISKIP(*uv) < *s - start);
+    assert(UVCHR_SKIP(*uv) < *s - start);
 
     return TRUE;
 }
index d8548bf..02c4f1d 100644 (file)
@@ -153,7 +153,7 @@ S_grok_bslash_x(pTHX_ char **s, UV *uv, const char** error_msg,
   ok:
     /* guarantee replacing "\x{...}" with utf8 bytes fits within
      * existing space */
-    assert(OFFUNISKIP(*uv) < *s - start);
+    assert(UVCHR_SKIP(*uv) < *s - start);
     return TRUE;
 }
 
diff --git a/dump.c b/dump.c
index 778e345..ec0094d 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -94,43 +94,43 @@ S_append_flags(pTHX_ SV *sv, U32 flags, const struct flag_to_name *start,
 /*
 =for apidoc pv_escape
 
-Escapes at most the first "count" chars of pv and puts the results into
-dsv such that the size of the escaped string will not exceed "max" chars
+Escapes at most the first C<count> chars of C<pv> and puts the results into
+C<dsv> such that the size of the escaped string will not exceed C<max> chars
 and will not contain any incomplete escape sequences.  The number of bytes
-escaped will be returned in the STRLEN *escaped parameter if it is not null.
-When the dsv parameter is null no escaping actually occurs, but the number
+escaped will be returned in the C<STRLEN *escaped> parameter if it is not null.
+When the C<dsv> parameter is null no escaping actually occurs, but the number
 of bytes that would be escaped were it not null will be calculated.
 
-If flags contains PERL_PV_ESCAPE_QUOTE then any double quotes in the string
+If flags contains C<PERL_PV_ESCAPE_QUOTE> then any double quotes in the string
 will also be escaped.
 
 Normally the SV will be cleared before the escaped string is prepared,
-but when PERL_PV_ESCAPE_NOCLEAR is set this will not occur.
+but when C<PERL_PV_ESCAPE_NOCLEAR> is set this will not occur.
 
-If PERL_PV_ESCAPE_UNI is set then the input string is treated as UTF-8
-if PERL_PV_ESCAPE_UNI_DETECT is set then the input string is scanned
+If C<PERL_PV_ESCAPE_UNI> is set then the input string is treated as UTF-8
+if C<PERL_PV_ESCAPE_UNI_DETECT> is set then the input string is scanned
 using C<is_utf8_string()> to determine if it is UTF-8.
 
-If PERL_PV_ESCAPE_ALL is set then all input chars will be output
-using C<\x01F1> style escapes, otherwise if PERL_PV_ESCAPE_NONASCII is set, only
+If C<PERL_PV_ESCAPE_ALL> is set then all input chars will be output
+using C<\x01F1> style escapes, otherwise if C<PERL_PV_ESCAPE_NONASCII> is set, only
 non-ASCII chars will be escaped using this style; otherwise, only chars above
 255 will be so escaped; other non printable chars will use octal or
 common escaped patterns like C<\n>.
-Otherwise, if PERL_PV_ESCAPE_NOBACKSLASH
+Otherwise, if C<PERL_PV_ESCAPE_NOBACKSLASH>
 then all chars below 255 will be treated as printable and
 will be output as literals.
 
-If PERL_PV_ESCAPE_FIRSTCHAR is set then only the first char of the
+If C<PERL_PV_ESCAPE_FIRSTCHAR> is set then only the first char of the
 string will be escaped, regardless of max.  If the output is to be in hex,
 then it will be returned as a plain hex
 sequence.  Thus the output will either be a single char,
 an octal escape sequence, a special escape like C<\n> or a hex value.
 
-If PERL_PV_ESCAPE_RE is set then the escape char used will be a '%' and
-not a '\\'.  This is because regexes very often contain backslashed
-sequences, whereas '%' is not a particularly common character in patterns.
+If C<PERL_PV_ESCAPE_RE> is set then the escape char used will be a C<"%"> and
+not a C<"\\">.  This is because regexes very often contain backslashed
+sequences, whereas C<"%"> is not a particularly common character in patterns.
 
-Returns a pointer to the escaped text as held by dsv.
+Returns a pointer to the escaped text as held by C<dsv>.
 
 =cut
 */
@@ -249,23 +249,23 @@ Perl_pv_escape( pTHX_ SV *dsv, char const * const str,
 =for apidoc pv_pretty
 
 Converts a string into something presentable, handling escaping via
-pv_escape() and supporting quoting and ellipses.
+C<pv_escape()> and supporting quoting and ellipses.
 
-If the PERL_PV_PRETTY_QUOTE flag is set then the result will be 
+If the C<PERL_PV_PRETTY_QUOTE> flag is set then the result will be
 double quoted with any double quotes in the string escaped.  Otherwise
-if the PERL_PV_PRETTY_LTGT flag is set then the result be wrapped in
+if the C<PERL_PV_PRETTY_LTGT> flag is set then the result be wrapped in
 angle brackets. 
 
-If the PERL_PV_PRETTY_ELLIPSES flag is set and not all characters in
+If the C<PERL_PV_PRETTY_ELLIPSES> flag is set and not all characters in
 string were output then an ellipsis C<...> will be appended to the
 string.  Note that this happens AFTER it has been quoted.
 
-If start_color is non-null then it will be inserted after the opening
-quote (if there is one) but before the escaped text.  If end_color
+If C<start_color> is non-null then it will be inserted after the opening
+quote (if there is one) but before the escaped text.  If C<end_color>
 is non-null then it will be inserted after the escaped text but before
 any quotes or ellipses.
 
-Returns a pointer to the prettified text as held by dsv.
+Returns a pointer to the prettified text as held by C<dsv>.
 
 =cut           
 */
index 12c0551..d9b43d1 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -71,7 +71,8 @@
 :
 :   M  May change:
 :
-:         any doc entry is marked that function may change
+:         any doc entry is marked that function may change.  Also used to
+:        suppress making a doc entry if it would just be a placeholder.
 :
 :   m  Implemented as a macro:
 :
@@ -349,9 +350,9 @@ Afrpd   |OP*    |die            |NULLOK const char* pat|...
 pr     |void   |die_unwind     |NN SV* msv
 Ap     |void   |dounwind       |I32 cxix
 : FIXME
-pmb    |bool   |do_aexec       |NULLOK SV* really|NN SV** mark|NN SV** sp
+pmb    |bool|do_aexec  |NULLOK SV* really|NN SV** mark|NN SV** sp
 : Used in pp_sys.c
-p      |bool   |do_aexec5      |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
+p      |bool|do_aexec5 |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
 Ap     |int    |do_binmode     |NN PerlIO *fp|int iotype|int mode
 : Used in pp.c
 Ap     |bool   |do_close       |NULLOK GV* gv|bool not_implicit
@@ -359,9 +360,9 @@ Ap  |bool   |do_close       |NULLOK GV* gv|bool not_implicit
 p      |bool   |do_eof         |NN GV* gv
 
 #ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-pm     |bool   |do_exec        |NN const char* cmd
+pm     |bool|do_exec   |NN const char* cmd
 #else
-p      |bool   |do_exec        |NN const char* cmd
+p      |bool|do_exec   |NN const char* cmd
 #endif
 
 #if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
@@ -370,7 +371,7 @@ Ap  |int    |do_spawn       |NN char* cmd
 Ap     |int    |do_spawn_nowait|NN char* cmd
 #endif
 #if !defined(WIN32)
-p      |bool   |do_exec3       |NN const char *incmd|int fd|int do_report
+p      |bool|do_exec3  |NN const char *incmd|int fd|int do_report
 #endif
 p      |void   |do_execfree
 #if defined(PERL_IN_DOIO_C)
@@ -2130,6 +2131,7 @@ Es        |regnode*|regclass      |NN RExC_state_t *pRExC_state                 \
                                |bool allow_multi_fold                        \
                                |const bool silence_non_portable              \
                                |const bool strict                            \
+                               |bool optimizable                       \
                                |NULLOK SV** ret_invlist
 Es     |void|add_above_Latin1_folds|NN RExC_state_t *pRExC_state|const U8 cp \
                                |NN SV** invlist
@@ -2470,8 +2472,14 @@ s        |char*  |stdize_locale  |NN char* locs
 #if defined(USE_LOCALE) \
     && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
 ApM    |bool   |_is_cur_LC_category_utf8|int category
+#      ifdef DEBUGGING
+AMnPpR |char * |_setlocale_debug_string|const int category                 \
+                                       |NULLOK const char* const locale    \
+                                       |NULLOK const char* const retval
+#      endif
 #endif
 
+
 #if defined(PERL_IN_UTIL_C)
 s      |SV*    |mess_alloc
 s      |SV *   |with_queued_errors|NN SV *ex
diff --git a/embed.h b/embed.h
index 0611ea9..3f6515f 100644 (file)
--- a/embed.h
+++ b/embed.h
 #if defined(DEBUGGING)
 #define pad_setsv(a,b)         Perl_pad_setsv(aTHX_ a,b)
 #define pad_sv(a)              Perl_pad_sv(aTHX_ a)
+#  if defined(USE_LOCALE)     && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
+#define _setlocale_debug_string        Perl__setlocale_debug_string
+#  endif
 #endif
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 #define csighandler            Perl_csighandler
 #define reganode(a,b,c)                S_reganode(aTHX_ a,b,c)
 #define regatom(a,b,c)         S_regatom(aTHX_ a,b,c)
 #define regbranch(a,b,c,d)     S_regbranch(aTHX_ a,b,c,d)
-#define regclass(a,b,c,d,e,f,g,h)      S_regclass(aTHX_ a,b,c,d,e,f,g,h)
+#define regclass(a,b,c,d,e,f,g,h,i)    S_regclass(aTHX_ a,b,c,d,e,f,g,h,i)
 #define regex_set_precedence   S_regex_set_precedence
 #define reginsert(a,b,c,d)     S_reginsert(aTHX_ a,b,c,d)
 #define regnode_guts(a,b,c,d)  S_regnode_guts(aTHX_ a,b,c,d)
diff --git a/ext/Amiga-ARexx/ARexx.pm b/ext/Amiga-ARexx/ARexx.pm
new file mode 100644 (file)
index 0000000..4fe2390
--- /dev/null
@@ -0,0 +1,355 @@
+package Amiga::ARexx;
+
+use 5.016000;
+use strict;
+use warnings;
+use Carp;
+
+require Exporter;
+#use AutoLoader;
+
+our @ISA = qw(Exporter);
+
+# Items to export into callers namespace by default. Note: do not export
+# names by default without a very good reason. Use EXPORT_OK instead.
+# Do not simply export all your public functions/methods/constants.
+
+# This allows declaration       use Amiga::Classes::ARexx ':all';
+# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
+# will save memory.
+our %EXPORT_TAGS = ( 'all' => [ qw(
+DoRexx
+) ] );
+
+our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
+
+our @EXPORT = qw(
+);
+
+our $VERSION = '0.02';
+
+require XSLoader;
+XSLoader::load('Amiga::ARexx', $VERSION);
+
+sub new
+{
+    my $class = shift;
+    my $self = bless {}, $class;
+    return $self->__init(@_);
+}
+
+sub __init
+{
+    my $self = shift;
+    my %params = @_;
+    my @tags = ();
+
+    if(exists $params{'HostName'})
+    {
+        $self->{'__hostname'} = $params{'HostName'};
+    } else { croak "HostName required";}
+
+    $self->{'__host'} = Amiga::ARexx::Host_init($self->{'__hostname'});
+    if (defined $self->{'__host'} && $self->{'__host'} != 0)
+    {
+    }
+    else
+    {
+        croak "Unabel to initialise Arexx Host";
+    }
+    return $self;
+}
+
+sub wait
+{
+       my $self = shift;
+       my %params = @_;
+       my $timeout = -1;
+       if ((exists $params{'TimeOut'}) && (defined $params{'TimeOut'}))
+       {
+               $timeout = $params{'TimeOut'};
+               $timeout += 0; # force number
+       }
+       Amiga::ARexx::Host_wait($self->{'__host'},$timeout);
+
+}
+
+sub signal
+{
+       my $self = shift;
+       return Amiga::ARexx::Host_signal($self->{'__host'});
+}
+
+sub getmsg
+{
+    my $self = shift;
+    my $msg;
+    my $msgobj;
+
+    if(defined $self->{'__host'})
+    {
+       $msg = Amiga::ARexx::Host_getmsg($self->{'__host'});
+       if($msg)
+       {
+           $msgobj = Amiga::ARexx::Msg->new('Message' => $msg);
+       }
+    }
+    return $msgobj;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+    if(exists $self->{'__host'} && defined $self->{'__host'})
+    {
+        Amiga::ARexx::Host_delete($self->{'__host'});
+        delete $self->{'__host'};
+    }
+}
+
+sub DoRexx($$)
+{
+    my ($port,$command) = @_;
+    my $rc = 0;
+    my $rc2 = 0;
+    my $result = Amiga::ARexx::_DoRexx($port,$command,$rc,$rc2);
+    return ($rc,$rc2,$result);
+}
+
+package Amiga::ARexx::Msg;
+
+use strict;
+use warnings;
+use Carp;
+
+sub new
+{
+    my $class = shift;
+    my $self = bless {}, $class;
+    return $self->__init(@_);
+}
+
+sub __init
+{
+    my $self = shift;
+    my %params = @_;
+
+    if(exists $params{'Message'})
+    {
+        $self->{'__msg'} = $params{'Message'};
+    } else { croak "Message required";}
+
+    $self->{'__message'} = Amiga::ARexx::Msg_argstr($self->{'__msg'});
+    return $self;
+}
+
+sub message
+{
+    my $self = shift;
+    return $self->{'__message'};
+}
+
+sub reply($$$$)
+{
+    my ($self,$rc,$rc2,$result) = @_;
+    if(exists $self->{'__msg'} && defined $self->{'__msg'})
+    {
+        Amiga::ARexx::Msg_reply($self->{'__msg'},$rc,$rc2,$result);
+    }
+}
+
+sub setvar($$$)
+{
+    my ($self,$varname,$value) = @_;
+    if(exists $self->{'__msg'} && defined $self->{'__msg'})
+    {
+        Amiga::ARexx::Msg_setvar($self->{'__msg'},$varname,$value);
+    }
+}
+
+sub getvar($$)
+{
+    my ($self,$varname) = @_;
+    if(exists $self->{'__msg'} && defined $self->{'__msg'})
+    {
+       return Amiga::ARexx::Msg_getvar($self->{'__msg'},$varname);
+    }
+}
+
+sub DESTROY
+{
+    my $self = shift;
+    if(exists $self->{'__msg'} && defined $self->{'__msg'})
+    {
+        Amiga::ARexx::Msg_delete($self->{'__msg'});
+        delete $self->{'__msg'};
+    }
+}
+
+# Preloaded methods go here.
+
+# Autoload methods go after =cut, and are processed by the autosplit program.
+
+1;
+__END__
+# Below is stub documentation for your module. You'd better edit it!
+
+=head1 NAME
+
+Amiga::ARexx - Perl extension for ARexx support
+
+=head1 ABSTRACT
+
+This a  perl class / module to enable you to use  ARexx  with
+your perlscript. Creating a function host or executing scripts in other hosts.
+The API is loosley modeled on the python arexx module supplied by with AmigaOS4.1
+
+=head1 SYNOPSIS
+
+    # Create a new host
+
+    use Amiga::ARexx;
+    my $host = Amiga::ARexx->new('HostName' => "PERLREXX" );                                                                          );
+
+    # Wait for and process rexxcommands
+
+    my $alive = 1;
+
+    while ($alive)
+    {
+        $host->wait();
+        my $msg = $host->getmsg();
+        while($msg)
+        {
+            my $rc = 0;
+            my $rc2 = 0;
+            my $result = "";
+
+            print $msg->message . "\n";
+            given($msg->message)
+            {
+                when ("QUIT")
+                {
+                    $alive = 0;
+                    $result = "quitting!";
+                }
+                default {
+                    $rc = 10;
+                    $rc2 = 22;
+                }
+            }
+            $msg->reply($rc,$rc2,$result);
+
+            $msg = $host->getmsg();
+        }
+
+    }
+
+    # Send a command to a host
+
+    my $port = "SOMEHOST";
+    my $command = "SOMECOMMAND";
+    my ($rc,$rc2,$result) = Amiga::ARexx->DoRexx($port,$command);
+
+
+
+=head1 DESCRIPTION
+
+The interface to the arexx.class in entirely encapsulated within the perl class, there
+is no need to access the low level methods directly and they are not exported by default.
+
+=head1 Amiga::ARexx METHODS
+
+=head2 new
+
+    my $host = Amiga::ARexx->new( HostName => "PERLREXX");                                                                            );
+
+
+Create an ARexx host for your script / program.
+
+=head3 HostName
+
+The HostName for the hosts command port. This is madatory, the program will fail if not
+provided.
+
+
+=head2 wait
+
+       $host->wait('TimeOut' => $timeoutinusecs );
+
+Wait for a message to arive at the port.
+
+=head3 TimeOut
+
+optional time out in microseconds.
+
+
+=head2 getmsg
+
+    $msg = $host->getmsg();
+
+
+Fetch an ARexx message from the host port. Returns an objrct of class Amiga::ARexx::Msg
+
+=head2 signal
+
+    $signal = $host->signal()
+
+Retrieve the signal mask for the host port for use with Amiga::Exec Wait()
+
+=head2 DoRexx
+
+    ($rc,$rc2,$result) = DoRexx("desthost","commandstring");
+
+Send the "commandstring" to host "desthost" for execution. Commandstring might be a specific command or scriptname.
+
+=head1 Amiga::ARexx::Msg METHODS
+
+=head2 message
+
+       $m = $msg->message();
+
+Retreive the message "command" as a string;
+
+
+=head2 reply
+
+       $msg->reply($rc,$rc2,$result)
+
+Reply the message returning the results of any command. Set $rc = 0 for success and $result  to the result string if appropriate.
+
+Set $rc to non zero for error and $rc2 for an additional error code if appropriate.
+
+=head2 setvar
+
+       $msg->setvar($varname,$value)
+
+Set a variable in the language context sending this message.
+
+=head2 getvar
+
+    $value = $msg->getvar($varname)
+
+Get the value of a variable in the language context sending this message.
+
+
+=head2 EXPORT
+
+None by default.
+
+=head2 Exportable constants
+
+None
+
+=head1 AUTHOR
+
+Andy Broad <andy@broad.ology.org.uk>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (C) 2013 by Andy Broad.
+
+=cut
+
+
+
diff --git a/ext/Amiga-ARexx/ARexx.xs b/ext/Amiga-ARexx/ARexx.xs
new file mode 100644 (file)
index 0000000..5854b27
--- /dev/null
@@ -0,0 +1,540 @@
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#undef __USE_INLINE__
+#include <exec/types.h>
+#include <utility/tagitem.h>
+#include <proto/exec.h>
+#include <proto/intuition.h>
+#include <proto/rexxsyslib.h>
+#include <proto/utility.h>
+
+#include <rexx/rxslib.h>
+#include <rexx/errors.h>
+//#include "rexxmsgext.h" // this should change depening on the ultimate location of the structures
+
+/* utils */
+
+/*
+ * Structure for the rexx host. Most of the code is inspired from Olaf
+ * Barthel's sample ARexx code from the developer CD 2.1
+ */
+
+
+struct RexxHost
+{
+       struct MsgPort *Port;
+       TEXT PortName[81];
+} ;
+
+struct ARexxMsg
+{
+       struct RexxMsg *rexxMsg;
+       BOOL isReplied;
+       struct RexxHost *rexxHost;
+};
+
+STRPTR dupstr(STRPTR src)
+{
+    STRPTR dest = NULL;
+    ULONG len;
+    if(src)
+    {
+        len = strlen(src);
+        if((dest = IExec->AllocVec(len + 1, MEMF_ANY)))
+        {
+            strcpy(dest,src);
+        }
+    }
+    return dest;
+}
+
+
+struct TimeRequest *
+OpenTimer(void)
+{
+       struct MsgPort *port = IExec->AllocSysObjectTags(ASOT_PORT, TAG_END);
+       if (port == NULL)
+       {
+               return NULL;
+       }
+
+       struct TimeRequest *req = IExec->AllocSysObjectTags(ASOT_IOREQUEST,
+               ASOIOR_Size, sizeof(struct TimeRequest),
+               ASOIOR_ReplyPort, port,
+               TAG_END);
+
+       if (req == NULL)
+       {
+               IExec->FreeSysObject(ASOT_PORT, port);
+               return NULL;
+       }
+
+       int8 deverr = IExec->OpenDevice("timer.device", UNIT_MICROHZ,
+               &req->Request, 0);
+
+       if (deverr != IOERR_SUCCESS)
+       {
+               IExec->FreeSysObject(ASOT_IOREQUEST, req);
+               IExec->FreeSysObject(ASOT_PORT, port);
+               return NULL;
+       }
+
+       return req;
+}
+
+
+void
+CloseTimer(struct TimeRequest *req)
+{
+       if (req != NULL)
+       {
+               struct MsgPort *port = req->Request.io_Message.mn_ReplyPort;
+
+               IExec->CloseDevice(&req->Request);
+               IExec->FreeSysObject(ASOT_IOREQUEST, req);
+               IExec->FreeSysObject(ASOT_PORT, port);
+       }
+}
+
+LONG
+ReturnRexxMsg(struct RexxMsg * Message, CONST_STRPTR Result)
+{
+       STRPTR ResultString = NULL;
+
+       /* No error has occured yet. */
+       int32 ErrorCode = 0;
+
+       /* Set up the RexxMsg to return no error. */
+       Message->rm_Result1 = RC_OK;
+       Message->rm_Result2 = 0;
+
+       /* Check if the command should return a result. */
+       if((Message->rm_Action & RXFF_RESULT) && Result != NULL)
+       {
+               /* To return the result string we need to make
+                * a copy for ARexx to use.
+                */
+               if((ResultString = IRexxSys->CreateArgstring(Result, strlen(Result))))
+               {
+                       /* Put the string into the secondary
+                        * result field.
+                        */
+                       Message->rm_Result2 = (LONG)ResultString;
+               }
+               else
+               {
+                       /* No memory available. */
+                       ErrorCode = ERR10_003;
+               }
+       }
+
+       /* Reply the message, regardless of the error code. */
+       IExec->ReplyMsg((struct Message *)Message);
+
+       return(ErrorCode);
+}
+
+
+void
+ReturnErrorMsg(struct RexxMsg *msg, CONST_STRPTR port, int32 rc, int32 rc2)
+{
+       /* To signal an error the rc_Result1
+        * entry of the RexxMsg needs to be set to
+        * RC_ERROR. Unfortunately, we cannot convey
+        * the more meaningful error code through
+        * this interface which is why we set a
+        * Rexx variable to the error number. The
+        * Rexx script can then take a look at this
+        * variable and decide which further steps
+        * it should take.
+        */
+       msg->rm_Result1 = rc;
+       msg->rm_Result2 = rc2;
+
+       /* Turn the error number into a string as
+        * ARexx only deals with strings.
+        */
+       char value[12];
+       IUtility->SNPrintf(value, sizeof(value), "%ld", rc2);
+
+       /* Build the name of the variable to set to
+        * the error number. We will use the name of
+        * the host name and append ".LASTERROR".
+        */
+       IRexxSys->SetRexxVarFromMsg("RC2", value, msg);
+
+       IExec->ReplyMsg(&msg->rm_Node);
+}
+
+BOOL
+PutMsgTo(CONST_STRPTR name, struct Message *msg)
+{
+       BOOL done = FALSE;
+
+       IExec->Forbid();
+
+       struct MsgPort *port = IExec->FindPort(name);
+       if (port != NULL)
+       {
+               IExec->PutMsg(port, msg);
+               done = TRUE;
+       }
+
+       IExec->Permit();
+
+       return done;
+}
+
+
+STRPTR DoRexx(STRPTR port, STRPTR command, int32 *rc, int32 *rc2)
+{
+       *rc = 0;
+       *rc2 = 0;
+       STRPTR result = NULL;
+       STRPTR dup = NULL;
+
+       struct MsgPort *replyPort = IExec->AllocSysObjectTags(ASOT_PORT, TAG_END);
+       if (replyPort == NULL)
+       {
+               return NULL;
+       }
+
+       struct RexxMsg *rexxMsg = IRexxSys->CreateRexxMsg(replyPort, NULL, NULL);
+       ((struct Node *)rexxMsg)->ln_Name = "REXX";
+       if (rexxMsg == NULL)
+       {
+               IExec->FreeSysObject(ASOT_PORT, replyPort);
+               return NULL;
+       }
+       BOOL sent = FALSE;
+
+
+       rexxMsg->rm_Args[0] = IRexxSys->CreateArgstring(command, strlen(command));
+
+       if (rexxMsg->rm_Args[0] != NULL)
+       {
+               rexxMsg->rm_Action = RXCOMM | RXFF_RESULT | RXFF_STRING;
+
+               sent = PutMsgTo(port, (struct Message*)rexxMsg);
+
+               if (sent)
+               {
+                       IExec->WaitPort(replyPort);
+                       (void)IExec->GetMsg(replyPort);
+               }
+               else
+               {
+
+               }
+
+               *rc = rexxMsg->rm_Result1;
+
+               if (*rc == RC_OK)
+               {
+                       if (rexxMsg->rm_Result2 != 0)
+                       {
+                               result = (STRPTR)rexxMsg->rm_Result2;
+                       }
+               }
+               else
+               {
+                       *rc2 = rexxMsg->rm_Result2;
+               }
+
+               IRexxSys->DeleteArgstring(rexxMsg->rm_Args[0]);
+               rexxMsg->rm_Args[0] = NULL;
+       }
+
+       IRexxSys->DeleteRexxMsg(rexxMsg);
+       rexxMsg = NULL;
+
+       IExec->FreeSysObject(ASOT_PORT, replyPort);
+       replyPort = NULL;
+
+       if (result != NULL)
+       {
+               dup = dupstr(result);
+
+               IRexxSys->DeleteArgstring(result);
+               result = NULL;
+       }
+
+       return dup;
+}
+
+
+struct RexxHost *CreateRexxHost(CONST_STRPTR PortName)
+{
+       struct RexxHost *newHost = IExec->AllocVecTags(sizeof(struct RexxHost),
+       AVT_Type, MEMF_PRIVATE, AVT_ClearWithValue, 0, TAG_DONE);
+
+       if (newHost == NULL)
+       {
+       return NULL;
+       }
+
+       IUtility->Strlcpy(newHost->PortName, PortName, sizeof(newHost->PortName));
+
+       IExec->Forbid();
+
+       /* Check if the name already exists */
+       if (IExec->FindPort(PortName) != NULL)
+       {
+       int32 index = 1;
+       do
+       {
+       IUtility->SNPrintf(newHost->PortName, sizeof(newHost->PortName), "%s.%ld", PortName, index);
+       index++;
+
+       if (IExec->FindPort(newHost->PortName) == NULL)
+       {
+       break;
+       }
+       } while (1);
+       }
+
+       newHost->Port = IExec->AllocSysObjectTags(ASOT_PORT,
+       ASOPORT_Name,   newHost->PortName,
+       ASOPORT_Public, TRUE,
+       TAG_DONE);
+
+       IExec->Permit();
+
+       if (newHost->Port == NULL)
+       {
+       IExec->FreeVec(newHost);
+       return NULL;
+       }
+
+       return newHost;
+}
+
+
+void DeleteRexxHost(struct RexxHost *host)
+{
+       if (host)
+       {
+       if (host->Port)
+       {
+       struct RexxMsg *msg;
+
+       IExec->Forbid();
+       while ((msg = (struct RexxMsg *)IExec->GetMsg(host->Port)) != NULL)
+       {
+       msg->rm_Result1 = RC_FATAL;
+       IExec->ReplyMsg((struct Message *)msg);
+       }
+
+       IExec->FreeSysObject(ASOT_PORT, host->Port);
+       IExec->Permit();
+       }
+
+       IExec->FreeVec(host);
+       }
+}
+
+void WaitRexxHost(struct RexxHost *rexxHost, int timeout)
+{
+
+       struct TimeRequest *req = NULL;
+       uint32 timermask        = 0;
+
+       if (timeout > 0)
+       {
+               req = OpenTimer();
+
+               if (req != NULL)
+               {
+                       timermask = 1L << req->Request.io_Message.mn_ReplyPort->mp_SigBit;
+
+                       req->Request.io_Command = TR_ADDREQUEST;
+                       req->Time.Seconds       = 0;
+                       req->Time.Microseconds  = timeout;
+
+                       IExec->SendIO(&req->Request);
+               }
+       }
+
+       uint32 hostmask = 1L << rexxHost->Port->mp_SigBit;
+       uint32 waitmask = timermask | hostmask | SIGBREAKF_CTRL_C;
+
+       uint32 sigmask = IExec->Wait(waitmask);
+
+       if (req != NULL)
+       {
+               IExec->AbortIO(&req->Request);
+               IExec->WaitIO(&req->Request);
+               CloseTimer(req);
+       }
+
+       if (sigmask & SIGBREAKF_CTRL_C)
+       {
+               return;
+       }
+
+
+}
+
+struct ARexxMsg *GetMsgRexxHost(struct RexxHost *rexxHost)
+{
+       struct ARexxMsg *am = NULL;
+
+       struct RexxMsg *rexxMsg = NULL;
+
+       rexxMsg = (struct RexxMsg *)IExec->GetMsg(rexxHost->Port);
+       if (rexxMsg != NULL)
+       {
+               if((am = IExec->AllocVecTags(sizeof(struct ARexxMsg),AVT_Type, MEMF_PRIVATE, AVT_ClearWithValue, 0, TAG_DONE)))
+               {
+                       am->rexxMsg = rexxMsg;
+                       am->rexxHost = rexxHost;
+                       am->isReplied = FALSE;
+               }
+
+       }
+       return am;
+}
+
+uint32 GetSignalRexxHost(struct RexxHost *rexxHost)
+{
+       return rexxHost->Port->mp_SigBit;
+}
+
+
+void ReplyARexxMsg(struct ARexxMsg *am, int rc, int rc2, STRPTR result)
+{
+       if(am)
+       {
+               if(!am->isReplied)
+               {
+                       if(rc == 0)
+                       {
+                               ReturnRexxMsg(am->rexxMsg, result);
+                       }
+                       else
+                       {
+                               ReturnErrorMsg(am->rexxMsg, am->rexxHost->PortName,rc,rc2);
+                       }
+                       am->isReplied = TRUE;
+               }
+       }
+}
+
+STRPTR GetVarARexxMsg(struct ARexxMsg *am, STRPTR varname)
+{
+       STRPTR result = IExec->AllocVecTags(256,AVT_Type, MEMF_PRIVATE, AVT_ClearWithValue, 0, TAG_DONE);
+       if(result)
+       {
+               IRexxSys->GetRexxVarFromMsg(varname, result, am->rexxMsg);
+       }
+       return result;
+}
+
+void SetVarARexxMsg(struct ARexxMsg *am, STRPTR varname, STRPTR value)
+{
+       IRexxSys->SetRexxVarFromMsg(varname, value, am->rexxMsg);
+}
+
+void DeleteARexxMsg(struct ARexxMsg *am)
+{
+       if(!am->isReplied)
+       {
+               IExec->ReplyMsg(&am->rexxMsg->rm_Node);
+               am->isReplied = TRUE;
+       }
+       IExec->FreeVec(am);
+}
+
+STRPTR GetArgsARexxMsg(struct ARexxMsg *am)
+{
+       return am->rexxMsg->rm_Args[0];
+}
+
+MODULE = Amiga::ARexx              PACKAGE = Amiga::ARexx
+
+PROTOTYPES: DISABLE
+
+
+APTR Host_init(name)
+    STRPTR name;
+    CODE:
+       RETVAL = CreateRexxHost(name);
+    OUTPUT:
+       RETVAL
+
+void Host_delete(rexxhost)
+       APTR rexxhost;
+       CODE:
+               DeleteRexxHost(rexxhost);
+
+void Host_wait(rexxhost,timeout)
+       APTR rexxhost
+       int timeout
+       CODE:
+               WaitRexxHost(rexxhost,timeout);
+
+uint32 Host_signal(rexxhost)
+       APTR rexxhost
+       CODE:
+               RETVAL = GetSignalRexxHost(rexxhost);
+       OUTPUT:
+               RETVAL
+
+APTR Host_getmsg(rexxhost)
+       APTR rexxhost
+       CODE:
+               RETVAL = GetMsgRexxHost(rexxhost);
+       OUTPUT:
+               RETVAL
+
+void Msg_reply(rexxmsg,rc,rc2,result)
+       APTR rexxmsg
+       int rc
+       int rc2
+       STRPTR result
+       CODE:
+               ReplyARexxMsg(rexxmsg,rc,rc2,result);
+
+void Msg_delete(rexxmsg)
+       APTR rexxmsg
+       CODE:
+               DeleteARexxMsg(rexxmsg);
+
+STRPTR Msg_argstr(rexxmsg)
+       APTR rexxmsg
+       CODE:
+               RETVAL = GetArgsARexxMsg(rexxmsg);
+       OUTPUT:
+               RETVAL
+
+STRPTR Msg_getvar(rexxmsg,varname)
+       APTR rexxmsg
+       STRPTR varname
+       PPCODE:
+               RETVAL = GetVarARexxMsg(rexxmsg,varname);
+               sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
+               if (RETVAL) IExec->FreeVec(RETVAL);
+
+void Msg_setvar(rexxmsg,varname,value)
+       APTR rexxmsg
+       STRPTR varname
+       STRPTR value
+       CODE:
+               SetVarARexxMsg(rexxmsg,varname,value);
+
+STRPTR _DoRexx(port,command,rc,rc2)
+       STRPTR port
+       STRPTR command
+       int32 &rc
+       int32 &rc2
+       PPCODE:
+               RETVAL = DoRexx(port,command,&rc,&rc2);
+               sv_setiv(ST(2), (IV)rc);
+               SvSETMAGIC(ST(2));
+               sv_setiv(ST(3), (IV)rc2);
+               SvSETMAGIC(ST(3));
+               sv_setpv(TARG, RETVAL); XSprePUSH; PUSHTARG;
+               IExec->FreeVec(RETVAL);
+
diff --git a/ext/Amiga-ARexx/Makefile.PL b/ext/Amiga-ARexx/Makefile.PL
new file mode 100644 (file)
index 0000000..0d55bb3
--- /dev/null
@@ -0,0 +1,17 @@
+use 5.008005;
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+    NAME              => 'Amiga::ARexx',
+    VERSION_FROM      => 'ARexx.pm', # finds $VERSION
+    PREREQ_PM         => {}, # e.g., Module::Name => 1.1
+    ($] >= 5.005 ?     ## Add these new keywords supported since 5.005
+      (ABSTRACT_FROM  => 'ARexx.pm', # retrieve abstract from module
+       AUTHOR         => 'A R Broad <andy@broad.ology.org.uk>') : ()),
+    LIBS              => ['-lauto -lraauto'], # e.g., '-lm'
+    DEFINE            => '', # e.g., '-DHAVE_SOMETHING'
+    INC               => '-I.', # e.g., '-I. -I/usr/include/other'
+        # Un-comment this if you add C files to link with later:
+    # OBJECT            => '$(O_FILES)', # link all the C files too
+);
diff --git a/ext/Amiga-ARexx/__examples/simplecommand.pl b/ext/Amiga-ARexx/__examples/simplecommand.pl
new file mode 100644 (file)
index 0000000..85d447b
--- /dev/null
@@ -0,0 +1,14 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Amiga::ARexx qw(DoRexx);
+
+my ($result,$rc,$rc2) = DoRexx("WORKBENCH","HELP");
+
+print $result , "\n" , $rc, "\n", $rc2 , "\n";
+
+($result,$rc,$rc2) = DoRexx("WORKBENCH","NOHELP");
+
+print $result , "\n" , $rc, "\n", $rc2 , "\n";
diff --git a/ext/Amiga-ARexx/__examples/simplehost.pl b/ext/Amiga-ARexx/__examples/simplehost.pl
new file mode 100644 (file)
index 0000000..df5ecd2
--- /dev/null
@@ -0,0 +1,46 @@
+#!perl
+
+# Simple ARExx Host
+
+use strict;
+use Amiga::ARexx;
+use feature "switch";
+
+my $host = Amiga::ARexx->new('HostName' => "TESTSCRIPT");
+
+my $alive = 1;
+
+while ($alive)
+{
+       $host->wait();
+    my $msg = $host->getmsg();
+       while($msg)
+       {
+               my $rc = 0;
+               my $rc2 = 0;
+               my $result = "";
+
+               print $msg->message . "\n";
+               given($msg->message)
+               {
+                       when ("QUIT")
+                       {
+                               $alive = 0;
+                               $result = "quitting!";
+                       }
+                       when ("SHOUT")
+                       {
+                               $result = "HEEELLLLOOOO!";
+                       }
+                       default {
+                               $rc = 10;
+                               $rc2 = 22;
+                       }
+               }
+               $msg->reply($rc,$rc2,$result);
+
+               $msg = $host->getmsg();
+       }
+
+}
+
diff --git a/ext/Amiga-ARexx/tagtypes.h b/ext/Amiga-ARexx/tagtypes.h
new file mode 100644 (file)
index 0000000..24a6218
--- /dev/null
@@ -0,0 +1,25 @@
+/* defines types for tags */
+#ifndef _TAGTYPES_H
+#define _TAGTYPES_H
+
+#define TT_APTR    1
+#define TT_WORD    2
+#define TT_UWORD   3
+#define TT_LONG    4
+#define TT_ULONG   5
+#define TT_STRPTR  6
+#define TT_UBYTE   7
+
+typedef union TagReturn
+{
+    WORD    tr_word;
+    UWORD  tr_uword;
+    LONG    tr_long;
+    ULONG   tr_ulong;
+    STRPTR  tr_strptr;
+    APTR     tr_aptr;
+    UBYTE * tr_ubyte;
+}
+TAGRET;
+
+#endif
diff --git a/ext/Amiga-ARexx/typemap b/ext/Amiga-ARexx/typemap
new file mode 100644 (file)
index 0000000..644c1a5
--- /dev/null
@@ -0,0 +1,118 @@
+APTR                   T_PTR
+intArray *             T_ARRAY
+UWORD                  T_UV
+ULONG                  T_UV
+WORD                   T_IV
+LONG                   T_IV
+BOOL                   T_IV
+TagList *              T_TAGLIST
+TAGRET                 T_TAGRET
+STRPTR                 T_PV
+int32                  T_IV
+uint32                 T_UV
+
+#############################################################################
+INPUT
+T_TAGLIST
+        U32 ix_$var = $argoff;
+        U32 _tag_type;
+        /* allocate taglist struct, +2 as tags lists end in a TAG_DONE by tradition */
+        /* if by some chance someone  adds something after the TAG_DONE it will just*/
+        /* result in harmless empty space */
+        $var = $ntype((items -= $argoff) +2);
+        while(items > 0)
+        {
+            int __index = (ix_$var - $argoff)/3;
+            $var\[__index\].ti_Tag = (ULONG)SvUV(ST(ix_$var));
+            ix_$var++;
+            items--;
+            /* the last is a tag_done and usualy has no followers so check for > 1 */
+            if(items > 1 && ($var\[__index\].ti_Tag != TAG_DONE))
+            {
+                _tag_type = (ULONG)SvUV(ST(ix_$var));
+                ix_$var++;
+                switch(_tag_type)
+                {
+                    case TT_APTR:
+                            $var\[__index\].ti_Data = (ULONG)INT2PTR(APTR,SvIV(ST(ix_$var)));
+                        break;
+                    case TT_WORD:
+                            $var\[__index\].ti_Data = (WORD)SvIV(ST(ix_$var));
+                        break;
+                    case TT_LONG:
+                            $var\[__index\].ti_Data = (LONG)SvIV(ST(ix_$var));
+                        break;
+                    case TT_UWORD:
+                            $var\[__index\].ti_Data = (UWORD)SvUV(ST(ix_$var));
+                        break;
+                    case TT_ULONG:
+                            $var\[__index\].ti_Data = (ULONG)SvUV(ST(ix_$var));
+                        break;
+                    case TT_STRPTR:
+                    case TT_UBYTE:
+                            $var\[__index\].ti_Data = (ULONG)(STRPTR)SvPV_nolen(ST(ix_$var));
+                        break;
+                    default:
+                        Perl_croak(aTHX_ \"Unknown TAGTYPE \%d\",_tag_type);
+                }
+                ix_$var++;
+                items -=2;
+            }
+        }
+
+T_TAGRET
+        /* Allocate variable type according to preceding var tagtype */
+        switch(tagtype)
+        {
+            case TT_APTR:
+                $var.tr_aptr = INT2PTR(APTR,SvIV($arg));
+                break;
+            case TT_WORD:
+                $var.tr_word = (WORD)SvIV($arg);
+                break;
+            case TT_LONG:
+                $var.tr_long = (LONG)SvIV($arg);
+            case TT_UWORD:
+                $var.tr_uword = (UWORD)SvUV($arg);
+                break;
+            case TT_ULONG:
+                $var.tr_ulong = (ULONG)SvUV($arg);
+                break;
+            case TT_STRPTR:
+            case TT_UBYTE:
+                $var.tr_strptr = (STRPTR)SvPV_nolen($arg);
+                break;
+            default:
+                Perl_croak(aTHX_ \"Unknown TAGTYPE \%d\",tagtype);
+        }
+
+####################################################################################
+OUTPUT
+T_TAGRET
+        /* Allocate variable type according to preceding var tagtype */
+        switch(tagtype)
+        {
+            case TT_APTR:
+                sv_setiv($arg, PTR2IV($var.tr_aptr));
+                break;
+            case TT_WORD:
+                sv_setiv($arg, (IV)$var.tr_word);
+                break;
+            case TT_LONG:
+                sv_setiv($arg, (IV)$var.tr_long);
+                break;
+            case TT_UWORD:
+                sv_setuv($arg, (UV)$var.tr_uword);
+                break;
+            case TT_ULONG:
+                sv_setuv($arg, (UV)$var.tr_ulong);
+                break;
+            case TT_STRPTR:
+            case TT_UBYTE:
+                sv_setpv((SV*)$arg, $var.tr_strptr);
+                break;
+            default:
+                Perl_croak(aTHX_ \"Unknown TAGTYPE \%d\",tagtype);
+        }
+
+
diff --git a/ext/Amiga-Exec/Exec.pm b/ext/Amiga-Exec/Exec.pm
new file mode 100644 (file)
index 0000000..f9d4838
--- /dev/null
@@ -0,0 +1,122 @@
+package Amiga::Exec;
+
+use 5.016000;
+use strict;
+use warnings;
+use Carp;
+
+require Exporter;
+#use AutoLoader;
+
+our @ISA = qw(Exporter);
+
+# Items to export into callers namespace by default. Note: do not export
+# names by default without a very good reason. Use EXPORT_OK instead.
+# Do not simply export all your public functions/methods/constants.
+
+# This allows declaration       use Amiga::Exec ':all';
+# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
+# will save memory.
+our %EXPORT_TAGS = ( 'all' => [ qw(
+Wait
+) ] );
+
+our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
+
+our @EXPORT = qw(
+);
+
+our $VERSION = '0.01';
+
+require XSLoader;
+XSLoader::load('Amiga::Exec', $VERSION);
+
+
+sub Wait
+{
+    my %params = @_;
+    my $signalmask = 0;
+    my $timeout = 0;
+
+    if(exists $params{'SignalMask'})
+    {
+       $signalmask = $params{'SignalMask'};
+    }
+    if(exists $params{'TimeOut'})
+    {
+       $timeout = $params{'TimeOut'};
+    }
+
+    my $result = Amiga::Exec::_Wait($signalmask,$timeout);
+    return $result;
+}
+
+
+
+# Preloaded methods go here.
+
+# Autoload methods go after =cut, and are processed by the autosplit program.
+
+1;
+__END__
+# Below is stub documentation for your module. You'd better edit it!
+
+=head1 NAME
+
+Amiga::Exec - Perl extension for low level amiga support
+
+=head1 ABSTRACT
+
+This a  perl class / module to enables you to use various low level Amiga features such as waiting on an Exec signal
+
+=head1 SYNOPSIS
+
+    # Wait for signla
+
+    use Amiga::Exec;
+    my $result = Amiga::ARexx->Wait('SignalMask' => $signalmask, 'TimeOut' => $timeoutinusecs);                                                                          );
+
+
+=head1 DESCRIPTION
+
+The interface to  Exec in entirely encapsulated within the perl class, there
+is no need to access the low level methods directly and they are not exported by default.
+
+=head1 Amiga::ARexx METHODS
+
+=head2 Wait
+
+       $signals = Amiga::Exec->Wait('SignalMask' => $signalmask, 'TimeOut' => $timeoutinusecs );
+
+Wait on a signal set with optional timeout. The result ($signals) should be checked to
+determine which signal was raised. It will be 0 for timeout.
+
+=head3 Signal
+
+The signal Exec signal mask
+
+=head3 TimeOut
+
+optional time out in microseconds.
+
+=head2 EXPORT
+
+None by default.
+
+=head2 Exportable constants
+
+None
+
+=head1 AUTHOR
+
+Andy Broad <andy@broad.ology.org.uk>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (C) 2013 by Andy Broad.
+
+
+=cut
+
+
+
diff --git a/ext/Amiga-Exec/Exec.xs b/ext/Amiga-Exec/Exec.xs
new file mode 100644 (file)
index 0000000..6c3a694
--- /dev/null
@@ -0,0 +1,116 @@
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#undef __USE_INLINE__
+#include <exec/types.h>
+#include <utility/tagitem.h>
+#include <dos/dos.h>
+#include <proto/exec.h>
+#include <proto/intuition.h>
+#include <proto/utility.h>
+
+
+
+struct TimeRequest *
+OpenTimer(void)
+{
+       struct MsgPort *port = IExec->AllocSysObjectTags(ASOT_PORT, TAG_END);
+       if (port == NULL)
+       {
+               return NULL;
+       }
+
+       struct TimeRequest *req = IExec->AllocSysObjectTags(ASOT_IOREQUEST,
+               ASOIOR_Size, sizeof(struct TimeRequest),
+               ASOIOR_ReplyPort, port,
+               TAG_END);
+
+       if (req == NULL)
+       {
+               IExec->FreeSysObject(ASOT_PORT, port);
+               return NULL;
+       }
+
+       int8 deverr = IExec->OpenDevice("timer.device", UNIT_MICROHZ,
+               &req->Request, 0);
+
+       if (deverr != IOERR_SUCCESS)
+       {
+               IExec->FreeSysObject(ASOT_IOREQUEST, req);
+               IExec->FreeSysObject(ASOT_PORT, port);
+               return NULL;
+       }
+
+       return req;
+}
+
+
+void
+CloseTimer(struct TimeRequest *req)
+{
+       if (req != NULL)
+       {
+               struct MsgPort *port = req->Request.io_Message.mn_ReplyPort;
+
+               IExec->CloseDevice(&req->Request);
+               IExec->FreeSysObject(ASOT_IOREQUEST, req);
+               IExec->FreeSysObject(ASOT_PORT, port);
+       }
+}
+
+
+
+uint32 WaitTimeout(uint32 signalmask , int timeout)
+{
+
+       struct TimeRequest *req = NULL;
+       uint32 timermask        = 0;
+
+       if (timeout > 0)
+       {
+               req = OpenTimer();
+
+               if (req != NULL)
+               {
+                       timermask = 1L << req->Request.io_Message.mn_ReplyPort->mp_SigBit;
+
+                       req->Request.io_Command = TR_ADDREQUEST;
+                       req->Time.Seconds       = 0;
+                       req->Time.Microseconds  = timeout;
+
+                       IExec->SendIO(&req->Request);
+               }
+       }
+
+       uint32 waitmask = timermask |  signalmask | SIGBREAKF_CTRL_C;
+
+       uint32 sigmask = IExec->Wait(waitmask);
+
+       if (req != NULL)
+       {
+               IExec->AbortIO(&req->Request);
+               IExec->WaitIO(&req->Request);
+               CloseTimer(req);
+       }
+
+       /* remove the timer mask bit */
+
+       return sigmask & (~timermask );
+}
+
+
+
+MODULE = Amiga::Exec              PACKAGE = Amiga::Exec
+
+PROTOTYPES: DISABLE
+
+
+uint32 _Wait(signalmask,timeout)
+    uint32 signalmask;
+    uint32 timeout;
+    CODE:
+       RETVAL = WaitTimeout(signalmask,timeout);
+    OUTPUT:
+       RETVAL
+
diff --git a/ext/Amiga-Exec/Makefile.PL b/ext/Amiga-Exec/Makefile.PL
new file mode 100644 (file)
index 0000000..a432995
--- /dev/null
@@ -0,0 +1,17 @@
+use 5.008005;
+use ExtUtils::MakeMaker;
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+    NAME              => 'Amiga::Exec',
+    VERSION_FROM      => 'Exec.pm', # finds $VERSION
+    PREREQ_PM         => {}, # e.g., Module::Name => 1.1
+    ($] >= 5.005 ?     ## Add these new keywords supported since 5.005
+      (ABSTRACT_FROM  => 'Exec.pm', # retrieve abstract from module
+       AUTHOR         => 'A R Broad <andy@broad.ology.org.uk>') : ()),
+    LIBS              => ['-lauto'], # e.g., '-lm'
+    DEFINE            => '', # e.g., '-DHAVE_SOMETHING'
+    INC               => '-I.', # e.g., '-I. -I/usr/include/other'
+        # Un-comment this if you add C files to link with later:
+    # OBJECT            => '$(O_FILES)', # link all the C files too
+);
diff --git a/ext/Amiga-Exec/__examples/simplecommand.pl b/ext/Amiga-Exec/__examples/simplecommand.pl
new file mode 100644 (file)
index 0000000..85d447b
--- /dev/null
@@ -0,0 +1,14 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Amiga::ARexx qw(DoRexx);
+
+my ($result,$rc,$rc2) = DoRexx("WORKBENCH","HELP");
+
+print $result , "\n" , $rc, "\n", $rc2 , "\n";
+
+($result,$rc,$rc2) = DoRexx("WORKBENCH","NOHELP");
+
+print $result , "\n" , $rc, "\n", $rc2 , "\n";
diff --git a/ext/Amiga-Exec/__examples/simplehost.pl b/ext/Amiga-Exec/__examples/simplehost.pl
new file mode 100644 (file)
index 0000000..df5ecd2
--- /dev/null
@@ -0,0 +1,46 @@
+#!perl
+
+# Simple ARExx Host
+
+use strict;
+use Amiga::ARexx;
+use feature "switch";
+
+my $host = Amiga::ARexx->new('HostName' => "TESTSCRIPT");
+
+my $alive = 1;
+
+while ($alive)
+{
+       $host->wait();
+    my $msg = $host->getmsg();
+       while($msg)
+       {
+               my $rc = 0;
+               my $rc2 = 0;
+               my $result = "";
+
+               print $msg->message . "\n";
+               given($msg->message)
+               {
+                       when ("QUIT")
+                       {
+                               $alive = 0;
+                               $result = "quitting!";
+                       }
+                       when ("SHOUT")
+                       {
+                               $result = "HEEELLLLOOOO!";
+                       }
+                       default {
+                               $rc = 10;
+                               $rc2 = 22;
+                       }
+               }
+               $msg->reply($rc,$rc2,$result);
+
+               $msg = $host->getmsg();
+       }
+
+}
+
diff --git a/ext/Amiga-Exec/tagtypes.h b/ext/Amiga-Exec/tagtypes.h
new file mode 100644 (file)
index 0000000..24a6218
--- /dev/null
@@ -0,0 +1,25 @@
+/* defines types for tags */
+#ifndef _TAGTYPES_H
+#define _TAGTYPES_H
+
+#define TT_APTR    1
+#define TT_WORD    2
+#define TT_UWORD   3
+#define TT_LONG    4
+#define TT_ULONG   5
+#define TT_STRPTR  6
+#define TT_UBYTE   7
+
+typedef union TagReturn
+{
+    WORD    tr_word;
+    UWORD  tr_uword;
+    LONG    tr_long;
+    ULONG   tr_ulong;
+    STRPTR  tr_strptr;
+    APTR     tr_aptr;
+    UBYTE * tr_ubyte;
+}
+TAGRET;
+
+#endif
diff --git a/ext/Amiga-Exec/typemap b/ext/Amiga-Exec/typemap
new file mode 100644 (file)
index 0000000..644c1a5
--- /dev/null
@@ -0,0 +1,118 @@
+APTR                   T_PTR
+intArray *             T_ARRAY
+UWORD                  T_UV
+ULONG                  T_UV
+WORD                   T_IV
+LONG                   T_IV
+BOOL                   T_IV
+TagList *              T_TAGLIST
+TAGRET                 T_TAGRET
+STRPTR                 T_PV
+int32                  T_IV
+uint32                 T_UV
+
+#############################################################################
+INPUT
+T_TAGLIST
+        U32 ix_$var = $argoff;
+        U32 _tag_type;
+        /* allocate taglist struct, +2 as tags lists end in a TAG_DONE by tradition */
+        /* if by some chance someone  adds something after the TAG_DONE it will just*/
+        /* result in harmless empty space */
+        $var = $ntype((items -= $argoff) +2);
+        while(items > 0)
+        {
+            int __index = (ix_$var - $argoff)/3;
+            $var\[__index\].ti_Tag = (ULONG)SvUV(ST(ix_$var));
+            ix_$var++;
+            items--;
+            /* the last is a tag_done and usualy has no followers so check for > 1 */
+            if(items > 1 && ($var\[__index\].ti_Tag != TAG_DONE))
+            {
+                _tag_type = (ULONG)SvUV(ST(ix_$var));
+                ix_$var++;
+                switch(_tag_type)
+                {
+                    case TT_APTR:
+                            $var\[__index\].ti_Data = (ULONG)INT2PTR(APTR,SvIV(ST(ix_$var)));
+                        break;
+                    case TT_WORD:
+                            $var\[__index\].ti_Data = (WORD)SvIV(ST(ix_$var));
+                        break;
+                    case TT_LONG:
+                            $var\[__index\].ti_Data = (LONG)SvIV(ST(ix_$var));
+                        break;
+                    case TT_UWORD:
+                            $var\[__index\].ti_Data = (UWORD)SvUV(ST(ix_$var));
+                        break;
+                    case TT_ULONG:
+                            $var\[__index\].ti_Data = (ULONG)SvUV(ST(ix_$var));
+                        break;
+                    case TT_STRPTR:
+                    case TT_UBYTE:
+                            $var\[__index\].ti_Data = (ULONG)(STRPTR)SvPV_nolen(ST(ix_$var));
+                        break;
+                    default:
+                        Perl_croak(aTHX_ \"Unknown TAGTYPE \%d\",_tag_type);
+                }
+                ix_$var++;
+                items -=2;
+            }
+        }
+
+T_TAGRET
+        /* Allocate variable type according to preceding var tagtype */
+        switch(tagtype)
+        {
+            case TT_APTR:
+                $var.tr_aptr = INT2PTR(APTR,SvIV($arg));
+                break;
+            case TT_WORD:
+                $var.tr_word = (WORD)SvIV($arg);
+                break;
+            case TT_LONG:
+                $var.tr_long = (LONG)SvIV($arg);
+            case TT_UWORD:
+                $var.tr_uword = (UWORD)SvUV($arg);
+                break;
+            case TT_ULONG:
+                $var.tr_ulong = (ULONG)SvUV($arg);
+                break;
+            case TT_STRPTR:
+            case TT_UBYTE:
+                $var.tr_strptr = (STRPTR)SvPV_nolen($arg);
+                break;
+            default:
+                Perl_croak(aTHX_ \"Unknown TAGTYPE \%d\",tagtype);
+        }
+
+####################################################################################
+OUTPUT
+T_TAGRET
+        /* Allocate variable type according to preceding var tagtype */
+        switch(tagtype)
+        {
+            case TT_APTR:
+                sv_setiv($arg, PTR2IV($var.tr_aptr));
+                break;
+            case TT_WORD:
+                sv_setiv($arg, (IV)$var.tr_word);
+                break;
+            case TT_LONG:
+                sv_setiv($arg, (IV)$var.tr_long);
+                break;
+            case TT_UWORD:
+                sv_setuv($arg, (UV)$var.tr_uword);
+                break;
+            case TT_ULONG:
+                sv_setuv($arg, (UV)$var.tr_ulong);
+                break;
+            case TT_STRPTR:
+            case TT_UBYTE:
+                sv_setpv((SV*)$arg, $var.tr_strptr);
+                break;
+            default:
+                Perl_croak(aTHX_ \"Unknown TAGTYPE \%d\",tagtype);
+        }
+
+
index 0a7727c..706e19a 100644 (file)
@@ -15,7 +15,7 @@ require Exporter;
 # walkoptree comes from B.xs
 
 BEGIN {
-    $B::VERSION = '1.58';
+    $B::VERSION = '1.59';
     @B::EXPORT_OK = ();
 
     # Our BOOT code needs $VERSION set, and will append to @EXPORT_OK.
index 016e030..5d15d80 100644 (file)
@@ -22,24 +22,14 @@ typedef FILE * InputStream;
 
 static const char* const svclassnames[] = {
     "B::NULL",
-#if PERL_VERSION < 19
-    "B::BIND",
-#endif
     "B::IV",
     "B::NV",
-#if PERL_VERSION <= 10
-    "B::RV",
-#endif
     "B::PV",
-#if PERL_VERSION >= 19
     "B::INVLIST",
-#endif
     "B::PVIV",
     "B::PVNV",
     "B::PVMG",
-#if PERL_VERSION >= 11
     "B::REGEXP",
-#endif
     "B::GV",
     "B::PVLV",
     "B::AV",
@@ -141,11 +131,6 @@ cc_opclass(pTHX_ const OP *o)
        return ((o->op_private & OPpASSIGN_BACKWARDS) ? OPc_UNOP : OPc_BINOP);
 
     if (o->op_type == OP_AELEMFAST) {
-#if PERL_VERSION <= 14
-       if (o->op_flags & OPf_SPECIAL)
-           return OPc_BASEOP;
-       else
-#endif
 #ifdef USE_ITHREADS
            return OPc_PADOP;
 #else
@@ -618,9 +603,7 @@ typedef SV  *B__IV;
 typedef SV     *B__PV;
 typedef SV     *B__NV;
 typedef SV     *B__PVMG;
-#if PERL_VERSION >= 11
 typedef SV     *B__REGEXP;
-#endif
 typedef SV     *B__PVLV;
 typedef SV     *B__BM;
 typedef SV     *B__RV;
@@ -702,11 +685,7 @@ const struct OP_methods {
   { STR_WITH_LEN("nextop"),  OPp,    STRUCT_OFFSET(struct loop, op_nextop), },/*10*/
   { STR_WITH_LEN("lastop"),  OPp,    STRUCT_OFFSET(struct loop, op_lastop), },/*11*/
   { STR_WITH_LEN("pmflags"), U32p,   STRUCT_OFFSET(struct pmop, op_pmflags),},/*12*/
-#if PERL_VERSION >= 17
   { STR_WITH_LEN("code_list"),OPp,   STRUCT_OFFSET(struct pmop, op_code_list),},/*13*/
-#else
-  { STR_WITH_LEN("code_list"),op_offset_special, 0,                         }, /*13*/
-#endif
   { STR_WITH_LEN("sv"),      SVp,     STRUCT_OFFSET(struct svop, op_sv),    },/*14*/
   { STR_WITH_LEN("gv"),      SVp,     STRUCT_OFFSET(struct svop, op_sv),    },/*15*/
   { STR_WITH_LEN("padix"),   PADOFFSETp,STRUCT_OFFSET(struct padop, op_padix),},/*16*/
@@ -718,13 +697,8 @@ const struct OP_methods {
   { STR_WITH_LEN("filegv"),  op_offset_special, 0,                     },/*21*/
   { STR_WITH_LEN("file"),    char_pp, STRUCT_OFFSET(struct cop, cop_file),  },/*22*/
   { STR_WITH_LEN("stash"),   op_offset_special, 0,                     },/*23*/
-#  if PERL_VERSION < 17
-  { STR_WITH_LEN("stashpv"), char_pp, STRUCT_OFFSET(struct cop, cop_stashpv),}, /*24*/
-  { STR_WITH_LEN("stashoff"),op_offset_special, 0,                     },/*25*/
-#  else
   { STR_WITH_LEN("stashpv"), op_offset_special, 0,                     },/*24*/
   { STR_WITH_LEN("stashoff"),PADOFFSETp,STRUCT_OFFSET(struct cop,cop_stashoff),},/*25*/
-#  endif
 #else
   { STR_WITH_LEN("pmoffset"),op_offset_special, 0,                     },/*20*/
   { STR_WITH_LEN("filegv"),  SVp,     STRUCT_OFFSET(struct cop, cop_filegv),},/*21*/
@@ -754,17 +728,12 @@ const struct OP_methods {
   { STR_WITH_LEN("warnings"),op_offset_special, 0,                     },/*44*/
   { STR_WITH_LEN("io"),      op_offset_special, 0,                     },/*45*/
   { STR_WITH_LEN("hints_hash"),op_offset_special, 0,                   },/*46*/
-#if PERL_VERSION >= 17
   { STR_WITH_LEN("slabbed"), op_offset_special, 0,                     },/*47*/
   { STR_WITH_LEN("savefree"),op_offset_special, 0,                     },/*48*/
   { STR_WITH_LEN("static"),  op_offset_special, 0,                     },/*49*/
-#  if PERL_VERSION >= 19
   { STR_WITH_LEN("folded"),  op_offset_special, 0,                     },/*50*/
   { STR_WITH_LEN("moresib"), op_offset_special, 0,                     },/*51*/
   { STR_WITH_LEN("parent"),  op_offset_special, 0,                     },/*52*/
-#  endif
-#endif
-#if PERL_VERSION >= 21
   { STR_WITH_LEN("first"),   op_offset_special, 0,                     },/*53*/
   { STR_WITH_LEN("meth_sv"), op_offset_special, 0,                     },/*54*/
   { STR_WITH_LEN("pmregexp"),op_offset_special, 0,                     },/*55*/
@@ -773,7 +742,6 @@ const struct OP_methods {
 #  else
   { STR_WITH_LEN("rclass"),  op_offset_special, 0,                     },/*56*/
 #  endif
-#endif
 };
 
 #include "const-c.inc"
@@ -1108,18 +1076,12 @@ next(o)
                ret = make_sv_object(aTHX_ (SV *)CopSTASH((COP*)o));
                break;
 #endif
-#if PERL_VERSION >= 17 || !defined USE_ITHREADS
            case 24: /* B::COP::stashpv */
-#  if PERL_VERSION >= 17
                ret = sv_2mortal(CopSTASH((COP*)o)
                                && SvTYPE(CopSTASH((COP*)o)) == SVt_PVHV
                    ? newSVhek(HvNAME_HEK(CopSTASH((COP*)o)))
                    : &PL_sv_undef);
-#  else
-               ret = sv_2mortal(newSVpv(CopSTASHPV((COP*)o), 0));
-#  endif
                break;
-#endif
            case 26: /* B::OP::size */
                ret = sv_2mortal(newSVuv((UV)(opsizes[cc_opclass(aTHX_ o)])));
                break;
@@ -1140,15 +1102,11 @@ next(o)
            case 30: /* B::OP::type  */
            case 31: /* B::OP::opt   */
            case 32: /* B::OP::spare */
-#if PERL_VERSION >= 17
            case 47: /* B::OP::slabbed  */
            case 48: /* B::OP::savefree */
            case 49: /* B::OP::static   */
-#if PERL_VERSION >= 19
            case 50: /* B::OP::folded   */
            case 51: /* B::OP::moresib  */
-#endif
-#endif
            /* These are all bitfields, so we can't take their addresses */
                ret = sv_2mortal(newSVuv((UV)(
                                      ix == 30 ? o->op_type
@@ -1557,13 +1515,7 @@ MODULE = B       PACKAGE = B::IV
 
 #define PVMG_stash_ix  sv_SVp | STRUCT_OFFSET(struct xpvmg, xmg_stash)
 
-#if PERL_VERSION > 18
-#    define PVBM_useful_ix     sv_IVp | STRUCT_OFFSET(struct xpviv, xiv_u.xivu_iv)
-#elif PERL_VERSION > 14
-#    define PVBM_useful_ix     sv_I32p | STRUCT_OFFSET(struct xpvgv, xnv_u.xbm_s.xbm_useful)
-#else
-#define PVBM_useful_ix sv_I32p | STRUCT_OFFSET(struct xpvgv, xiv_u.xivu_i32)
-#endif
+#define PVBM_useful_ix sv_IVp | STRUCT_OFFSET(struct xpviv, xiv_u.xivu_iv)
 
 #define PVLV_targoff_ix        sv_U32p | STRUCT_OFFSET(struct xpvlv, xlv_targoff)
 #define PVLV_targlen_ix        sv_U32p | STRUCT_OFFSET(struct xpvlv, xlv_targlen)
@@ -1589,23 +1541,14 @@ MODULE = B      PACKAGE = B::IV
 #define PVAV_max_ix    sv_SSize_tp | STRUCT_OFFSET(struct xpvav, xav_max)
 
 #define PVCV_stash_ix  sv_SVp | STRUCT_OFFSET(struct xpvcv, xcv_stash) 
-#if PERL_VERSION > 17 || (PERL_VERSION == 17 && PERL_SUBVERSION >= 3)
-# define PVCV_gv_ix    sv_SVp | STRUCT_OFFSET(struct xpvcv, xcv_gv_u.xcv_gv)
-#else
-# define PVCV_gv_ix    sv_SVp | STRUCT_OFFSET(struct xpvcv, xcv_gv)
-#endif
+#define PVCV_gv_ix     sv_SVp | STRUCT_OFFSET(struct xpvcv, xcv_gv_u.xcv_gv)
 #define PVCV_file_ix   sv_char_pp | STRUCT_OFFSET(struct xpvcv, xcv_file)
 #define PVCV_outside_ix        sv_SVp | STRUCT_OFFSET(struct xpvcv, xcv_outside)
 #define PVCV_outside_seq_ix sv_U32p | STRUCT_OFFSET(struct xpvcv, xcv_outside_seq)
 #define PVCV_flags_ix  sv_U32p | STRUCT_OFFSET(struct xpvcv, xcv_flags)
 
 #define PVHV_max_ix    sv_STRLENp | STRUCT_OFFSET(struct xpvhv, xhv_max)
-
-#if PERL_VERSION > 12
 #define PVHV_keys_ix   sv_STRLENp | STRUCT_OFFSET(struct xpvhv, xhv_keys)
-#else
-#define PVHV_keys_ix   sv_IVp | STRUCT_OFFSET(struct xpvhv, xhv_keys)
-#endif
 
 # The type checking code in B has always been identical for all SV types,
 # irrespective of whether the action is actually defined on that SV.
@@ -1731,18 +1674,6 @@ NV
 SvNV(sv)
        B::NV   sv
 
-#if PERL_VERSION < 11
-
-MODULE = B     PACKAGE = B::RV         PREFIX = Sv
-
-void
-SvRV(sv)
-       B::RV   sv
-    PPCODE:
-       PUSHs(make_sv_object(aTHX_ SvRV(sv)));
-
-#else
-
 MODULE = B     PACKAGE = B::REGEXP
 
 void
@@ -1766,8 +1697,6 @@ REGEX(sv)
                PUSHi(PTR2IV(sv));
        }
 
-#endif
-
 MODULE = B     PACKAGE = B::PV
 
 void
@@ -1939,9 +1868,7 @@ U32
 BmPREVIOUS(sv)
        B::BM   sv
     CODE:
-#if PERL_VERSION >= 19
         PERL_UNUSED_VAR(sv);
-#endif
        RETVAL = BmPREVIOUS(sv);
     OUTPUT:
         RETVAL
@@ -1951,9 +1878,7 @@ U8
 BmRARE(sv)
        B::BM   sv
     CODE:
-#if PERL_VERSION >= 19
         PERL_UNUSED_VAR(sv);
-#endif
        RETVAL = BmRARE(sv);
     OUTPUT:
         RETVAL
@@ -2190,8 +2115,6 @@ GV(cv)
     CODE:
        ST(0) = make_sv_object(aTHX_ (SV*)CvGV(cv));
 
-#if PERL_VERSION > 17
-
 SV *
 NAME_HEK(cv)
        B::CV cv
@@ -2200,8 +2123,6 @@ NAME_HEK(cv)
     OUTPUT:
        RETVAL
 
-#endif
-
 MODULE = B     PACKAGE = B::HV         PREFIX = Hv
 
 STRLEN
index c7ae049..45b932f 100644 (file)
@@ -85,10 +85,16 @@ package DynaLoader;
 # Tim.Bunce@ig.co.uk, August 1994
 
 BEGIN {
-    $VERSION = '1.33';
+    $VERSION = '1.34';
 }
 
-use Config;
+EOT
+
+if (!$ENV{PERL_BUILD_EXPAND_CONFIG_VARS}) {
+    print OUT "use Config;\n";
+}
+
+print OUT <<'EOT';
 
 # enable debug/trace messages from DynaLoader perl code
 $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
index c6bfa06..1d9c048 100644 (file)
@@ -2,7 +2,7 @@ use ExtUtils::MakeMaker;
 use Config;
 use strict;
 
-our $VERSION = "1.23";
+our $VERSION = "1.24";
 
 my %err = ();
 
@@ -278,13 +278,24 @@ sub write_errno_pm {
 
 package Errno;
 require Exporter;
-use Config;
 use strict;
 
+EDQ
+
+    # Errno only needs Config to make sure it hasn't changed platforms.
+    # If someone set $ENV{PERL_BUILD_EXPAND_CONFIG_VARS} at build time,
+    # they've already declared perl doesn't need to worry about this risk.
+    if(!$ENV{'PERL_BUILD_EXPAND_CONFIG_VARS'}) {
+        print <<"CONFIG_CHECK_END";
+use Config;
 "\$Config{'archname'}-\$Config{'osvers'}" eq
 "$archname-$Config{'osvers'}" or
        die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
 
+CONFIG_CHECK_END
+}
+
+    print <<"EDQ";
 our \$VERSION = "$VERSION";
 \$VERSION = eval \$VERSION;
 our \@ISA = 'Exporter';
index a888925..094d5ea 100644 (file)
@@ -3,7 +3,7 @@ use 5.006;
 use strict;
 use warnings;
 use warnings::register;
-our $VERSION = '1.30';
+our $VERSION = '1.31';
 require Exporter;
 require Cwd;
 
@@ -1054,8 +1054,8 @@ C<$File::Find::topmode> and C<$File::Find::topnlink>.
 This library is useful for the C<find2perl> tool (distribued as part of the
 App-find2perl CPAN distribution), which when fed,
 
-    find2perl / -name .nfs\* -mtime +7 \
-        -exec rm -f {} \; -o -fstype nfs -prune
+  find2perl / -name .nfs\* -mtime +7 \
+    -exec rm -f {} \; -o -fstype nfs -prune
 
 produces something like:
 
index de6f72d..c23b7df 100644 (file)
@@ -37,7 +37,7 @@ pop @{$EXPORT_TAGS{bsd_glob}}; # no "glob"
 
 @EXPORT_OK   = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
 
-$VERSION = '1.24';
+$VERSION = '1.25';
 
 sub import {
     require Exporter;
@@ -363,35 +363,35 @@ E<lt>gsar@activestate.comE<gt>, and Thomas Wegner
 E<lt>wegner_thomas@yahoo.comE<gt>.  The C glob code has the
 following copyright:
 
   Copyright (c) 1989, 1993 The Regents of the University of California.
   All rights reserved.
-
   This code is derived from software contributed to Berkeley by
   Guido van Rossum.
-
   Redistribution and use in source and binary forms, with or without
   modification, are permitted provided that the following conditions
   are met:
-
   1. Redistributions of source code must retain the above copyright
-       notice, this list of conditions and the following disclaimer.
   2. Redistributions in binary form must reproduce the above copyright
-       notice, this list of conditions and the following disclaimer in the
-       documentation and/or other materials provided with the distribution.
   3. Neither the name of the University nor the names of its contributors
-       may be used to endorse or promote products derived from this software
-       without specific prior written permission.
-
   THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
   ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   SUCH DAMAGE.
+ Copyright (c) 1989, 1993 The Regents of the University of California.
+ All rights reserved.
+
+ This code is derived from software contributed to Berkeley by
+ Guido van Rossum.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the University nor the names of its contributors
+    may be used to endorse or promote products derived from this software
+    without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ SUCH DAMAGE.
 
 =cut
index 2441491..f4dadc4 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use warnings;
 use Scalar::Util qw( reftype);
 
-our $VERSION = '1.15';
+our $VERSION = '1.17';
 
 require Exporter;
 our @ISA = qw(Exporter);
@@ -103,7 +103,7 @@ Returns the reference address of a reference $obj.  If $obj is
 not a reference, returns $obj.
 
 This function is a stand-in replacement for
-L<Scalar::Util::refaddr|Scalar::Util/"$addr = refaddr( $ref )">,
+L<Scalar::Util::refaddr|Scalar::Util/refaddr>,
 that is, it returns
 the reference address of its argument as a numeric value.  The only
 difference is that C<refaddr()> returns C<undef> when given a
index 801bf4b..e31cf04 100644 (file)
@@ -1366,7 +1366,7 @@ char *tzname[] = { "" , "" };
 #else
 
 #  ifndef HAS_MKFIFO
-#    if defined(OS2)
+#    if defined(OS2) || defined(__amigaos4__)
 #      define mkfifo(a,b) not_here("mkfifo")
 #    else      /* !( defined OS2 ) */
 #      ifndef mkfifo
@@ -1382,7 +1382,9 @@ char *tzname[] = { "" , "" };
 #  ifdef HAS_UNAME
 #    include <sys/utsname.h>
 #  endif
-#  include <sys/wait.h>
+#  ifndef __amigaos4__
+#    include <sys/wait.h>
+#  endif
 #  ifdef I_UTIME
 #    include <utime.h>
 #  endif
@@ -1648,8 +1650,10 @@ restore_sigmask(pTHX_ SV *osset_sv)
       * supposed to return -1 from sigaction unless the disposition
       * was unaffected.
       */
+#if !(defined(__amigaos4__) && defined(__NEWLIB__))
      sigset_t *ossetp = (sigset_t *) SvPV_nolen( osset_sv );
      (void)sigprocmask(SIG_SETMASK, ossetp, (sigset_t *)0);
+#endif
 }
 
 static void *
@@ -2265,6 +2269,9 @@ setlocale(category, locale = 0)
 #else
        retval = setlocale(category, locale);
 #endif
+        DEBUG_L(PerlIO_printf(Perl_debug_log,
+            "%s:%d: %s\n", __FILE__, __LINE__,
+                _setlocale_debug_string(category, locale, retval)));
        if (! retval) {
             /* Should never happen that a query would return an error, but be
              * sure and reset to C locale */
@@ -2294,8 +2301,12 @@ setlocale(category, locale = 0)
            {
                char *newctype;
 #ifdef LC_ALL
-               if (category == LC_ALL)
+               if (category == LC_ALL) {
                    newctype = setlocale(LC_CTYPE, NULL);
+                    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+                        "%s:%d: %s\n", __FILE__, __LINE__,
+                        _setlocale_debug_string(LC_CTYPE, NULL, newctype)));
+                }
                else
 #endif
                    newctype = RETVAL;
@@ -2311,8 +2322,12 @@ setlocale(category, locale = 0)
            {
                char *newcoll;
 #ifdef LC_ALL
-               if (category == LC_ALL)
+               if (category == LC_ALL) {
                    newcoll = setlocale(LC_COLLATE, NULL);
+                    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+                        "%s:%d: %s\n", __FILE__, __LINE__,
+                        _setlocale_debug_string(LC_COLLATE, NULL, newcoll)));
+                }
                else
 #endif
                    newcoll = RETVAL;
@@ -2328,8 +2343,12 @@ setlocale(category, locale = 0)
            {
                char *newnum;
 #ifdef LC_ALL
-               if (category == LC_ALL)
+               if (category == LC_ALL) {
                    newnum = setlocale(LC_NUMERIC, NULL);
+                    DEBUG_Lv(PerlIO_printf(Perl_debug_log,
+                        "%s:%d: %s\n", __FILE__, __LINE__,
+                        _setlocale_debug_string(LC_NUMERIC, NULL, newnum)));
+                }
                else
 #endif
                    newnum = RETVAL;
@@ -2978,7 +2997,7 @@ sigaction(sig, optaction, oldaction = 0)
        SV *                    optaction
        POSIX::SigAction        oldaction
     CODE:
-#if defined(WIN32) || defined(NETWARE)
+#if defined(WIN32) || defined(NETWARE) || (defined(__amigaos4__) && defined(__NEWLIB__))
        RETVAL = not_here("sigaction");
 #else
 # This code is really grody because we're trying to make the signal
@@ -3168,7 +3187,11 @@ sigpending(sigset)
     ALIAS:
        sigsuspend = 1
     CODE:
+#ifdef __amigaos4__
+       RETVAL = not_here("sigpending");
+#else
        RETVAL = ix ? sigsuspend(sigset) : sigpending(sigset);
+#endif
     OUTPUT:
        RETVAL
     CLEANUP:
index ff01b21..71b2d66 100644 (file)
@@ -4,7 +4,7 @@ use warnings;
 
 our ($AUTOLOAD, %SIGRT);
 
-our $VERSION = '1.56';
+our $VERSION = '1.57';
 
 require XSLoader;
 
index a021d13..90e4f88 100644 (file)
@@ -444,7 +444,7 @@ C<FE_TONEAREST> is like L</round>, C<FE_TOWARDZERO> is like L</trunc> [C99].
 
 =item C<fesetround>
 
-Sets the floating point rounding mode, see L</fegetround>.
+Sets the floating point rounding mode, see L</fegetround> [C99].
 
 =item C<fma>
 
@@ -504,7 +504,10 @@ Returns one of
 
   FP_NORMAL FP_ZERO FP_SUBNORMAL FP_INFINITE FP_NAN
 
-telling the class of the argument [C99].
+telling the class of the argument [C99].  C<FP_INFINITE> is positive
+or negative infinity, C<FP_NAN> is not-a-number.  C<FP_SUBNORMAL>
+means subnormal numbers (also known as denormals), very small numbers
+with low precision. C<FP_ZERO> is zero.  C<FP_NORMAL> is all the rest.
 
 =item C<fprintf>
 
@@ -698,6 +701,16 @@ For example C<ilogb(20)> is 4, as an integer.
 
 See also L</logb>.
 
+=item C<Inf>
+
+The infinity as a constant:
+
+   use POSIX qw(Inf);
+   my $pos_inf = +Inf;  # Or just Inf.
+   my $neg_inf = -Inf;
+
+See also L</isinf>, and L</fpclassify>.
+
 =item C<isalnum>
 
 Deprecated function whose use raises a warning, and which is slated to
@@ -807,7 +820,7 @@ Floating point comparisons which handle the C<NaN> [C99].
 
 Returns true if the argument is an infinity (positive or negative) [C99].
 
-See also L</isnan>, L</isfinite>, and L</fpclassify>.
+See also L</Inf>, L</isnan>, L</isfinite>, and L</fpclassify>.
 
 =item C<islower>
 
@@ -837,7 +850,7 @@ Note that you cannot test for "C<NaN>-ness" with
 
 since the C<NaN> is not equivalent to anything, B<including itself>.
 
-See also L</nan>, L</isinf>, and L</fpclassify>.
+See also L</nan>, L</NaN>, L</isinf>, and L</fpclassify>.
 
 =item C<isnormal>
 
@@ -1213,6 +1226,15 @@ Return the integral and fractional parts of a floating-point number.
 
 See also L</round>.
 
+=item C<NaN>
+
+The not-a-number as a constant:
+
+   use POSIX qw(NaN);
+   my $nan = NaN;
+
+See also L</nan>, C</isnan>, and L</fpclassify>.
+
 =item C<nan>
 
    my $nan = nan();
@@ -1248,7 +1270,7 @@ to explicitly set the payload.  On some platforms like the 32-bit x86,
 (unless using the 80-bit long doubles) the signaling bit is not supported
 at all.
 
-See also L</isnan>, L</setpayload> and L</issignaling>.
+See also L</isnan>, L</NaN>, L</setpayload> and L</issignaling>.
 
 =item C<nearbyint>
 
@@ -1426,7 +1448,7 @@ Not implemented.  C<realloc()> is C-specific.  Perl does memory management trans
 =item C<remainder>
 
 Given C<x> and C<y>, returns the value S<C<x - n*y>>, where C<n> is the integer
-closest to C<x/y>. [C99]
+closest to C<x>/C<y>. [C99]
 
  my $remainder = POSIX::remainder($x, $y)
 
index 5a9759a..869d1b7 100644 (file)
@@ -186,8 +186,8 @@ SKIP: {
           # bothering with the test if things look iffy.
           # We could, say, $Config{ccsymbols} =~ /\b__[xi][3-7]86=1\b/,
           # but that feels quite shaky.
-          $Config{byteorder} eq '1234' &&
-          $Config{ivsize} == 4 &&  # Really redundant with the 'byteorder'.
+          $Config{byteorder} =~ /1234/ &&
+          $Config{longdblkind} == 3 &&
           $Config{ptrsize} == 4;
       skip($^O, 1) if $could_be_x86_32 && !$Config{uselongdouble};
       ok(issignaling($x), "setpayloadsig + issignaling");
index 97319c9..593a4e2 100644 (file)
@@ -1165,53 +1165,53 @@ a requirement that these be passed as an actual list or array.)
 
 For example:
 
 L<Foo::Bar>
-    =>  undef,                          # link text
-        "Foo::Bar",                     # possibly inferred link text
-        "Foo::Bar",                     # name
-        undef,                          # section
-        'pod',                          # what sort of link
-        "Foo::Bar"                      # original content
-
 L<Perlport's section on NL's|perlport/Newlines>
-    =>  "Perlport's section on NL's",   # link text
-        "Perlport's section on NL's",   # possibly inferred link text
-        "perlport",                     # name
-        "Newlines",                     # section
-        'pod',                          # what sort of link
-        "Perlport's section on NL's|perlport/Newlines" # orig. content
-
 L<perlport/Newlines>
-    =>  undef,                          # link text
-        '"Newlines" in perlport',       # possibly inferred link text
-        "perlport",                     # name
-        "Newlines",                     # section
-        'pod',                          # what sort of link
-        "perlport/Newlines"             # original content
-
 L<crontab(5)/"DESCRIPTION">
-    =>  undef,                          # link text
-        '"DESCRIPTION" in crontab(5)',  # possibly inferred link text
-        "crontab(5)",                   # name
-        "DESCRIPTION",                  # section
-        'man',                          # what sort of link
-        'crontab(5)/"DESCRIPTION"'      # original content
-
 L</Object Attributes>
-    =>  undef,                          # link text
-        '"Object Attributes"',          # possibly inferred link text
-        undef,                          # name
-        "Object Attributes",            # section
-        'pod',                          # what sort of link
-        "/Object Attributes"            # original content
-
 L<http://www.perl.org/>
-    =>  undef,                          # link text
-        "http://www.perl.org/",         # possibly inferred link text
-        "http://www.perl.org/",         # name
-        undef,                          # section
-        'url',                          # what sort of link
-        "http://www.perl.org/"          # original content
+ L<Foo::Bar>
+   =>  undef,                          # link text
+       "Foo::Bar",                     # possibly inferred link text
+       "Foo::Bar",                     # name
+       undef,                          # section
+       'pod',                          # what sort of link
+       "Foo::Bar"                      # original content
+
+ L<Perlport's section on NL's|perlport/Newlines>
+   =>  "Perlport's section on NL's",   # link text
+       "Perlport's section on NL's",   # possibly inferred link text
+       "perlport",                     # name
+       "Newlines",                     # section
+       'pod',                          # what sort of link
+       "Perlport's section on NL's|perlport/Newlines" # orig. content
+
+ L<perlport/Newlines>
+   =>  undef,                          # link text
+       '"Newlines" in perlport',       # possibly inferred link text
+       "perlport",                     # name
+       "Newlines",                     # section
+       'pod',                          # what sort of link
+       "perlport/Newlines"             # original content
+
+ L<crontab(5)/"DESCRIPTION">
+   =>  undef,                          # link text
+       '"DESCRIPTION" in crontab(5)',  # possibly inferred link text
+       "crontab(5)",                   # name
+       "DESCRIPTION",                  # section
+       'man',                          # what sort of link
+       'crontab(5)/"DESCRIPTION"'      # original content
+
+ L</Object Attributes>
+   =>  undef,                          # link text
+       '"Object Attributes"',          # possibly inferred link text
+       undef,                          # name
+       "Object Attributes",            # section
+       'pod',                          # what sort of link
+       "/Object Attributes"            # original content
+
+ L<http://www.perl.org/>
+   =>  undef,                          # link text
+       "http://www.perl.org/",         # possibly inferred link text
+       "http://www.perl.org/",         # name
+       undef,                          # section
+       'url',                          # what sort of link
+       "http://www.perl.org/"          # original content
 
 Note that you can distinguish URL-links from anything else by the
 fact that they match C<m/\A\w+:[^:\s]\S*\z/>.  So
index 93b3cb6..7570d9e 100644 (file)
@@ -5,7 +5,7 @@ use strict;
 use warnings;
 use Carp;
 
-our $VERSION = '0.74';
+our $VERSION = '0.75';
 
 require XSLoader;
 
index 7a258de..ba7ecf7 100644 (file)
@@ -4886,6 +4886,90 @@ test_isQUOTEMETA(UV ord)
         RETVAL
 
 UV
+test_OFFUNISKIP(UV ord)
+    CODE:
+        RETVAL = OFFUNISKIP(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_OFFUNI_IS_INVARIANT(UV ord)
+    CODE:
+        RETVAL = OFFUNI_IS_INVARIANT(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_UVCHR_IS_INVARIANT(UV ord)
+    CODE:
+        RETVAL = UVCHR_IS_INVARIANT(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_UTF8_IS_INVARIANT(char ch)
+    CODE:
+        RETVAL = UTF8_IS_INVARIANT(ch);
+    OUTPUT:
+        RETVAL
+
+UV
+test_UVCHR_SKIP(UV ord)
+    CODE:
+        RETVAL = UVCHR_SKIP(ord);
+    OUTPUT:
+        RETVAL
+
+UV
+test_UTF8_SKIP(char * ch)
+    CODE:
+        RETVAL = UTF8_SKIP(ch);
+    OUTPUT:
+        RETVAL
+
+bool
+test_UTF8_IS_START(char ch)
+    CODE:
+        RETVAL = UTF8_IS_START(ch);
+    OUTPUT:
+        RETVAL
+
+bool
+test_UTF8_IS_CONTINUATION(char ch)
+    CODE:
+        RETVAL = UTF8_IS_CONTINUATION(ch);
+    OUTPUT:
+        RETVAL
+
+bool
+test_UTF8_IS_CONTINUED(char ch)
+    CODE:
+        RETVAL = UTF8_IS_CONTINUED(ch);
+    OUTPUT:
+        RETVAL
+
+bool
+test_UTF8_IS_DOWNGRADEABLE_START(char ch)
+    CODE:
+        RETVAL = UTF8_IS_DOWNGRADEABLE_START(ch);
+    OUTPUT:
+        RETVAL
+
+bool
+test_UTF8_IS_ABOVE_LATIN1(char ch)
+    CODE:
+        RETVAL = UTF8_IS_ABOVE_LATIN1(ch);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUTF8_POSSIBLY_PROBLEMATIC(char ch)
+    CODE:
+        RETVAL = isUTF8_POSSIBLY_PROBLEMATIC(ch);
+    OUTPUT:
+        RETVAL
+
+UV
 test_toLOWER(UV ord)
     CODE:
         RETVAL = toLOWER(ord);
index 843841c..72348d5 100644 (file)
@@ -4,15 +4,16 @@ use Test::More tests => 4;
 use XS::APItest;
 use utf8;
 
+my $e_acute = chr utf8::unicode_to_native(0xe9);
 $_ = "καλοκαίρι";
-sv_catpvn($_, " \xe9t\xe9"); # uses SV_CATBYTES
+sv_catpvn($_, " ${e_acute}t$e_acute"); # uses SV_CATBYTES
 is $_, "καλοκαίρι été", 'sv_catpvn_flags(utfsv, ... SV_CATBYTES)';
-$_ = "\xe9t\xe9";
+$_ = "${e_acute}t$e_acute";
 sv_catpvn($_, " καλοκαίρι"); # uses SV_CATUTF8
 is $_, "été καλοκαίρι", 'sv_catpvn_flags(bytesv, ... SV_CATUTF8)';
 $_ = "καλοκαίρι";
 sv_catpvn($_, " été"); # uses SV_CATUTF8
 is $_, "καλοκαίρι été", 'sv_catpvn_flags(utfsv, ... SV_CATUTF8)';
-$_ = "\xe9t\xe9";
-sv_catpvn($_, " \xe9t\xe9"); # uses SV_CATBYTES
+$_ = "${e_acute}t$e_acute";
+sv_catpvn($_, " ${e_acute}t$e_acute"); # uses SV_CATBYTES
 is $_, "été été", 'sv_catpvn_flags(bytesv, ... SV_CATBYTES)';
index 6c83005..25eb234 100644 (file)
@@ -69,9 +69,12 @@ if ($^O eq 'vos') {
   $VAR = "\xdf";    # \xdf works for both ASCII and EBCDIC
   is (DPeek ($VAR),    'PVIV("\337"\0)',       ' $VAR "\xdf"');
   is (DPeek (\$VAR),   '\PVIV("\337"\0)',      '\$VAR "\xdf"');
-  $VAR = "a\x0a\x{20ac}";
-  is (DPeek ($VAR), 'PVIV("a\n\342\202\254"\0) [UTF8 "a\n\x{20ac}"]',
+  SKIP: {
+    skip("ASCII-centric tests", 1) if ord "A" == 193;
+    $VAR = "a\x0a\x{20ac}";
+    is (DPeek ($VAR), 'PVIV("a\n\342\202\254"\0) [UTF8 "a\n\x{20ac}"]',
                                        ' $VAR "a\x0a\x{20ac}"');
+  }
   $VAR = sub { "VAR" };
   is (DPeek ($VAR),    '\CV(__ANON__)',        ' $VAR sub { "VAR" }');
   is (DPeek (\$VAR),   '\\\CV(__ANON__)',      '\$VAR sub { "VAR" }');
index 9cb52fc..00edb91 100644 (file)
@@ -31,7 +31,7 @@ is(eval { XS::APItest::first_byte($1) } || $@, 0303,
     "utf8 flag fetched correctly without stringification");
 
 sub TIESCALAR { bless [], shift }
-sub FETCH { ++$f; *{chr 255} }
+sub FETCH { ++$f; *{chr utf8::unicode_to_native(255)} }
 tie $t, "main";
 is SvPVutf8($t), "*main::" . byte_utf8a_to_utf8n("\xc3\xbf"),
   'SvPVutf8 works with get-magic changing the SV type';
@@ -39,7 +39,7 @@ is $f, 1, 'SvPVutf8 calls get-magic once';
 
 package t {
   @ISA = 'main';
-  sub FETCH { ++$::f; chr 255 }
+  sub FETCH { ++$::f; chr utf8::unicode_to_native(255) }
   sub STORE { }
 }
 tie $t, "t";
index 798380f..2984075 100644 (file)
@@ -26,7 +26,8 @@ foreach ([0, '', '', 'empty'],
     is(bytes_cmp_utf8($right, $left), -$expect, "$desc reversed");
 }
 
-if (ord("A") == 65) { # EBCDIC is too hard to test for malformations
+my $isASCII = (ord("A") == 65);
+if ($isASCII) { # EBCDIC is too hard to test for malformations
 
 # Test uft8n_to_uvchr().  These provide essentially complete code coverage.
 
@@ -325,4 +326,122 @@ foreach my $test (@tests) {
 }
 }
 
+
+# The numbers in this array are chosen because they are "interesting" on
+# either ASCII or EBCDIC platforms. 0-255 require special handling on EBCDIC;
+# others are the boundaries where the number of bytes required to represent
+# them increase.
+my @code_points = (0 .. 256,
+                   0x400 - 1, 0x400,
+                   0x800 - 1, 0x800,
+                   0x4000 - 1, 0x4000,
+                   0x8000 - 1, 0x8000,
+                   0xD000 - 1, 0xD000,  # First code point considered
+                                        # problematic on ASCII.
+                   0x10000 - 1, 0x1000,
+                   0x200000 - 1, 0x20000,
+                   0x40000 - 1, 0x40000,
+                   0x400000 - 1, 0x400000,
+                   0x4000000 - 1, 0x4000000,
+                   0x80000000 - 1   # Highest legal on EBCDIC machines
+                  );
+for my $u (sort { utf8::unicode_to_native($a) <=> utf8::unicode_to_native($b) }
+          @code_points)
+{
+    my $hex_u = sprintf("0x%02X", $u);
+    my $n = utf8::unicode_to_native($u);
+    my $hex_n = sprintf("0x%02X", $n);
+
+    my $offskip_should_be = (ord ("A") == 65)
+        ? ( $u < 0x80           ? 1 :
+            $u < 0x800          ? 2 :
+            $u < 0x10000        ? 3 :
+            $u < 0x200000       ? 4 :
+            $u < 0x4000000      ? 5 :
+            $u < 0x80000000     ? 6 : 7 # 13 for 64 bit words
+          )
+        : ($u < 0xA0        ? 1 :
+           $u < 0x400       ? 2 :
+           $u < 0x4000      ? 3 :
+           $u < 0x40000     ? 4 :
+           $u < 0x400000    ? 5 :
+           $u < 0x4000000   ? 6 : 7
+          );
+
+    # If this test fails, subsequent ones are meaningless.
+    next unless is(test_OFFUNISKIP($u), $offskip_should_be,
+                   "Verify OFFUNISKIP($hex_u) is $offskip_should_be");
+    my $invariant = $offskip_should_be == 1;
+    my $display_invariant = $invariant || 0;
+    is(test_OFFUNI_IS_INVARIANT($u), $invariant,
+       "Verify OFFUNI_IS_INVARIANT($hex_u) is $display_invariant");
+
+    my $uvchr_skip_should_be = $offskip_should_be;
+    next unless is(test_UVCHR_SKIP($n), $uvchr_skip_should_be,
+                   "Verify UVCHR_SKIP($hex_n) is $uvchr_skip_should_be");
+    is(test_UVCHR_IS_INVARIANT($n), $offskip_should_be == 1,
+       "Verify UVCHR_IS_INVARIANT($hex_n) is $display_invariant");
+
+    my $n_chr = chr $n;
+    utf8::upgrade $n_chr;
+
+    is(test_UTF8_SKIP($n_chr), $uvchr_skip_should_be,
+        "Verify UTF8_SKIP(chr $hex_n) is $uvchr_skip_should_be");
+
+    use bytes;
+    for (my $j = 0; $j < length $n_chr; $j++) {
+        my $b = substr($n_chr, $j, 1);
+        my $hex_b = sprintf("\"\\x%02x\"", ord $b);
+
+        my $byte_invariant = $j == 0 && $uvchr_skip_should_be == 1;
+        my $display_byte_invariant = $byte_invariant || 0;
+        next unless is(test_UTF8_IS_INVARIANT($b), $byte_invariant,
+                       "   Verify UTF8_IS_INVARIANT($hex_b) for byte $j "
+                     . "is $display_byte_invariant");
+
+        my $is_start = $j == 0 && $uvchr_skip_should_be > 1;
+        my $display_is_start = $is_start || 0;
+        next unless is(test_UTF8_IS_START($b), $is_start,
+                    "      Verify UTF8_IS_START($hex_b) is $display_is_start");
+
+        my $is_continuation = $j != 0 && $uvchr_skip_should_be > 1;
+        my $display_is_continuation = $is_continuation || 0;
+        next unless is(test_UTF8_IS_CONTINUATION($b), $is_continuation,
+                       "      Verify UTF8_IS_CONTINUATION($hex_b) is "
+                     . "$display_is_continuation");
+
+        my $is_continued = $uvchr_skip_should_be > 1;
+        my $display_is_continued = $is_continued || 0;
+        next unless is(test_UTF8_IS_CONTINUED($b), $is_continued,
+                       "      Verify UTF8_IS_CONTINUED($hex_b) is "
+                     . "$display_is_continued");
+
+        my $is_downgradeable_start =    $n < 256
+                                     && $uvchr_skip_should_be > 1
+                                     && $j == 0;
+        my $display_is_downgradeable_start = $is_downgradeable_start || 0;
+        next unless is(test_UTF8_IS_DOWNGRADEABLE_START($b),
+                       $is_downgradeable_start,
+                       "      Verify UTF8_IS_DOWNGRADEABLE_START($hex_b) is "
+                     . "$display_is_downgradeable_start");
+
+        my $is_above_latin1 =  $n > 255 && $j == 0;
+        my $display_is_above_latin1 = $is_above_latin1 || 0;
+        next unless is(test_UTF8_IS_ABOVE_LATIN1($b),
+                       $is_above_latin1,
+                       "      Verify UTF8_IS_ABOVE_LATIN1($hex_b) is "
+                     . "$display_is_above_latin1");
+
+        my $is_possibly_problematic =  $j == 0
+                                    && $n >= (($isASCII)
+                                              ? 0xD000
+                                              : 0x8000);
+        my $display_is_possibly_problematic = $is_possibly_problematic || 0;
+        next unless is(test_isUTF8_POSSIBLY_PROBLEMATIC($b),
+                       $is_possibly_problematic,
+                       "      Verify isUTF8_POSSIBLY_PROBLEMATIC($hex_b) is "
+                     . "$display_is_above_latin1");
+    }
+}
+
 done_testing;
index 093d080..0946fb6 100644 (file)
@@ -12,7 +12,7 @@ use warnings;
 
 # mro.pm versions < 1.00 reserved for MRO::Compat
 #  for partial back-compat to 5.[68].x
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 sub import {
     mro::set_mro(scalar(caller), $_[1]) if $_[1];
index 987bafb..6d891ae 100644 (file)
@@ -13,7 +13,7 @@ static const struct mro_alg c3_alg =
 /*
 =for apidoc mro_get_linear_isa_c3
 
-Returns the C3 linearization of @ISA
+Returns the C3 linearization of C<@ISA>
 the given stash.  The return value is a read-only AV*.
 C<level> should be 0 (it is used internally in this
 function's recursion).
index 1183d67..2943fc6 100644 (file)
@@ -5,6 +5,7 @@
 PL_No
 PL_Yes
 PL_bincompat_options
+PL_bitcount
 PL_block_type
 PL_charclass
 PL_check
diff --git a/gv.c b/gv.c
index 5ffc7fe..e82f18d 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -142,7 +142,7 @@ Perl_gv_fetchfile_flags(pTHX_ const char *const name, const STRLEN namelen,
 If C<gv> is a typeglob whose subroutine entry is a constant sub eligible for
 inlining, or C<gv> is a placeholder reference that would be promoted to such
 a typeglob, then returns the value returned by the sub.  Otherwise, returns
-NULL.
+C<NULL>.
 
 =cut
 */
@@ -304,8 +304,8 @@ Perl_cvstash_set(pTHX_ CV *cv, HV *st)
 
 Converts a scalar into a typeglob.  This is an incoercible typeglob;
 assigning a reference to it will assign to one of its slots, instead of
-overwriting it as happens with typeglobs created by SvSetSV.  Converting
-any scalar that is SvOK() may produce unpredictable results and is reserved
+overwriting it as happens with typeglobs created by C<SvSetSV>.  Converting
+any scalar that is C<SvOK()> may produce unpredictable results and is reserved
 for perl's internal use.
 
 C<gv> is the scalar to be converted.
@@ -318,25 +318,25 @@ stash element, it is the caller's responsibility to ensure that the name
 passed to this function matches the name of the element.  If it does not
 match, perl's internal bookkeeping will get out of sync.
 
-C<flags> can be set to SVf_UTF8 if C<name> is a UTF8 string, or
+C<flags> can be set to C<SVf_UTF8> if C<name> is a UTF-8 string, or
 the return value of SvUTF8(sv).  It can also take the
-GV_ADDMULTI flag, which means to pretend that the GV has been
+C<GV_ADDMULTI> flag, which means to pretend that the GV has been
 seen before (i.e., suppress "Used once" warnings).
 
 =for apidoc gv_init
 
-The old form of gv_init_pvn().  It does not work with UTF8 strings, as it
+The old form of C<gv_init_pvn()>.  It does not work with UTF-8 strings, as it
 has no flags parameter.  If the C<multi> parameter is set, the
-GV_ADDMULTI flag will be passed to gv_init_pvn().
+C<GV_ADDMULTI> flag will be passed to C<gv_init_pvn()>.
 
 =for apidoc gv_init_pv
 
-Same as gv_init_pvn(), but takes a nul-terminated string for the name
+Same as C<gv_init_pvn()>, but takes a nul-terminated string for the name
 instead of separate char * and length parameters.
 
 =for apidoc gv_init_sv
 
-Same as gv_init_pvn(), but takes an SV * for the name instead of separate
+Same as C<gv_init_pvn()>, but takes an SV * for the name instead of separate
 char * and length parameters.  C<flags> is currently unused.
 
 =cut
@@ -669,16 +669,16 @@ Perl_gv_fetchmeth_pv(pTHX_ HV *stash, const char *name, I32 level, U32 flags)
 
 Returns the glob with the given C<name> and a defined subroutine or
 C<NULL>.  The glob lives in the given C<stash>, or in the stashes
-accessible via @ISA and UNIVERSAL::.
+accessible via C<@ISA> and C<UNIVERSAL::>.
 
 The argument C<level> should be either 0 or -1.  If C<level==0>, as a
 side-effect creates a glob with the given C<name> in the given C<stash>
 which in the case of success contains an alias for the subroutine, and sets
 up caching info for this glob.
 
-The only significant values for C<flags> are GV_SUPER and SVf_UTF8.
+The only significant values for C<flags> are C<GV_SUPER> and C<SVf_UTF8>.
 
-GV_SUPER indicates that we want to look up the method in the superclasses
+C<GV_SUPER> indicates that we want to look up the method in the superclasses
 of the C<stash>.
 
 The
@@ -909,14 +909,14 @@ Perl_gv_fetchmeth_pv_autoload(pTHX_ HV *stash, const char *name, I32 level, U32
 /*
 =for apidoc gv_fetchmeth_pvn_autoload
 
-Same as gv_fetchmeth_pvn(), but looks for autoloaded subroutines too.
+Same as C<gv_fetchmeth_pvn()>, but looks for autoloaded subroutines too.
 Returns a glob for the subroutine.
 
 For an autoloaded subroutine without a GV, will create a GV even
-if C<level < 0>.  For an autoloaded subroutine without a stub, GvCV()
+if C<level < 0>.  For an autoloaded subroutine without a stub, C<GvCV()>
 of the result may be zero.
 
-Currently, the only significant value for C<flags> is SVf_UTF8.
+Currently, the only significant value for C<flags> is C<SVf_UTF8>.
 
 =cut
 */
@@ -958,7 +958,7 @@ Perl_gv_fetchmeth_pvn_autoload(pTHX_ HV *stash, const char *name, STRLEN len, I3
 
 Returns the glob which contains the subroutine to call to invoke the method
 on the C<stash>.  In fact in the presence of autoloading this may be the
-glob for "AUTOLOAD".  In this case the corresponding variable $AUTOLOAD is
+glob for "AUTOLOAD".  In this case the corresponding variable C<$AUTOLOAD> is
 already setup.
 
 The third parameter of C<gv_fetchmethod_autoload> determines whether
@@ -971,7 +971,7 @@ These functions grant C<"SUPER"> token
 as a prefix of the method name.  Note
 that if you want to keep the returned glob for a long time, you need to
 check for it being "AUTOLOAD", since at the later time the call may load a
-different subroutine due to $AUTOLOAD changing its value.  Use the glob
+different subroutine due to C<$AUTOLOAD> changing its value.  Use the glob
 created as a side effect to do this.
 
 These functions have the same side-effects as C<gv_fetchmeth> with
@@ -1364,7 +1364,7 @@ Returns a pointer to the stash for a specified package.  The C<namelen>
 parameter indicates the length of the C<name>, in bytes.  C<flags> is passed
 to C<gv_fetchpvn_flags()>, so if set to C<GV_ADD> then the package will be
 created if it does not already exist.  If the package does not exist and
-C<flags> is 0 (or any other setting that does not create packages) then NULL
+C<flags> is 0 (or any other setting that does not create packages) then C<NULL>
 is returned.
 
 Flags may be one of:
@@ -1376,7 +1376,7 @@ Flags may be one of:
     GV_NOEXPAND
     GV_ADDMG
 
-The most important of which are probably GV_ADD and SVf_UTF8.
+The most important of which are probably C<GV_ADD> and C<SVf_UTF8>.
 
 Note, use of C<gv_stashsv> instead of C<gv_stashpvn> where possible is strongly
 recommended for performance reasons.
@@ -1438,7 +1438,7 @@ cached.  Implements both C<gv_stashpvn> and C<gc_stashsv>.
 
 Requires one of either namesv or namepv to be non-null.
 
-See C<gv_stashpvn> for details on "flags".
+See C<L</gv_stashpvn>> for details on "flags".
 
 Note the sv interface is strongly preferred for performance reasons.
 
@@ -1494,9 +1494,11 @@ Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 flags)
 /*
 =for apidoc gv_stashsv
 
-Returns a pointer to the stash for a specified package.  See C<gv_stashpvn>.
+Returns a pointer to the stash for a specified package.  See
+C<L</gv_stashpvn>>.
 
-Note this interface is strongly preferred over C<gv_stashpvn> for performance reasons.
+Note this interface is strongly preferred over C<gv_stashpvn> for performance
+reasons.
 
 =cut
 */
diff --git a/handy.h b/handy.h
index 248b685..0318504 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -962,14 +962,23 @@ patched there.  The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
 #  define _CC_NON_FINAL_FOLD           21
 #  define _CC_IS_IN_SOME_FOLD          22
 #  define _CC_MNEMONIC_CNTRL           23
-/* Unused: 24-31
+
+/* This next group is only used on EBCDIC platforms, so theoretically could be
+ * shared with something entirely different that's only on ASCII platforms */
+#  define _CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE 28
+#  define _CC_UTF8_IS_START                             29
+#  define _CC_UTF8_IS_DOWNGRADEABLE_START               30
+#  define _CC_UTF8_IS_CONTINUATION                      31
+/* Unused: 24-27
  * If more bits are needed, one could add a second word for non-64bit
  * QUAD_IS_INT systems, using some #ifdefs to distinguish between having a 2nd
  * word or not.  The IS_IN_SOME_FOLD bit is the most easily expendable, as it
  * is used only for optimization (as of this writing), and differs in the
  * Latin1 range from the ALPHA bit only in two relatively unimportant
  * characters: the masculine and feminine ordinal indicators, so removing it
- * would just cause /i regexes which match them to run less efficiently */
+ * would just cause /i regexes which match them to run less efficiently.
+ * Similarly the EBCDIC-only bits are used just for speed, and could be
+ * replaced by other means */
 
 #if defined(PERL_CORE) || defined(PERL_EXT)
 /* An enum version of the character class numbers, to help compilers
@@ -1579,7 +1588,7 @@ END_EXTERN_C
                                          ? _generic_isCC(*(p), classnum)       \
                                          : (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
                                            ? _generic_isCC(                    \
-                                                TWO_BYTE_UTF8_TO_NATIVE(*(p),  \
+                                                EIGHT_BIT_UTF8_TO_NATIVE(*(p), \
                                                                    *((p)+1 )), \
                                                 classnum)                      \
                                            : utf8)
@@ -1665,7 +1674,7 @@ END_EXTERN_C
                          (UTF8_IS_INVARIANT(*(p))                           \
                          ? macro(*(p))                                      \
                          : (UTF8_IS_DOWNGRADEABLE_START(*(p)))              \
-                           ? macro(TWO_BYTE_UTF8_TO_NATIVE(*(p), *((p)+1))) \
+                           ? macro(EIGHT_BIT_UTF8_TO_NATIVE(*(p), *((p)+1)))\
                            : utf8)
 
 #define _generic_LC_swash_utf8(macro, classnum, p)                         \
@@ -1812,13 +1821,13 @@ there for use in XS modules supporting older perls.
 
 =for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
 The XSUB-writer's interface to the C C<malloc> function, with
-cast.  See also C<Newx>.
+cast.  See also C<L</Newx>>.
 
 Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
 
 =for apidoc Am|void|Newxz|void* ptr|int nitems|type
 The XSUB-writer's interface to the C C<malloc> function.  The allocated
-memory is zeroed with C<memzero>.  See also C<Newx>.
+memory is zeroed with C<memzero>.  See also C<L</Newx>>.
 
 Memory obtained by this should B<ONLY> be freed with L<"Safefree">.
 
@@ -1841,21 +1850,21 @@ This should B<ONLY> be used on memory obtained using L<"Newx"> and friends.
 =for apidoc Am|void|Move|void* src|void* dest|int nitems|type
 The XSUB-writer's interface to the C C<memmove> function.  The C<src> is the
 source, C<dest> is the destination, C<nitems> is the number of items, and
-C<type> is the type.  Can do overlapping moves.  See also C<Copy>.
+C<type> is the type.  Can do overlapping moves.  See also C<L</Copy>>.
 
 =for apidoc Am|void *|MoveD|void* src|void* dest|int nitems|type
-Like C<Move> but returns dest.  Useful
+Like C<Move> but returns C<dest>.  Useful
 for encouraging compilers to tail-call
 optimise.
 
 =for apidoc Am|void|Copy|void* src|void* dest|int nitems|type
 The XSUB-writer's interface to the C C<memcpy> function.  The C<src> is the
 source, C<dest> is the destination, C<nitems> is the number of items, and
-C<type> is the type.  May fail on overlapping copies.  See also C<Move>.
+C<type> is the type.  May fail on overlapping copies.  See also C<L</Move>>.
 
 =for apidoc Am|void *|CopyD|void* src|void* dest|int nitems|type
 
-Like C<Copy> but returns dest.  Useful
+Like C<Copy> but returns C<dest>.  Useful
 for encouraging compilers to tail-call
 optimise.
 
index 595b2a3..c7b9e5e 100644 (file)
@@ -1,55 +1,8 @@
-# hints/amigaos.sh
 #
-# talk to pueschel@imsdd.meb.uni-bonn.de if you want to change this file.
+# AmigaOS 4
 #
-# misc stuff
-archname='m68k-amigaos'
-cc='gcc'
-firstmakefile='GNUmakefile'
-usenm='true'
-d_fork='undef' # available but ENOSYS
-
-usemymalloc='n'
-useperlio='true'
-d_eofnblk='define'
-groupstype='int'
-
-# libs
-
-libpth="$prefix/lib /local/lib"
-glibpth="$libpth"
-xlibpth="$libpth"
-
-# This should remove unwanted libraries instead of limiting the set
-# to just these few.  E.g. what about Berkeley DB?
-libswanted='gdbm m'
-so=' '
-libs='-lm'
-
-# compiler & linker flags
-# Respect command-line values.
-
-ccflags="$ccflags -DAMIGAOS"
-case "$optimize" in
-'') optimize='-O2 -fomit-frame-pointer';;
-esac
-dlext='o'
-# Are these two different from the defaults?
-cccdlflags='none'
-ccdlflags='none'
-lddlflags='-oformat a.out-amiga -r'
-
-# uncomment the following settings if you are compiling for an 68020+ system
-# and want a residentable executable instead of dynamic loading
-
-# usedl='n'
-# ccflags='-DAMIGAOS -mstackextend -m68020 -resident32'
-# ldflags='-m68020 -resident32'
-
-# AmigaOS always reports only two links to directories, even if they
-# contain subdirectories.  Consequently, we use this variable to stop
-# File::Find using the link count to determine whether there are
-# subdirectories to be searched.  This will generate a harmless message:
-# Hmm...You had some extra variables I don't know about...I'll try to keep 'em.
-#      Propagating recommended variable dont_use_nlink
-dont_use_nlink='define'
+. amigaos4/config.sh
+for f in amigaos4/*.h amigaos4/*.c
+do
+  cp -f $f .
+done
index 9bedff9..58dfc9f 100644 (file)
 # mkdir -p /opt/perl-catamount
 # mkdir -p /opt/perl-catamount/include
 # mkdir -p /opt/perl-catamount/lib
-# mkdir -p /opt/perl-catamount/lib/perl5/5.23.2
+# mkdir -p /opt/perl-catamount/lib/perl5/5.23.3
 # mkdir -p /opt/perl-catamount/bin
 # cp *.h /opt/perl-catamount/include
 # cp libperl.a /opt/perl-catamount/lib
-# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.23.2
+# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.23.3
 # cp miniperl perl run.sh cc.sh /opt/perl-catamount/lib
 #
 # With the headers and the libperl.a you can embed Perl to your Catamount
diff --git a/hv.c b/hv.c
index 469221f..253cad9 100644 (file)
--- a/hv.c
+++ b/hv.c
@@ -222,19 +222,19 @@ C<hash> parameter is the precomputed hash value; if it is zero then
 Perl will compute it.
 
 The return value will be
-NULL if the operation failed or if the value did not need to be actually
+C<NULL> if the operation failed or if the value did not need to be actually
 stored within the hash (as in the case of tied hashes).  Otherwise it can
 be dereferenced to get the original C<SV*>.  Note that the caller is
 responsible for suitably incrementing the reference count of C<val> before
-the call, and decrementing it if the function returned NULL.  Effectively
-a successful hv_store takes ownership of one reference to C<val>.  This is
+the call, and decrementing it if the function returned C<NULL>.  Effectively
+a successful C<hv_store> takes ownership of one reference to C<val>.  This is
 usually what you want; a newly created SV has a reference count of one, so
-if all your code does is create SVs then store them in a hash, hv_store
+if all your code does is create SVs then store them in a hash, C<hv_store>
 will own the only reference to the new SV, and your code doesn't need to do
-anything further to tidy up.  hv_store is not implemented as a call to
-hv_store_ent, and does not create a temporary SV for the key, so if your
-key data is not already in SV form then use hv_store in preference to
-hv_store_ent.
+anything further to tidy up.  C<hv_store> is not implemented as a call to
+C<hv_store_ent>, and does not create a temporary SV for the key, so if your
+key data is not already in SV form then use C<hv_store> in preference to
+C<hv_store_ent>.
 
 See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more
 information on how to use this function on tied hashes.
@@ -244,22 +244,22 @@ information on how to use this function on tied hashes.
 Stores C<val> in a hash.  The hash key is specified as C<key>.  The C<hash>
 parameter is the precomputed hash value; if it is zero then Perl will
 compute it.  The return value is the new hash entry so created.  It will be
-NULL if the operation failed or if the value did not need to be actually
+C<NULL> if the operation failed or if the value did not need to be actually
 stored within the hash (as in the case of tied hashes).  Otherwise the
 contents of the return value can be accessed using the C<He?> macros
 described here.  Note that the caller is responsible for suitably
 incrementing the reference count of C<val> before the call, and
 decrementing it if the function returned NULL.  Effectively a successful
-hv_store_ent takes ownership of one reference to C<val>.  This is
+C<hv_store_ent> takes ownership of one reference to C<val>.  This is
 usually what you want; a newly created SV has a reference count of one, so
-if all your code does is create SVs then store them in a hash, hv_store
+if all your code does is create SVs then store them in a hash, C<hv_store>
 will own the only reference to the new SV, and your code doesn't need to do
-anything further to tidy up.  Note that hv_store_ent only reads the C<key>;
+anything further to tidy up.  Note that C<hv_store_ent> only reads the C<key>;
 unlike C<val> it does not take ownership of it, so maintaining the correct
-reference count on C<key> is entirely the caller's responsibility.  hv_store
-is not implemented as a call to hv_store_ent, and does not create a temporary
+reference count on C<key> is entirely the caller's responsibility.  C<hv_store>
+is not implemented as a call to C<hv_store_ent>, and does not create a temporary
 SV for the key, so if your key data is not already in SV form then use
-hv_store in preference to hv_store_ent.
+C<hv_store> in preference to C<hv_store_ent>.
 
 See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more
 information on how to use this function on tied hashes.
@@ -973,15 +973,15 @@ Deletes a key/value pair in the hash.  The value's SV is removed from
 the hash, made mortal, and returned to the caller.  The absolute
 value of C<klen> is the length of the key.  If C<klen> is negative the
 key is assumed to be in UTF-8-encoded Unicode.  The C<flags> value
-will normally be zero; if set to G_DISCARD then NULL will be returned.
-NULL will also be returned if the key is not found.
+will normally be zero; if set to C<G_DISCARD> then C<NULL> will be returned.
+C<NULL> will also be returned if the key is not found.
 
 =for apidoc hv_delete_ent
 
 Deletes a key/value pair in the hash.  The value SV is removed from the hash,
 made mortal, and returned to the caller.  The C<flags> value will normally be
-zero; if set to G_DISCARD then NULL will be returned.  NULL will also be
-returned if the key is not found.  C<hash> can be a valid precomputed hash
+zero; if set to C<G_DISCARD> then C<NULL> will be returned.  C<NULL> will also
+be returned if the key is not found.  C<hash> can be a valid precomputed hash
 value, or 0 to ask for it to be computed.
 
 =cut
@@ -1664,11 +1664,12 @@ Perl_hv_clear(pTHX_ HV *hv)
 
 Clears any placeholders from a hash.  If a restricted hash has any of its keys
 marked as readonly and the key is subsequently deleted, the key is not actually
-deleted but is marked by assigning it a value of &PL_sv_placeholder.  This tags
+deleted but is marked by assigning it a value of C<&PL_sv_placeholder>.  This tags
 it so it will be ignored by future operations such as iterating over the hash,
 but will still allow the hash to have a value reassigned to the key at some
 future point.  This function clears any such placeholder keys from the hash.
-See Hash::Util::lock_keys() for an example of its use.
+See C<L<Hash::Util::lock_keys()|Hash::Util/lock_keys>> for an example of its
+use.
 
 =cut
 */
@@ -1830,7 +1831,7 @@ Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp)
 
 Undefines the hash.  The XS equivalent of C<undef(%hash)>.
 
-As well as freeing all the elements of the hash (like hv_clear()), this
+As well as freeing all the elements of the hash (like C<hv_clear()>), this
 also frees any auxiliary data and storage associated with the hash.
 
 If any destructors are triggered as a result, the hv itself may
@@ -2295,7 +2296,7 @@ hek_eq_pvn_flags(pTHX_ const HEK *hek, const char* pv, const I32 pvlen, const U3
 =for apidoc hv_ename_add
 
 Adds a name to a stash's internal list of effective names.  See
-C<hv_ename_delete>.
+C<L</hv_ename_delete>>.
 
 This is called when a stash is assigned to a new location in the symbol
 table.
@@ -2466,7 +2467,7 @@ hv_iternext is implemented as a macro in hv.h
 
 =for apidoc hv_iternext
 
-Returns entries from a hash iterator.  See C<hv_iterinit>.
+Returns entries from a hash iterator.  See C<L</hv_iterinit>>.
 
 You may call C<hv_delete> or C<hv_delete_ent> on the hash entry that the
 iterator currently points to, without losing your place or invalidating your
@@ -2478,8 +2479,9 @@ trigger the resource deallocation.
 
 =for apidoc hv_iternext_flags
 
-Returns entries from a hash iterator.  See C<hv_iterinit> and C<hv_iternext>.
-The C<flags> value will normally be zero; if HV_ITERNEXT_WANTPLACEHOLDERS is
+Returns entries from a hash iterator.  See C<L</hv_iterinit>> and
+C<L</hv_iternext>>.
+The C<flags> value will normally be zero; if C<HV_ITERNEXT_WANTPLACEHOLDERS> is
 set the placeholders keys (for restricted hashes) will be returned in addition
 to normal keys.  By default placeholders are automatically skipped over.
 Currently a placeholder is implemented with a value that is
@@ -2644,7 +2646,7 @@ Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags)
 =for apidoc hv_iterkey
 
 Returns the key from the current position of the hash iterator.  See
-C<hv_iterinit>.
+C<L</hv_iterinit>>.
 
 =cut
 */
@@ -2672,7 +2674,7 @@ Perl_hv_iterkey(pTHX_ HE *entry, I32 *retlen)
 
 Returns the key as an C<SV*> from the current position of the hash
 iterator.  The return value will always be a mortal copy of the key.  Also
-see C<hv_iterinit>.
+see C<L</hv_iterinit>>.
 
 =cut
 */
@@ -2689,7 +2691,7 @@ Perl_hv_iterkeysv(pTHX_ HE *entry)
 =for apidoc hv_iterval
 
 Returns the value from the current position of the hash iterator.  See
-C<hv_iterkey>.
+C<L</hv_iterkey>>.
 
 =cut
 */
@@ -2740,7 +2742,7 @@ Now a macro in hv.h
 
 =for apidoc hv_magic
 
-Adds magic to a hash.  See C<sv_magic>.
+Adds magic to a hash.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -3221,7 +3223,7 @@ Perl_refcounted_he_fetch_pvn(pTHX_ const struct refcounted_he *chain,
                 }
                 else {
                     p++;
-                    *q = (char) TWO_BYTE_UTF8_TO_NATIVE(c, *p);
+                    *q = (char) EIGHT_BIT_UTF8_TO_NATIVE(c, *p);
                 }
            }
        }
@@ -3397,7 +3399,7 @@ Perl_refcounted_he_new_pvn(pTHX_ struct refcounted_he *parent,
                 }
                 else {
                     p++;
-                    *q = (char) TWO_BYTE_UTF8_TO_NATIVE(c, *p);
+                    *q = (char) EIGHT_BIT_UTF8_TO_NATIVE(c, *p);
                 }
            }
        }
@@ -3605,7 +3607,7 @@ Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags) {
 
 Save a label into a C<cop_hints_hash>.
 You need to set flags to C<SVf_UTF8>
-for a utf-8 label.
+for a UTF-8 label.
 
 =cut
 */
diff --git a/hv.h b/hv.h
index 9533af5..c249b8f 100644 (file)
--- a/hv.h
+++ b/hv.h
@@ -152,14 +152,14 @@ Null HV pointer.
 =head1 Hash Manipulation Functions
 
 =for apidoc Am|char*|HvNAME|HV* stash
-Returns the package name of a stash, or NULL if C<stash> isn't a stash.
-See C<SvSTASH>, C<CvSTASH>.
+Returns the package name of a stash, or C<NULL> if C<stash> isn't a stash.
+See C<L</SvSTASH>>, C<L</CvSTASH>>.
 
 =for apidoc Am|STRLEN|HvNAMELEN|HV *stash
 Returns the length of the stash's name.
 
 =for apidoc Am|unsigned char|HvNAMEUTF8|HV *stash
-Returns true if the name is in UTF8 encoding.
+Returns true if the name is in UTF-8 encoding.
 
 =for apidoc Am|char*|HvENAME|HV* stash
 Returns the effective name of a stash, or NULL if there is none.  The
@@ -173,7 +173,7 @@ caches.
 Returns the length of the stash's effective name.
 
 =for apidoc Am|unsigned char|HvENAMEUTF8|HV *stash
-Returns true if the effective name is in UTF8 encoding.
+Returns true if the effective name is in UTF-8 encoding.
 
 =for apidoc Am|void*|HeKEY|HE* he
 Returns the actual pointer stored in the key slot of the hash entry.  The
@@ -208,7 +208,7 @@ variable C<PL_na>, though this is rather less efficient than using a local
 variable.  Remember though, that hash keys in perl are free to contain
 embedded nulls, so using C<strlen()> or similar is not a good way to find
 the length of hash keys.  This is very similar to the C<SvPV()> macro
-described elsewhere in this document.  See also C<HeUTF8>.
+described elsewhere in this document.  See also C<L</HeUTF8>>.
 
 If you are using C<HePV> to get values to pass to C<newSVpvn()> to create a
 new SV, you should consider using C<newSVhek(HeKEY_hek(he))> as it is more
index 46a8cb6..9298f3a 100644 (file)
--- a/inline.h
+++ b/inline.h
@@ -287,11 +287,11 @@ S__is_utf8_char_slow(const U8 *s, const U8 *e)
 =for apidoc AiR|bool|is_safe_syscall|const char *pv|STRLEN len|const char *what|const char *op_name
 
 Test that the given C<pv> doesn't contain any internal C<NUL> characters.
-If it does, set C<errno> to ENOENT, optionally warn, and return FALSE.
+If it does, set C<errno> to C<ENOENT>, optionally warn, and return FALSE.
 
 Return TRUE if the name is safe.
 
-Used by the IS_SAFE_SYSCALL() macro.
+Used by the C<IS_SAFE_SYSCALL()> macro.
 
 =cut
 */
index 1278ba7..ac17bd8 100644 (file)
@@ -4,7 +4,7 @@
 # Probably installhtml needs to join the club.
 
 use strict;
-use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $Is_Darwin $Is_NetWare
+use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $Is_Darwin $Is_NetWare $Is_AmigaOS
            %opts $packlist);
 use subs qw(unlink link chmod);
 require File::Path;
@@ -49,6 +49,7 @@ $Is_OS2 = $^O eq 'os2';
 $Is_Cygwin = $^O eq 'cygwin';
 $Is_Darwin = $^O eq 'darwin';
 $Is_NetWare = $Config{osname} eq 'NetWare';
+$Is_AmigaOS = $^O eq 'amigaos';
 
 sub unlink {
     my(@names) = @_;
@@ -58,7 +59,7 @@ sub unlink {
 
     foreach my $name (@names) {
        next unless -e $name;
-       chmod 0777, $name if ($Is_OS2 || $Is_W32 || $Is_Cygwin || $Is_NetWare);
+       chmod 0777, $name if ($Is_OS2 || $Is_W32 || $Is_Cygwin || $Is_NetWare || $Is_AmigaOS);
        print "  unlink $name\n" if $opts{verbose};
        ( CORE::unlink($name) and ++$cnt
          or warn "Couldn't unlink $name: $!\n" ) unless $opts{notify};
@@ -76,15 +77,16 @@ sub link {
     $xto =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
     print $opts{verbose} ? "  ln $xfrom $xto\n" : "  $xto\n"
        unless $opts{silent};
+    my $link = $Is_AmigaOS ? \&CORE::symlink : \&CORE::link;
     eval {
-       CORE::link($from, $to)
-           ? $success++
-           : ($from =~ m#^/afs/# || $to =~ m#^/afs/#)
-             ? die "AFS"  # okay inside eval {}
-             : die "Couldn't link $from to $to: $!\n"
-         unless $opts{notify};
-       $packlist->{$xto} = { from => $xfrom, type => 'link' };
-    };
+      $link->($from, $to)
+        ? $success++
+          : ($from =~ m#^/afs/# || $to =~ m#^/afs/#)
+            ? die "AFS"  # okay inside eval {}
+              : die "Couldn't link $from to $to: $!\n"
+                unless $opts{notify};
+      $packlist->{$xto} = { from => $xfrom, type => 'link' };
+     };
     if ($@) {
        warn "Replacing link() with File::Copy::copy(): $@";
        print $opts{verbose} ? "  cp $from $xto\n" : "  $xto\n"
@@ -146,4 +148,58 @@ sub mkpath {
     File::Path::mkpath(shift , $opts{verbose}, 0777) unless $opts{notify};
 }
 
+sub unixtoamiga
+{
+       my $unixpath = shift;
+
+       my @parts = split("/",$unixpath);
+       my $isdir = 0;
+       $isdir = 1 if substr($unixpath,-1) eq "/";
+
+       my $first = 1;
+       my $amigapath = "";
+
+       my $i = 0;
+
+       for($i = 0; $i <= $#parts;$i++)
+       {
+               next if $parts[$i] eq ".";
+               if($parts[$i] eq "..")
+               {
+                       $parts[$i] = "/";
+               }
+               if($i == 0)
+               {
+                       if($parts[$i] eq "")
+                       {
+                               $amigapath .= $parts[$i + 1] . ":";
+                               $i++;
+                               next;
+                       }
+               }
+               $amigapath .= $parts[$i];
+               if($i != $#parts)
+               {
+                       $amigapath .= "/" unless $parts[$i] eq "/" ;
+               }
+               else
+               {
+                       if($isdir)
+                       {
+                               $amigapath .= "/" unless $parts[$i] eq "/" ;
+                       }
+               }
+       }
+
+       return $amigapath;
+}
+
+sub amigaprotect
+{
+       my ($file,$bits) = @_;
+       print "PROTECT: File $file\n";
+       system("PROTECT $file $bits")
+             unless $opts{notify};
+}
+
 1;
index 5c34264..a5df4d6 100755 (executable)
@@ -11,7 +11,7 @@ BEGIN {
 }
 
 use strict;
-use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $Is_Darwin $Is_NetWare
+use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $Is_Darwin $Is_NetWare $Is_AmigaOS
            %opts $packlist);
 my $versiononly;
 
@@ -19,6 +19,14 @@ BEGIN {
     if ($Is_VMS) { eval 'use VMS::Filespec;' }
 }
 
+# HP-UX (at least) needs to maintain execute permissions
+# on dynamically-loadable libraries. So we do it for all.
+#
+# In AmigaOS, the 0777 means 'rwed' (e = execute, d = delete),
+# (not 'rwx') and having the 'd' makes updates more convenient.
+my $SO_MODE     = $Is_AmigaOS ? 0777 : 0555;
+my $NON_SO_MODE = $Is_AmigaOS ? 0666 : 0444;
+
 my $scr_ext = ($Is_VMS ? '.Com' : $Is_W32 ? '.bat' : '');
 
 use File::Find;
@@ -372,15 +380,15 @@ elsif ($Is_Cygwin) { # On Cygwin symlink it to CORE to make Makefile happy
     # AIX needs perl.exp installed as well.
     push(@corefiles,'perl.exp') if $^O eq 'aix';
 }
+
+
 foreach my $file (@corefiles) {
-    # HP-UX (at least) needs to maintain execute permissions
-    # on dynamically-loadable libraries. So we do it for all.
     if (copy_if_diff($file,"$installarchlib/CORE/$file")) {
        if ($file =~ /\.(\Q$so\E|\Q$dlext\E)$/) {
            strip("-S", "$installarchlib/CORE/$file") if $^O eq 'darwin';
-           chmod(0555, "$installarchlib/CORE/$file");
+           chmod($SO_MODE, "$installarchlib/CORE/$file");
        } else {
-           chmod(0444, "$installarchlib/CORE/$file");
+           chmod($NON_SO_MODE, "$installarchlib/CORE/$file");
        }
     }
 }
@@ -495,6 +503,10 @@ if ($versiononly) {
        (my $base = $_) =~ s#.*/##;
        copy($_, "$installscript/$base");
        chmod(0755, "$installscript/$base");
+       if ($Is_AmigaOS) {
+            my $amigapath = unixtoamiga("$installscript/$base");
+            amigaprotect($amigapath,"+s");
+        }
     }
 
     for (@tolink) {
@@ -735,7 +747,8 @@ sub installlib {
             if (copy_if_diff($_, "$installlib/$name")) {
                 strip("-S", "$installlib/$name")
                     if $^O eq 'darwin' and /\.(?:so|$dlext|a)$/;
-                chmod(/\.(so|$dlext)$/ ? 0555 : 0444, "$installlib/$name");
+                chmod(/\.(so|$dlext)$/ ? $SO_MODE : $NON_SO_MODE,
+                      "$installlib/$name");
             }
        }
     }
index 20fd4df..9d51290 100644 (file)
@@ -84,7 +84,7 @@ PERLVAR(I, defgv,     GV *)           /* the *_ glob */
 
 =for apidoc mn|bool|PL_dowarn
 
-The C variable which corresponds to Perl's $^W warning variable.
+The C variable which corresponds to Perl's C<$^W> warning variable.
 
 =cut
 */
@@ -133,11 +133,11 @@ PERLVAR(I, comppad,       PAD *)          /* storage for lexically scoped temporaries */
 This is the C<undef> SV.  Always refer to this as C<&PL_sv_undef>.
 
 =for apidoc Amn|SV|PL_sv_no
-This is the C<false> SV.  See C<PL_sv_yes>.  Always refer to this as
+This is the C<false> SV.  See C<L</PL_sv_yes>>.  Always refer to this as
 C<&PL_sv_no>.
 
 =for apidoc Amn|SV|PL_sv_yes
-This is the C<true> SV.  See C<PL_sv_no>.  Always refer to this as
+This is the C<true> SV.  See C<L</PL_sv_no>>.  Always refer to this as
 C<&PL_sv_yes>.
 
 =cut
@@ -176,7 +176,7 @@ PERLVAR(I, statgv,  GV *)
 PERLVARI(I, statname,  SV *,   NULL)
 
 #ifdef HAS_TIMES
-/* Will be removed soon after v5.23.2. See RT #121351 */
+/* Will be removed soon after v5.23.3. See RT #121351 */
 PERLVAR(I, timesbuf,   struct tms)
 #endif
 
@@ -375,19 +375,19 @@ PERLVAR(I, DBline,        GV *)           /*  *DB::line   */
 When Perl is run in debugging mode, with the B<-d> switch, this GV contains
 the SV which holds the name of the sub being debugged.  This is the C
 variable which corresponds to Perl's $DB::sub variable.  See
-C<PL_DBsingle>.
+C<L</PL_DBsingle>>.
 
 =for apidoc mn|SV *|PL_DBsingle
 When Perl is run in debugging mode, with the B<-d> switch, this SV is a
 boolean which indicates whether subs are being single-stepped.
 Single-stepping is automatically turned on after every step.  This is the C
 variable which corresponds to Perl's $DB::single variable.  See
-C<PL_DBsub>.
+C<L</PL_DBsub>>.
 
 =for apidoc mn|SV *|PL_DBtrace
 Trace variable used when Perl is run in debugging mode, with the B<-d>
 switch.  This is the C variable which corresponds to Perl's $DB::trace
-variable.  See C<PL_DBsingle>.
+variable.  See C<L</PL_DBsingle>>.
 
 =cut
 */
@@ -751,7 +751,7 @@ PERLVARI(I, globhook,       globhook_t, NULL)
 
 PERLVARI(I, padlist_generation, U32, 1)        /* id to identify padlist clones */
 
-/* The last unconditional member of the interpreter structure when 5.23.2 was
+/* The last unconditional member of the interpreter structure when 5.23.3 was
    released. The offset of the end of this is baked into a global variable in 
    any shared perl library which will allow a sanity test in future perl
    releases.  */
index 57160e0..3aee24f 100644 (file)
@@ -600,6 +600,8 @@ struct IPerlEnvInfo
 
 #if defined(PERL_IMPLICIT_SYS)
 
+struct utimbuf; /* prevent gcc warning about the use below */
+
 /* IPerlLIO            */
 struct IPerlLIO;
 struct IPerlLIOInfo;
index 434190f..4436119 100644 (file)
 /* 0x3E U+9E PM */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
 /* 0x3F U+1A SUB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
 /* 0x40 U+20 SP */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
-/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
-/* 0x42 U+E2 a with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x43 U+E4 a with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x44 U+E0 a with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x45 U+E1 a with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x46 U+E3 a with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x47 U+E5 a with ring */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x48 U+E7 c with cedilla */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x49 U+F1 n with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x4A U+A2 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x4A U+A2 I8=A9 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x4B U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4C U+3C '<' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4D U+28 '(' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4E U+2B '+' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4F U+7C '|' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x50 U+26 '&' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x51 U+E9 e with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x52 U+EA e with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x53 U+EB e with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x54 U+E8 e with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x55 U+ED i with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x56 U+EE i with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x57 U+EF i with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x58 U+EC i with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x59 U+DF sharp s */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x51 U+E9 I8=AA e with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x5A U+21 '!' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5B U+24 '$' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5C U+2A '*' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5F U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x60 U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x61 U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x62 U+C2 A with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x63 U+C4 A with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x64 U+C0 A with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x65 U+C1 A with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x66 U+C3 A with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x67 U+C5 A with RING */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x68 U+C7 C with CEDILLA */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x69 U+D1 N with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x6A U+A6 BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x62 U+C2 I8=B3 A with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x63 U+C4 I8=B4 A with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x64 U+C0 I8=B5 A with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x65 U+C1 I8=B6 A with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x66 U+C3 I8=B7 A with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x67 U+C5 I8=B8 A with RING */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x68 U+C7 I8=B9 C with CEDILLA */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x69 U+D1 I8=BA N with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x6A U+A6 I8=BB BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x6B U+2C ',' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6C U+25 '%' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6D U+5F '_' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_WORDCHAR),
 /* 0x6E U+3E '>' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6F U+3F '?' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x70 U+F8 o with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x71 U+C9 E with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x72 U+CA E with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x73 U+CB E with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x74 U+C8 E with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x75 U+CD I with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x76 U+CE I with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x77 U+CF I with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x78 U+CC I with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x70 U+F8 I8=BC o with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x71 U+C9 I8=BD E with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x72 U+CA I8=BE E with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x73 U+CB I8=BF E with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x74 U+C8 I8=C0 E with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x75 U+CD I8=C1 I with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x76 U+CE I8=C2 I with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x77 U+CF I8=C3 I with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x78 U+CC I8=C4 I with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x79 U+60 '`' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7A U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7B U+23 '#' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7D U+27 "'" */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7E U+3D '=' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7F U+22 '"' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x80 U+D8 O with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x80 U+D8 I8=C5 O with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
 /* 0x81 U+61 'a' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x82 U+62 'b' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x83 U+63 'c' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x87 U+67 'g' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x88 U+68 'h' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x89 U+69 'i' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8A U+AB LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x8B U+BB RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x8C U+F0 eth */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8D U+FD y with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8E U+FE thorn */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8F U+B1 PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0x90 U+B0 DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x8A U+AB I8=C6 LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
+/* 0x8B U+BB I8=C7 RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
+/* 0x8C U+F0 I8=C8 eth */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8D U+FD I8=C9 y with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8E U+FE I8=CA thorn */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8F U+B1 I8=CB PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0x90 U+B0 I8=CC DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0x91 U+6A 'j' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x92 U+6B 'k' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x93 U+6C 'l' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x97 U+70 'p' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x98 U+71 'q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x99 U+72 'r' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9A U+AA FEMININE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
-/* 0x9B U+BA MASCULINE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
-/* 0x9C U+E6 ae */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9D U+B8 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0x9E U+C6 AE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9F U+A4 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xA0 U+B5 MICRO */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x9A U+AA I8=CD FEMININE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START),
+/* 0x9B U+BA I8=CE MASCULINE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START),
+/* 0x9C U+E6 I8=CF ae */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x9D U+B8 I8=D0 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0x9E U+C6 I8=D1 AE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x9F U+A4 I8=D2 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xA0 U+B5 I8=D3 MICRO */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
 /* 0xA1 U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xA2 U+73 's' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA3 U+74 't' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA7 U+78 'x' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA8 U+79 'y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA9 U+7A 'z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAA U+A1 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xAB U+BF INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xAC U+D0 ETH */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xAA U+A1 I8=D4 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xAB U+BF I8=D5 INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xAC U+D0 I8=D6 ETH */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
 /* 0xAD U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xAE U+DE THORN */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAF U+AE REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB0 U+AC NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB1 U+A3 POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB2 U+A5 YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB3 U+B7 MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT),
-/* 0xB4 U+A9 COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB5 U+A7 SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* U+B6 PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xB7 U+BC 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xB8 U+BD 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xB9 U+BE 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBA U+DD Y with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xBB U+A8 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBC U+AF MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* 0xAE U+DE I8=D7 THORN */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xAF U+AE I8=D8 REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB0 U+AC I8=D9 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB1 U+A3 I8=DA POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB2 U+A5 I8=DB YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB3 U+B7 I8=DC MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB4 U+A9 I8=DD COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB5 U+A7 I8=DE SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* U+B6 I8=DF PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB7 U+BC I8=E0 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* 0xB8 U+BD I8=E1 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB9 U+BE I8=E2 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBA U+DD I8=E3 Y with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xBB U+A8 I8=E4 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBC U+AF I8=E5 MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
 /* 0xBD U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xBE U+B4 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBF U+D7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xBE U+B4 I8=E6 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBF U+D7 I8=E7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0xC0 U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xC1 U+41 'A' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC2 U+42 'B' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC7 U+47 'G' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC8 U+48 'H' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC9 U+49 'I' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCA U+AD SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xCB U+F4 o with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCC U+F6 o with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCD U+F2 o with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCE U+F3 o with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCF U+F5 o with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xCA U+AD I8=E8 SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xCB U+F4 I8=E9 o with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
 /* 0xD0 U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xD1 U+4A 'J' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD2 U+4B 'K' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD7 U+50 'P' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD8 U+51 'Q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD9 U+52 'R' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDA U+B9 SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xDB U+FB u with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDC U+FC u with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDD U+F9 u with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDE U+FA u with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDF U+FF y with diaeresis */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xDA U+B9 I8=EE SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xDB U+FB I8=EF u with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xDE U+FA I8=F2 u with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xDF U+FF I8=F3 y with diaeresis */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xE0 U+5C '\' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xE1 U+F7 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xE1 U+F7 I8=F4 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xE2 U+53 'S' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE3 U+54 'T' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE4 U+55 'U' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE7 U+58 'X' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE8 U+59 'Y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE9 U+5A 'Z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEA U+B2 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xEB U+D4 O with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEC U+D6 O with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xED U+D2 O with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEE U+D3 O with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEF U+D5 O with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xEA U+B2 I8=F5 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEB U+D4 I8=F6 O with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEC U+D6 I8=F7 O with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xED U+D2 I8=F8 O with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEE U+D3 I8=F9 O with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xF0 U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF1 U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF2 U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF7 U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF8 U+38 '8' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF9 U+39 '9' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
-/* 0xFA U+B3 SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xFB U+DB U with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xFC U+DC U with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xFD U+D9 U with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xFE U+DA U with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xFA U+B3 I8=FB SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFB U+DB I8=FC U with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFC U+DC I8=FD U with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFD U+D9 I8=FE U with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFE U+DA I8=FF U with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xFF U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)
 
 #endif /* EBCDIC 1047 */
 /* 0x3E U+9E PM */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
 /* 0x3F U+1A SUB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
 /* 0x40 U+20 SP */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
-/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
-/* 0x42 U+E2 a with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x43 U+E4 a with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x44 U+E0 a with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x45 U+E1 a with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x46 U+E3 a with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x47 U+E5 a with ring */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x48 U+E7 c with cedilla */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x49 U+F1 n with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x4A U+A2 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x4A U+A2 I8=A9 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x4B U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4C U+3C '<' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4D U+28 '(' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4E U+2B '+' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4F U+7C '|' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x50 U+26 '&' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x51 U+E9 e with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x52 U+EA e with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x53 U+EB e with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x54 U+E8 e with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x55 U+ED i with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x56 U+EE i with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x57 U+EF i with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x58 U+EC i with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x59 U+DF sharp s */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x51 U+E9 I8=AA e with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x52 U+EA I8=AB e with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x53 U+EB I8=AC e with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x54 U+E8 I8=AD e with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x55 U+ED I8=AE i with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x56 U+EE I8=AF i with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x57 U+EF I8=B0 i with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x58 U+EC I8=B1 i with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x59 U+DF I8=B2 sharp s */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x5A U+21 '!' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5B U+24 '$' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5C U+2A '*' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5D U+29 ')' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5E U+3B ';' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x5F U+AC NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x5F U+AC I8=B3 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x60 U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x61 U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x62 U+C2 A with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x63 U+C4 A with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x64 U+C0 A with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x65 U+C1 A with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x66 U+C3 A with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x67 U+C5 A with RING */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x68 U+C7 C with CEDILLA */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x69 U+D1 N with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x6A U+A6 BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x62 U+C2 I8=B4 A with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x63 U+C4 I8=B5 A with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x64 U+C0 I8=B6 A with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x65 U+C1 I8=B7 A with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x66 U+C3 I8=B8 A with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x67 U+C5 I8=B9 A with RING */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x68 U+C7 I8=BA C with CEDILLA */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x69 U+D1 I8=BB N with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x6A U+A6 I8=BC BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x6B U+2C ',' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6C U+25 '%' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6D U+5F '_' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_WORDCHAR),
 /* 0x6E U+3E '>' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6F U+3F '?' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x70 U+F8 o with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x71 U+C9 E with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x72 U+CA E with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x73 U+CB E with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x74 U+C8 E with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x75 U+CD I with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x76 U+CE I with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x77 U+CF I with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x78 U+CC I with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x70 U+F8 I8=BD o with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x71 U+C9 I8=BE E with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x72 U+CA I8=BF E with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x73 U+CB I8=C0 E with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x74 U+C8 I8=C1 E with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x75 U+CD I8=C2 I with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x76 U+CE I8=C3 I with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x77 U+CF I8=C4 I with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x78 U+CC I8=C5 I with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
 /* 0x79 U+60 '`' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7A U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7B U+23 '#' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7D U+27 "'" */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7E U+3D '=' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7F U+22 '"' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x80 U+D8 O with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x80 U+D8 I8=C6 O with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
 /* 0x81 U+61 'a' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x82 U+62 'b' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x83 U+63 'c' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x87 U+67 'g' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x88 U+68 'h' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x89 U+69 'i' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8A U+AB LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x8B U+BB RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x8C U+F0 eth */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8D U+FD y with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8E U+FE thorn */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8F U+B1 PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0x90 U+B0 DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x8A U+AB I8=C7 LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
+/* 0x8B U+BB I8=C8 RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0x8C U+F0 I8=C9 eth */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8D U+FD I8=CA y with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8E U+FE I8=CB thorn */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8F U+B1 I8=CC PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0x90 U+B0 I8=CD DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0x91 U+6A 'j' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x92 U+6B 'k' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x93 U+6C 'l' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x97 U+70 'p' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x98 U+71 'q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x99 U+72 'r' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9A U+AA FEMININE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
-/* 0x9B U+BA MASCULINE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
-/* 0x9C U+E6 ae */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9D U+B8 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0x9E U+C6 AE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9F U+A4 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xA0 U+B5 MICRO */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x9A U+AA I8=CE FEMININE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START),
+/* 0x9B U+BA I8=CF MASCULINE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START),
+/* 0x9C U+E6 I8=D0 ae */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x9D U+B8 I8=D1 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0x9E U+C6 I8=D2 AE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x9F U+A4 I8=D3 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xA0 U+B5 I8=D4 MICRO */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
 /* 0xA1 U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xA2 U+73 's' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA3 U+74 't' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA7 U+78 'x' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA8 U+79 'y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA9 U+7A 'z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAA U+A1 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xAB U+BF INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xAC U+D0 ETH */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAD U+DD Y with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAE U+DE THORN */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAF U+AE REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xAA U+A1 I8=D5 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xAB U+BF I8=D6 INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xAC U+D0 I8=D7 ETH */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xAD U+DD I8=D8 Y with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xAE U+DE I8=D9 THORN */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xAF U+AE I8=DA REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0xB0 U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xB1 U+A3 POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB2 U+A5 YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB3 U+B7 MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT),
-/* 0xB4 U+A9 COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB5 U+A7 SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* U+B6 PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xB7 U+BC 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xB8 U+BD 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xB9 U+BE 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* 0xB1 U+A3 I8=DB POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB2 U+A5 I8=DC YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB3 U+B7 I8=DD MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB4 U+A9 I8=DE COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB5 U+A7 I8=DF SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* U+B6 I8=E0 PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* 0xB7 U+BC I8=E1 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB8 U+BD I8=E2 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB9 U+BE I8=E3 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
 /* 0xBA U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xBB U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xBC U+AF MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBD U+A8 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBE U+B4 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBF U+D7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xBC U+AF I8=E4 MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBD U+A8 I8=E5 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBE U+B4 I8=E6 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBF U+D7 I8=E7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0xC0 U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xC1 U+41 'A' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC2 U+42 'B' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC7 U+47 'G' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC8 U+48 'H' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC9 U+49 'I' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCA U+AD SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xCB U+F4 o with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCC U+F6 o with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCD U+F2 o with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCE U+F3 o with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCF U+F5 o with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xCA U+AD I8=E8 SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xCB U+F4 I8=E9 o with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
 /* 0xD0 U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xD1 U+4A 'J' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD2 U+4B 'K' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD7 U+50 'P' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD8 U+51 'Q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD9 U+52 'R' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDA U+B9 SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xDB U+FB u with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDC U+FC u with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDD U+F9 u with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDE U+FA u with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDF U+FF y with diaeresis */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xDA U+B9 I8=EE SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xDB U+FB I8=EF u with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xDC U+FC I8=F0 u with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xDD U+F9 I8=F1 u with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xDE U+FA I8=F2 u with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xDF U+FF I8=F3 y with diaeresis */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xE0 U+5C '\' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xE1 U+F7 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xE1 U+F7 I8=F4 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xE2 U+53 'S' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE3 U+54 'T' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE4 U+55 'U' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE7 U+58 'X' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE8 U+59 'Y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE9 U+5A 'Z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEA U+B2 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xEB U+D4 O with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEC U+D6 O with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xED U+D2 O with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEE U+D3 O with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEF U+D5 O with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xEA U+B2 I8=F5 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEB U+D4 I8=F6 O with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEC U+D6 I8=F7 O with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xED U+D2 I8=F8 O with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEE U+D3 I8=F9 O with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEF U+D5 I8=FA O with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xF0 U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF1 U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF2 U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF7 U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF8 U+38 '8' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF9 U+39 '9' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
-/* 0xFA U+B3 SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xFB U+DB U with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xFC U+DC U with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xFD U+D9 U with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xFE U+DA U with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xFA U+B3 I8=FB SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFB U+DB I8=FC U with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFC U+DC I8=FD U with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFD U+D9 I8=FE U with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xFE U+DA I8=FF U with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xFF U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA)
 
 #endif /* EBCDIC 037 */
 /* 0x3E U+9E PM */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
 /* 0x3F U+1A SUB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
 /* 0x40 U+20 SP */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
-/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
-/* 0x42 U+E2 a with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x43 U+E4 a with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x44 U+E0 a with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x45 U+E1 a with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x46 U+E3 a with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x47 U+E5 a with ring */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x48 U+E7 c with cedilla */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x49 U+F1 n with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x41 U+A0 NBSP */ (1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x42 U+E2 I8=A1 a with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x43 U+E4 I8=A2 a with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x44 U+E0 I8=A3 a with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x45 U+E1 I8=A4 a with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x46 U+E3 I8=A5 a with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x47 U+E5 I8=A6 a with ring */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x48 U+E7 I8=A7 c with cedilla */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x49 U+F1 I8=A8 n with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x4A U+60 '`' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4B U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4C U+3C '<' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4E U+2B '+' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x4F U+7C '|' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x50 U+26 '&' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x51 U+E9 e with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x52 U+EA e with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x53 U+EB e with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x54 U+E8 e with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x55 U+ED i with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x56 U+EE i with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x57 U+EF i with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x58 U+EC i with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x59 U+DF sharp s */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x51 U+E9 I8=A9 e with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x52 U+EA I8=AA e with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x53 U+EB I8=AB e with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x54 U+E8 I8=AC e with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x55 U+ED I8=AD i with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x56 U+EE I8=AE i with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x57 U+EF I8=AF i with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x58 U+EC I8=B0 i with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x59 U+DF I8=B1 sharp s */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x5A U+21 '!' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5B U+24 '$' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5C U+2A '*' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x5F U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
 /* 0x60 U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x61 U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x62 U+C2 A with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x63 U+C4 A with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x64 U+C0 A with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x65 U+C1 A with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x66 U+C3 A with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x67 U+C5 A with RING */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x68 U+C7 C with CEDILLA */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x69 U+D1 N with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x62 U+C2 I8=B2 A with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x63 U+C4 I8=B3 A with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x64 U+C0 I8=B4 A with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x65 U+C1 I8=B5 A with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x66 U+C3 I8=B6 A with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x67 U+C5 I8=B7 A with RING */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x68 U+C7 I8=B8 C with CEDILLA */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x69 U+D1 I8=B9 N with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
 /* 0x6A U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6B U+2C ',' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6C U+25 '%' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6D U+5F '_' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_WORDCHAR),
 /* 0x6E U+3E '>' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x6F U+3F '?' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x70 U+F8 o with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x71 U+C9 E with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x72 U+CA E with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x73 U+CB E with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x74 U+C8 E with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x75 U+CD I with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x76 U+CE I with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x77 U+CF I with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x78 U+CC I with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x79 U+A8 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* 0x70 U+F8 I8=BA o with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x71 U+C9 I8=BB E with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x72 U+CA I8=BC E with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x73 U+CB I8=BD E with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x74 U+C8 I8=BE E with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x75 U+CD I8=BF I with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_CONTINUATION),
+/* 0x76 U+CE I8=C0 I with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x77 U+CF I8=C1 I with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x78 U+CC I8=C2 I with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x79 U+A8 I8=C3 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
 /* 0x7A U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7B U+23 '#' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7C U+40 '@' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7D U+27 "'" */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7E U+3D '=' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0x7F U+22 '"' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x80 U+D8 O with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0x80 U+D8 I8=C4 O with '/' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x81 U+61 'a' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x82 U+62 'b' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x83 U+63 'c' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x87 U+67 'g' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x88 U+68 'h' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x89 U+69 'i' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8A U+AB LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x8B U+BB RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0x8C U+F0 eth */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8D U+FD y with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8E U+FE thorn */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x8F U+B1 PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0x90 U+B0 DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0x8A U+AB I8=C5 LEFT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
+/* 0x8B U+BB I8=C6 RIGHT-POINTING DOUBLE ANGLE QUOTE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
+/* 0x8C U+F0 I8=C7 eth */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START),
+/* 0x8D U+FD I8=C8 y with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8E U+FE I8=C9 thorn */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x8F U+B1 I8=CA PLUS-MINUS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0x90 U+B0 I8=CB DEGREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0x91 U+6A 'j' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x92 U+6B 'k' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x93 U+6C 'l' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x97 U+70 'p' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x98 U+71 'q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0x99 U+72 'r' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9A U+AA FEMININE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
-/* 0x9B U+BA MASCULINE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
-/* 0x9C U+E6 ae */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9D U+B8 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0x9E U+C6 AE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0x9F U+A4 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xA0 U+B5 MICRO */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xA1 U+AF MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* 0x9A U+AA I8=CC FEMININE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START),
+/* 0x9B U+BA I8=CD MASCULINE ORDINAL */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_UTF8_IS_START),
+/* 0x9C U+E6 I8=CE ae */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x9D U+B8 I8=CF CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0x9E U+C6 I8=D0 AE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0x9F U+A4 I8=D1 CURRENCY */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xA0 U+B5 I8=D2 MICRO */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xA1 U+AF I8=D3 MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
 /* 0xA2 U+73 's' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA3 U+74 't' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA4 U+75 'u' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA7 U+78 'x' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA8 U+79 'y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xA9 U+7A 'z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAA U+A1 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xAB U+BF INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xAC U+D0 ETH */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAD U+DD Y with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAE U+DE THORN */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xAF U+AE REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB0 U+A2 CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB1 U+A3 POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB2 U+A5 YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB3 U+B7 MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT),
-/* 0xB4 U+A9 COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xB5 U+A7 SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* U+B6 PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xB7 U+BC 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xB8 U+BD 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xB9 U+BE 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBA U+AC NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xAA U+A1 I8=D4 INVERTED '!' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xAB U+BF I8=D5 INVERTED '?' */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xAC U+D0 I8=D6 ETH */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xAD U+DD I8=D7 Y with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xAE U+DE I8=D8 THORN */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xAF U+AE I8=D9 REGISTERED */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB0 U+A2 I8=DA CENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB1 U+A3 I8=DB POUND */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB2 U+A5 I8=DC YEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB3 U+B7 I8=DD MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB4 U+A9 I8=DE COPYRIGHT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xB5 U+A7 I8=DF SECTION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* U+B6 I8=E0 PILCROW */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* 0xB7 U+BC I8=E1 1/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB8 U+BD I8=E2 1/2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xB9 U+BE I8=E3 3/4 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBA U+AC I8=E4 NOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0xBB U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xBC U+5C '\' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
 /* 0xBD U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xBE U+B4 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xBF U+D7 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xC0 U+F9 u with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xBE U+B4 I8=E5 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xBF U+D7 I8=E6 MULTIPLICATION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xC0 U+F9 I8=E7 u with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
 /* 0xC1 U+41 'A' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC2 U+42 'B' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC3 U+43 'C' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC7 U+47 'G' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC8 U+48 'H' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xC9 U+49 'I' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCA U+AD SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
-/* 0xCB U+F4 o with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCC U+F6 o with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCD U+F2 o with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCE U+F3 o with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xCF U+F5 o with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xD0 U+A6 BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xCA U+AD I8=E8 SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
+/* 0xCB U+F4 I8=E9 o with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCC U+F6 I8=EA o with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCD U+F2 I8=EB o with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCE U+F3 I8=EC o with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xCF U+F5 I8=ED o with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xD0 U+A6 I8=EE BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START),
 /* 0xD1 U+4A 'J' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD2 U+4B 'K' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD3 U+4C 'L' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD7 U+50 'P' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD8 U+51 'Q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xD9 U+52 'R' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDA U+B9 SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xDB U+FB u with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDC U+FC u with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDD U+DB U with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDE U+FA u with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xDF U+FF y with diaeresis */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xE0 U+D9 U with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xE1 U+F7 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* 0xDA U+B9 I8=EF SUPERSCRIPT 1 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START),
+/* 0xDB U+FB I8=F0 u with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START),
+/* 0xDC U+FC I8=F1 u with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xDD U+DB I8=F2 U with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xDE U+FA I8=F3 u with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xDF U+FF I8=F4 y with diaeresis */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xE0 U+D9 I8=F5 U with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xE1 U+F7 I8=F6 DIVISION */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xE2 U+53 'S' */ (1U<<_CC_NONLATIN1_SIMPLE_FOLD)|(1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE3 U+54 'T' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE4 U+55 'U' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE7 U+58 'X' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE8 U+59 'Y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 /* 0xE9 U+5A 'Z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEA U+B2 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
-/* 0xEB U+D4 O with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEC U+D6 O with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xED U+D2 O with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEE U+D3 O with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
-/* 0xEF U+D5 O with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xEA U+B2 I8=F7 SUPERSCRIPT 2 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEB U+D4 I8=F8 O with '^' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEC U+D6 I8=F9 O with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xED U+D2 I8=FA O with GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEE U+D3 I8=FB O with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
+/* 0xEF U+D5 I8=FC O with '~' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xF0 U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF1 U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF2 U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF7 U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF8 U+38 '8' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
 /* 0xF9 U+39 '9' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
-/* 0xFA U+B3 SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* 0xFA U+B3 I8=FD SUPERSCRIPT 3 */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xFB U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xFC U+DC U with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xFC U+DC I8=FE U with DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xFD U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
-/* 0xFE U+DA U with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* 0xFE U+DA I8=FF U with ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_UTF8_IS_START)|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE),
 /* 0xFF U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA)
 
 #endif /* EBCDIC POSIX-BC */
index 7c2b11e..0779609 100644 (file)
@@ -8,6 +8,7 @@
 # cases to the top level .gitignore than to code one-off logic into the
 # generation script regen/lib_cleanup.pl
 
+/Amiga/
 /App/
 /Archive/
 /Attribute/
index f889efc..54607bb 100644 (file)
@@ -118,7 +118,7 @@ package B::Op_private;
 our %bits;
 
 
-our $VERSION = "5.023002";
+our $VERSION = "5.023003";
 
 $bits{$_}{3} = 'OPpENTERSUB_AMPER' for qw(entersub rv2cv);
 $bits{$_}{6} = 'OPpENTERSUB_DB' for qw(entersub rv2cv);
index efd61ff..e40cc12 100644 (file)
@@ -1,6 +1,6 @@
 package English;
 
-our $VERSION = '1.09';
+our $VERSION = '1.10';
 
 require Exporter;
 @ISA = qw(Exporter);
@@ -182,7 +182,7 @@ sub import {
 
        *FORMAT_PAGE_NUMBER                     = *%    ;
        *FORMAT_LINES_PER_PAGE                  = *=    ;
-       *FORMAT_LINES_LEFT                      = *-    ;
+       *FORMAT_LINES_LEFT                      = *-{SCALAR}    ;
        *FORMAT_NAME                            = *~    ;
        *FORMAT_TOP_NAME                        = *^    ;
        *FORMAT_LINE_BREAK_CHARACTERS           = *:    ;
index 1854982..56033a7 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 no warnings 'surrogate';    # surrogates can be inputs to this
 use charnames ();
 
-our $VERSION = '0.62';
+our $VERSION = '0.63';
 
 require Exporter;
 
@@ -937,6 +937,9 @@ sub charblock {
     elsif (exists $BLOCKS{$arg}) {
         return _dclone $BLOCKS{$arg};
     }
+
+    carp __PACKAGE__, "::charblock: unknown code '$arg'";
+    return;
 }
 
 =head2 B<charscript()>
@@ -1004,6 +1007,7 @@ sub charscript {
         return _dclone $SCRIPTS{$arg};
     }
 
+    carp __PACKAGE__, "::charscript: unknown code '$arg'";
     return;
 }
 
index 22b2edb..83320d3 100644 (file)
@@ -381,6 +381,15 @@ is(charblock(0x590),          "Hebrew", "0x0590 - Hebrew unused charblock");
 is(charscript(0x590),         $unknown_script, "0x0590 - Hebrew unused charscript") if $v_unicode_version gt v3.0.1;
 is(charblock(0x1FFFF),        "No_Block", "0x1FFFF - unused charblock");
 
+{
+    my @warnings;
+    local $SIG{__WARN__} = sub { push @warnings, @_  };
+    is(charblock(chr(0x6237)), undef,
+        "Verify charblock of non-code point returns <undef>");
+    cmp_ok(scalar @warnings, '==', 1, "  ... and generates 1 warning");
+    like($warnings[0], qr/unknown code/, "  ... with the right text");
+}
+
 my $fraction_3_4_code = sprintf("%04X", utf8::unicode_to_native(0xbe));
 $cp = $fraction_3_4_code;
 $charinfo = charinfo($fraction_3_4_code);
@@ -762,10 +771,20 @@ is(Unicode::UCD::_getcode('U+123x'),  undef, "_getcode(x123)");
 SKIP:
 {
     skip("Script property not in this release", 3) if $v_unicode_version lt v3.1.0;
+
+    {
+        my @warnings;
+        local $SIG{__WARN__} = sub { push @warnings, @_  };
+        is(charscript(chr(0x6237)), undef,
+           "Verify charscript of non-code point returns <undef>");
+        cmp_ok(scalar @warnings, '==', 1, "  ... and generates 1 warning");
+        like($warnings[0], qr/unknown code/, "  ... with the right text");
+    }
+
     my $r1 = charscript('Latin');
     if (ok(defined $r1, "Found Latin script")) {
         skip("Latin range count will be wrong when using older Unicode release",
-             2) if $v_unicode_version lt $expected_version;
+             2) if $current_version lt $expected_version;
         my $n1 = @$r1;
         is($n1, 31, "number of ranges in Latin script (Unicode $expected_version)") if $::IS_ASCII;
         shift @$r1 while @$r1;
index 8fc535f..4e50ff3 100644 (file)
@@ -33,20 +33,20 @@ utf8::encode(my $c2_utf8 = $c2);
 
 {
     use bytes;
-    if (ord('A') == 193) { # EBCDIC?
+    if ($::IS_EBCDIC) { # EBCDIC?
        is(ord($c), 0x8c, "ord under use bytes looks at the 1st byte");
     } else {
        is(ord($c), 0xc4, "ord under use bytes looks at the 1st byte");
     }
     is(length($c), 2, "length under use bytes looks at bytes");
     is(bytes::length($c), 2, "bytes::length under use bytes looks at bytes");
-    if (ord('A') == 193) { # EBCDIC?
+    if ($::IS_EBCDIC) { # EBCDIC?
        is(bytes::ord($c), 0x8c, "bytes::ord under use bytes looks at the 1st byte");
     } else {
        is(bytes::ord($c), 0xc4, "bytes::ord under use bytes looks at the 1st byte");
     }
     # In z/OS \x41,\x8c are the codepoints corresponding to \x80,\xc4 respectively under ASCII platform
-    if (ord('A') == 193) { # EBCDIC?
+    if ($::IS_EBCDIC) { # EBCDIC?
         is(bytes::substr($c, 0, 1), "\x8c", "bytes::substr under use bytes looks at bytes");
         is(bytes::index($c, "\x41"), 1, "bytes::index under use bytes looks at bytes");
         is(bytes::rindex($c, "\x8c"), 0, "bytes::rindex under use bytes looks at bytes");
index 9cc243f..fb91f0a 100644 (file)
@@ -1,6 +1,6 @@
 package locale;
 
-our $VERSION = '1.06';
+our $VERSION = '1.07';
 use Config;
 
 $Carp::Internal{ (__PACKAGE__) } = 1;
@@ -102,10 +102,20 @@ sub import {
             }
 
             # Map our names to the ones defined by POSIX
-            $arg = "LC_" . uc($arg);
+            my $LC = "LC_" . uc($arg);
 
-            my $bit = eval "&POSIX::$arg";
+            my $bit = eval "&POSIX::$LC";
             if (defined $bit) {
+
+                # Verify our assumption.
+                if (! ($bit >= 0 && $bit < 31)) {
+                    require Carp;
+                    Carp::croak("Cannot have ':$arg' parameter to 'use locale'"
+                              . " on this platform.  Use the 'perlbug' utility"
+                              . " to report this problem, or send email to"
+                              . " 'perlbug\@perl.org'.  $LC=$bit");
+                }
+
                 # 1 is added so that the pseudo-category :characters, which is
                 # -1, comes out 0.
                 $^H{locale} |= 1 << ($bit + 1);
index 1b510d2..6b5616c 100644 (file)
@@ -63,7 +63,7 @@ my $dumper = Dumpvalue->new(
 sub debug {
   return unless $debug;
   my($mess) = join "", '# ', @_;
-  chop $mess;
+  chomp $mess;
   print STDERR $dumper->stringify($mess,1), "\n";
 }
 
@@ -88,6 +88,7 @@ sub ok {
     print "ok " . ++$test_num;
     print " $message";
     print "\n";
+    return ($result) ? 1 : 0;
 }
 
 # First we'll do a lot of taint checking for locales.
@@ -115,6 +116,20 @@ sub check_taint_not ($;$) {
     ok((not is_tainted($_[0])), "verify that isn't tainted$message_tail");
 }
 
+foreach my $category (qw(ALL COLLATE CTYPE MESSAGES MONETARY NUMERIC TIME)) {
+    my $short_result = locales_enabled($category);
+    ok ($short_result == 0 || $short_result == 1,
+        "Verify locales_enabled('$category') returns 0 or 1");
+    debug("locales_enabled('$category') returned '$short_result'");
+    my $long_result = locales_enabled("LC_$category");
+    if (! ok ($long_result == $short_result,
+              "   and locales_enabled('LC_$category') returns "
+            . "the same value")
+    ) {
+        debug("locales_enabled('LC_$category') returned $long_result");
+    }
+}
+
 "\tb\t" =~ /^m?(\s)(.*)\1$/;
 check_taint_not   $&, "not tainted outside 'use locale'";
 ;
index 8153936..449e411 100644 (file)
@@ -615,15 +615,17 @@ our $to_trace = 0;
 # This is for a rarely used development feature that allows you to compare two
 # versions of the Unicode standard without having to deal with changes caused
 # by the code points introduced in the later version.  You probably also want
-# to use the -annotate option when using this.  Change the 0 to a string
-# containing a SINGLE dotted Unicode release number (e.g. "2.1").  Only code
-# points introduced in that release and earlier will be used; later ones are
-# thrown away.  You use the version number of the earliest one you want to
-# compare; then run this program on directory structures containing each
-# release, and compare the outputs.  These outputs will therefore include only
-# the code points common to both releases, and you can see the changes caused
-# just by the underlying release semantic changes.  For versions earlier than
-# 3.2, you must copy a version of DAge.txt into the directory.
+# to use the -annotate option when using this.  Run this program on a unicore
+# containing the starting release you want to compare.  Save that output
+# structrue.  Then, switching to a unicore with the ending release, change the
+# 0 in the $string_compare_versions definition just below to a string
+# containing a SINGLE dotted Unicode release number (e.g. "2.1") corresponding
+# to the starting release.  This program will then compile, but throw away all
+# code points introduced after the starting release.  Finally use a diff tool
+# to compare the two directory structures.  They include only the code points
+# common to both releases, and you can see the changes caused just by the
+# underlying release semantic changes.  For versions earlier than 3.2, you
+# must copy a version of DAge.txt into the directory.
 my $string_compare_versions = DEBUG && 0; #  e.g., "2.1";
 my $compare_versions = DEBUG
                        && $string_compare_versions
@@ -802,6 +804,11 @@ close $VERSION;
 chomp $string_version;
 my $v_version = pack "C*", split /\./, $string_version;        # v string
 
+my $unicode_version = ($compare_versions)
+                      ? (  "$string_compare_versions (using "
+                         . "$string_version rules)")
+                      : $string_version;
+
 # The following are the complete names of properties with property values that
 # are known to not match any code points in some versions of Unicode, but that
 # may change in the future so they should be matchable, hence an empty file is
@@ -1071,7 +1078,7 @@ my %default_mapping = (
 my $HEADER=<<"EOF";
 # !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
 # This file is machine-generated by $0 from the Unicode
-# database, Version $string_version.  Any changes made here will be lost!
+# database, Version $unicode_version.  Any changes made here will be lost!
 EOF
 
 my $INTERNAL_ONLY_HEADER = <<"EOF";
@@ -1320,6 +1327,12 @@ my %ucd_pod;    # Holds entries that will go into the UCD section of the pod
 # unlikely that they will ever change.
 my %caseless_equivalent_to;
 
+# This is the range of characters that were in Release 1 of Unicode, and
+# removed in Release 2 (replaced with the current Hangul syllables starting at
+# U+AC00).  The range was reused starting in Release 3 for other purposes.
+my $FIRST_REMOVED_HANGUL_SYLLABLE = 0x3400;
+my $FINAL_REMOVED_HANGUL_SYLLABLE = 0x4DFF;
+
 # These constants names and values were taken from the Unicode standard,
 # version 5.1, section 3.12.  They are used in conjunction with Hangul
 # syllables.  The '_string' versions are so generated tables can retain the
@@ -1393,6 +1406,7 @@ my $MIN_FRACTION_LENGTH = 3; # How many digits of a floating point number at
 my $MAX_FLOATING_SLOP = 10 ** - $MIN_FRACTION_LENGTH; # And in floating terms
 
 # These store references to certain commonly used property objects
+my $age;
 my $ccc;
 my $gc;
 my $perl;
@@ -1401,6 +1415,8 @@ my $perl_charname;
 my $print;
 my $All;
 my $Assigned;   # All assigned characters in this Unicode release
+my $DI;         # Default_Ignorable_Code_Point property
+my $NChar;      # Noncharacter_Code_Point property
 my $script;
 
 # Are there conflicting names because of beginning with 'In_', or 'Is_'
@@ -1476,12 +1492,28 @@ sub populate_char_info ($) {
     Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
     $viacode[$i] = $perl_charname->value_of($i) || "";
+    $age[$i] = (defined $age)
+               ? (($age->value_of($i) =~ / ^ \d \. \d $ /x)
+                  ? $age->value_of($i)
+                  : "")
+               : "";
 
     # A character is generally printable if Unicode says it is,
     # but below we make sure that most Unicode general category 'C' types
     # aren't.
     $printable[$i] = $print->contains($i);
 
+    # But the characters in this range were removed in v2.0 and replaced by
+    # different ones later.  Modern fonts will be for the replacement
+    # characters, so suppress printing them.
+    if (($v_version lt v2.0
+         || ($compare_versions && $compare_versions lt v2.0))
+        && (   $i >= $FIRST_REMOVED_HANGUL_SYLLABLE
+            && $i <= $FINAL_REMOVED_HANGUL_SYLLABLE))
+    {
+        $printable[$i] = 0;
+    }
+
     $annotate_char_type[$i] = $perl_charname->type_of($i) || 0;
 
     # Only these two regular types are treated specially for annotations
@@ -1494,47 +1526,41 @@ sub populate_char_info ($) {
     # point of the range.
     my $end;
     if (! $viacode[$i]) {
-        my $nonchar;
         if ($i > $MAX_UNICODE_CODEPOINT) {
             $viacode[$i] = 'Above-Unicode';
             $annotate_char_type[$i] = $ABOVE_UNICODE_TYPE;
             $printable[$i] = 0;
             $end = $MAX_WORKING_CODEPOINT;
-            $age[$i] = "";
         }
         elsif ($gc-> table('Private_use')->contains($i)) {
             $viacode[$i] = 'Private Use';
             $annotate_char_type[$i] = $PRIVATE_USE_TYPE;
             $printable[$i] = 0;
             $end = $gc->table('Private_Use')->containing_range($i)->end;
-            $age[$i] = property_ref("Age")->value_of($i);
         }
-        elsif ((defined ($nonchar =
-                            Property::property_ref('Noncharacter_Code_Point'))
-               && $nonchar->table('Y')->contains($i)))
-        {
+        elsif ($NChar->contains($i)) {
             $viacode[$i] = 'Noncharacter';
             $annotate_char_type[$i] = $NONCHARACTER_TYPE;
             $printable[$i] = 0;
-            $end = property_ref('Noncharacter_Code_Point')->table('Y')->
-                                                    containing_range($i)->end;
-            $age[$i] = property_ref("Age")->value_of($i);
+            $end = $NChar->containing_range($i)->end;
         }
         elsif ($gc-> table('Control')->contains($i)) {
-            $viacode[$i] = property_ref('Name_Alias')->value_of($i) || 'Control';
+            my $name_ref = property_ref('Name_Alias');
+            $name_ref = property_ref('Unicode_1_Name') if ! defined $name_ref;
+            $viacode[$i] = (defined $name_ref)
+                           ? $name_ref->value_of($i)
+                           : 'Control';
             $annotate_char_type[$i] = $CONTROL_TYPE;
             $printable[$i] = 0;
-            $age[$i] = property_ref("Age")->value_of($i);
         }
         elsif ($gc-> table('Unassigned')->contains($i)) {
             $annotate_char_type[$i] = $UNASSIGNED_TYPE;
             $printable[$i] = 0;
+            $viacode[$i] = 'Unassigned';
+
             if (defined $block) { # No blocks in earliest releases
-                $viacode[$i] = 'Unassigned';
+                $viacode[$i] .= ', block=' . $block-> value_of($i);
                 $end = $gc-> table('Unassigned')->containing_range($i)->end;
-            }
-            else {
-                $viacode[$i] = 'Unassigned, block=' . $block-> value_of($i);
 
                 # Because we name the unassigned by the blocks they are in, it
                 # can't go past the end of that block, and it also can't go
@@ -1545,14 +1571,19 @@ sub populate_char_info ($) {
                            $unassigned_sans_noncharacters->
                                                     containing_range($i)->end);
             }
-            $age[$i] = property_ref("Age")->value_of($i);
+            else {
+                $end = $i + 1;
+                while ($unassigned_sans_noncharacters->contains($end)) {
+                    $end++;
+                }
+                $end--;
+            }
         }
         elsif ($perl->table('_Perl_Surrogate')->contains($i)) {
             $viacode[$i] = 'Surrogate';
             $annotate_char_type[$i] = $SURROGATE_TYPE;
             $printable[$i] = 0;
             $end = $gc->table('Surrogate')->containing_range($i)->end;
-            $age[$i] = property_ref("Age")->value_of($i);
         }
         else {
             Carp::my_carp_bug("Can't figure out how to annotate "
@@ -1569,17 +1600,20 @@ sub populate_char_info ($) {
     elsif ($annotate_char_type[$i] == $CP_IN_NAME) {
         $viacode[$i] .= sprintf("-%04X", $i);
 
-        # Do all these as groups of the same age, instead of individually,
-        # because their names are so meaningless, and there are typically
-        # large quantities of them.
-        my $Age = property_ref("Age");
-        $age[$i] = $Age->value_of($i);
         my $limit = $perl_charname->containing_range($i)->end;
-        $end = $i + 1;
-        while ($end <= $limit && $Age->value_of($end) == $age[$i]) {
-            $end++;
+        if (defined $age) {
+            # Do all these as groups of the same age, instead of individually,
+            # because their names are so meaningless, and there are typically
+            # large quantities of them.
+            $end = $i + 1;
+            while ($end <= $limit && $age->value_of($end) == $age[$i]) {
+                $end++;
+            }
+            $end--;
+        }
+        else {
+            $end = $limit;
         }
-        $end--;
     }
 
     # And here, has a name, but if it's a hangul syllable one, replace it with
@@ -1592,12 +1626,8 @@ sub populate_char_info ($) {
         my $T = $TBase + $SIndex % $TCount;
         $viacode[$i] = "HANGUL SYLLABLE $Jamo{$L}$Jamo{$V}";
         $viacode[$i] .= $Jamo{$T} if $T != $TBase;
-        $age[$i] = property_ref("Age")->value_of($i);
         $end = $perl_charname->containing_range($i)->end;
     }
-    else {
-        $age[$i] = property_ref("Age")->value_of($i);
-    }
 
     return if ! defined wantarray;
     return $i if ! defined $end;    # If not a range, return the input
@@ -2602,7 +2632,7 @@ END
         # once per file, as it destroy's the EOF handlers
 
         # flag to make sure extracted files are processed early
-        state $seen_non_extracted_non_age = 0;
+        state $seen_non_extracted = 0;
 
         my $self = shift;
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
@@ -2615,7 +2645,7 @@ END
             $handle{$addr} = 'pretend_is_open';
         }
         else {
-            if ($seen_non_extracted_non_age) {
+            if ($seen_non_extracted) {
                 if ($file =~ /$EXTRACTED/i) # Some platforms may change the
                                             # case of the file's name
                 {
@@ -2632,13 +2662,12 @@ END
                     # We only do this check for generic property files
                     && $handler{$addr} == \&main::process_generic_property_file
 
-                    && $file !~ /$EXTRACTED/i
-                    && lc($file) ne 'dage.txt')
+                    && $file !~ /$EXTRACTED/i)
             {
                 # We don't set this (by the 'if' above) if we have no
                 # extracted directory, so if running on an early version,
                 # this test won't work.  Not worth worrying about.
-                $seen_non_extracted_non_age = 1;
+                $seen_non_extracted = 1;
             }
 
             # Mark the file as having being processed, and warn if it
@@ -3231,7 +3260,8 @@ END
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
         my $object = main::property_ref($property{$addr});
-        $object->add_map(0x3400, 0x4DFF,
+        $object->add_map($FIRST_REMOVED_HANGUL_SYLLABLE,
+                         $FINAL_REMOVED_HANGUL_SYLLABLE,
                          $early{$addr}[3],  # Passed-in value for these
                          Replace => $UNCONDITIONALLY);
     }
@@ -5686,6 +5716,9 @@ END
         }
 
         # Look at each alias
+        my $is_last_resort = 0;
+        my $deprecated_or_discouraged
+                                = qr/ ^ (?: $DEPRECATED | $DISCOURAGED ) $/x;
         foreach my $alias ($self->aliases()) {
 
             # Don't use an alias that isn't ok to use for an external name.
@@ -5694,10 +5727,13 @@ END
             my $name = main::Standardize($alias->name);
             trace $self, $name if main::DEBUG && $to_trace;
 
-            # Take the first one, or a shorter one that isn't numeric.  This
+            # Take the first one, or any non-deprecated non-discouraged one
+            # over one that is, or a shorter one that isn't numeric.  This
             # relies on numeric aliases always being last in the array
             # returned by aliases().  Any alpha one will have precedence.
-            if (! defined $short_name{$addr}
+            if (   ! defined $short_name{$addr}
+                || (   $is_last_resort
+                    && $alias->status !~ $deprecated_or_discouraged)
                 || ($name =~ /\D/
                     && length($name) < length($short_name{$addr})))
             {
@@ -5705,14 +5741,16 @@ END
                 ($short_name{$addr} = $name) =~ s/ (?<= . ) _ (?= . ) //xg;
 
                 $nominal_short_name_length{$addr} = length $name;
+                $is_last_resort = $alias->status =~ $deprecated_or_discouraged;
             }
         }
 
         # If the short name isn't a nice one, perhaps an equivalent table has
         # a better one.
-        if (! defined $short_name{$addr}
-            || $short_name{$addr} eq ""
-            || $short_name{$addr} eq "_")
+        if (   $self->can('children')
+            && (   ! defined $short_name{$addr}
+                || $short_name{$addr} eq ""
+                || $short_name{$addr} eq "_"))
         {
             my $return;
             foreach my $follower ($self->children) {    # All equivalents
@@ -6349,7 +6387,15 @@ END
                                     $range_name = "Hangul Syllable";
                                 }
 
-                                if ($i != $start || $range_end < $end) {
+                                # If the annotation would just repeat what's
+                                # already being output as the range, skip it.
+                                # (When an inversion list is being written, it
+                                # isn't a repeat, as that always is in
+                                # decimal)
+                                if (   $write_as_invlist
+                                    || $i != $start
+                                    || $range_end < $end)
+                                {
                                     if ($range_end < $MAX_WORKING_CODEPOINT)
                                     {
                                         $annotation = sprintf "%04X..%04X",
@@ -6363,6 +6409,7 @@ END
                                 else { # Indent if not displaying code points
                                     $annotation = " " x 4;
                                 }
+
                                 if ($range_name) {
                                     $annotation .= " $age[$i]" if $age[$i];
                                     $annotation .= " $range_name";
@@ -7123,7 +7170,7 @@ END
             else {
                 $cp = "one of the $code_points";
             }
-            $cp .= " in Unicode Version $string_version for which the mapping is not to $map_to";
+            $cp .= " in Unicode Version $unicode_version for which the mapping is not to $map_to";
         }
 
         my $comment = "";
@@ -8369,7 +8416,7 @@ resources, every table that matches the identical set of code points in this
 version of Unicode uses this file.  Each one is listed in a separate group
 below.  It could be that the tables will match the same set of code points in
 other Unicode releases, or it could be purely coincidence that they happen to
-be the same in Unicode $string_version, and hence may not in other versions.
+be the same in Unicode $unicode_version, and hence may not in other versions.
 
 END
         }
@@ -8394,7 +8441,7 @@ END
             Carp::my_carp("No regular expression construct can match $leader, as all names for it are the null string.  Creating file anyway.");
             $comment .= <<END;
 This file returns the $code_points in Unicode Version
-$string_version for
+$unicode_version for
 $leader, but it is inaccessible through Perl regular expressions, as
 "\\p{prop=}" is not recognized.
 END
@@ -8402,7 +8449,7 @@ END
         } else {
             $comment .= <<END;
 This file returns the $code_points in Unicode Version
-$string_version that
+$unicode_version that
 $match$synonyms:
 
 $matches_comment
@@ -9914,6 +9961,7 @@ sub finish_property_setup {
     $gc = property_ref('General_Category');
     $block = property_ref('Block');
     $script = property_ref('Script');
+    $age = property_ref('Age');
 
     # Perl adds this alias.
     $gc->add_alias('Category');
@@ -10344,7 +10392,6 @@ END
     # As noted in the comments early in the program, it generates tables for
     # the default values for all releases, even those for which the concept
     # didn't exist at the time.  Here we add those if missing.
-    my $age = property_ref('age');
     if (defined $age && ! defined $age->table('Unassigned')) {
         $age->add_match_table('Unassigned');
     }
@@ -10711,9 +10758,6 @@ sub output_perl_charnames_line ($$) {
 }
 
 { # Closure
-    # This is used to store the range list of all the code points usable when
-    # the little used $compare_versions feature is enabled.
-    my $compare_versions_range_list;
 
     # These are constants to the $property_info hash in this subroutine, to
     # avoid using a quoted-string which might have a typo.
@@ -10818,73 +10862,6 @@ sub output_perl_charnames_line ($$) {
             my $low = hex $1;
             my $high = (defined $2) ? hex $2 : $low;
 
-            # For the very specialized case of comparing two Unicode
-            # versions...
-            if (DEBUG && $compare_versions) {
-                if ($property_name eq 'Age') {
-
-                    # Only allow code points at least as old as the version
-                    # specified.
-                    my $age = pack "C*", split(/\./, $map);        # v string
-                    next LINE if $age gt $compare_versions;
-                }
-                else {
-
-                    # Again, we throw out code points younger than those of
-                    # the specified version.  By now, the Age property is
-                    # populated.  We use the intersection of each input range
-                    # with this property to find what code points in it are
-                    # valid.   To do the intersection, we have to convert the
-                    # Age property map to a Range_list.  We only have to do
-                    # this once.
-                    if (! defined $compare_versions_range_list) {
-                        my $age = property_ref('Age');
-                        if (! -e 'DAge.txt') {
-                            croak "Need to have 'DAge.txt' file to do version comparison";
-                        }
-                        elsif ($age->count == 0) {
-                            croak "The 'Age' table is empty, but its file exists";
-                        }
-                        $compare_versions_range_list
-                                        = Range_List->new(Initialize => $age);
-                    }
-
-                    # An undefined map is always 'Y'
-                    $map = 'Y' if ! defined $map;
-
-                    # Calculate the intersection of the input range with the
-                    # code points that are known in the specified version
-                    my @ranges = ($compare_versions_range_list
-                                  & Range->new($low, $high))->ranges;
-
-                    # If the intersection is empty, throw away this range
-                    next LINE unless @ranges;
-
-                    # Only examine the first range this time through the loop.
-                    my $this_range = shift @ranges;
-
-                    # Put any remaining ranges in the queue to be processed
-                    # later.  Note that there is unnecessary work here, as we
-                    # will do the intersection again for each of these ranges
-                    # during some future iteration of the LINE loop, but this
-                    # code is not used in production.  The later intersections
-                    # are guaranteed to not splinter, so this will not become
-                    # an infinite loop.
-                    my $line = join ';', $property_name, $map;
-                    foreach my $range (@ranges) {
-                        $file->insert_adjusted_lines(sprintf("%04X..%04X; %s",
-                                                            $range->start,
-                                                            $range->end,
-                                                            $line));
-                    }
-
-                    # And set things up so that the below will process this first
-                    # range, like any other.
-                    $low = $this_range->start;
-                    $high = $this_range->end;
-                }
-            } # End of $compare_versions
-
             # If changing to a new property, get the things constant per
             # property
             if ($previous_property_name ne $property_name) {
@@ -13059,7 +13036,9 @@ END
     # not being right at all.
     if ($v_version lt v2.0.0) {
         my $property = property_ref($file->property);
-        $file->insert_lines("3400..4DFF; LVT\n");
+        $file->insert_lines(sprintf("%04X..%04X; LVT\n",
+                                    $FIRST_REMOVED_HANGUL_SYLLABLE,
+                                    $FINAL_REMOVED_HANGUL_SYLLABLE));
         push @tables_that_may_be_empty, $property->table('LV')->complete_name;
         return;
     }
@@ -13290,9 +13269,9 @@ END
 
     # For each property, fill in any missing mappings, and calculate the re
     # match tables.  If a property has more than one missing mapping, the
-    # default is a reference to a data structure, and requires data from other
-    # properties to resolve.  The sort is used to cause these to be processed
-    # last, after all the other properties have been calculated.
+    # default is a reference to a data structure, and may require data from
+    # other properties to resolve.  The sort is used to cause these to be
+    # processed last, after all the other properties have been calculated.
     # (Fortunately, the missing properties so far don't depend on each other.)
     foreach my $property
         (sort { (defined $a->default_map && ref $a->default_map) ? 1 : -1 }
@@ -13602,7 +13581,7 @@ sub pre_3_dot_1_Nl () {
     return $Nl;
 }
 
-sub calculate_Assigned() {  # Calculate the gc != Cn code points; may be
+sub calculate_Assigned() {  # Set $Assigned to the gc != Cn code points; may be
                             # called before the Cn's are completely filled.
                             # Works on Unicodes earlier than ones that
                             # explicitly specify Cn.
@@ -13622,6 +13601,339 @@ sub calculate_Assigned() {  # Calculate the gc != Cn code points; may be
     }
 }
 
+sub calculate_DI() {    # Set $DI to a Range_List equivalent to the
+                        # Default_Ignorable_Code_Point property.  Works on
+                        # Unicodes earlier than ones that explicitly specify
+                        # DI.
+    return if defined $DI;
+
+    if (defined (my $di = property_ref('Default_Ignorable_Code_Point'))) {
+        $DI = $di->table('Y');
+    }
+    else {
+        $DI = Range_List->new(Initialize => [ 0x180B .. 0x180D,
+                                              0x2060 .. 0x206F,
+                                              0xFE00 .. 0xFE0F,
+                                              0xFFF0 .. 0xFFFB,
+                                            ]);
+        if ($v_version ge v2.0) {
+            $DI += $gc->table('Cf')
+                +  $gc->table('Cs');
+
+            # These are above the Unicode version 1 max
+            $DI->add_range(0xE0000, 0xE0FFF);
+        }
+        $DI += $gc->table('Cc')
+             - ord("\t")
+             - utf8::unicode_to_native(0x0A)  # LINE FEED
+             - utf8::unicode_to_native(0x0B)  # VERTICAL TAB
+             - ord("\f")
+             - utf8::unicode_to_native(0x0D)  # CARRIAGE RETURN
+             - utf8::unicode_to_native(0x85); # NEL
+    }
+}
+
+sub calculate_NChar() {  # Create a Perl extension match table which is the
+                         # same as the Noncharacter_Code_Point property, and
+                         # set $NChar to point to it.  Works on Unicodes
+                         # earlier than ones that explicitly specify NChar
+    return if defined $NChar;
+
+    $NChar = $perl->add_match_table('_Perl_Nchar',
+                                    Perl_Extension => 1,
+                                    Fate => $INTERNAL_ONLY);
+    if (defined (my $off_nchar = property_ref('NChar'))) {
+        $NChar->initialize($off_nchar->table('Y'));
+    }
+    else {
+        $NChar->initialize([ 0xFFFE .. 0xFFFF ]);
+        if ($v_version ge v2.0) {   # First release with these nchars
+            for (my $i = 0x1FFFE; $i <= 0x10FFFE; $i += 0x10000) {
+                $NChar += [ $i .. $i+1 ];
+            }
+        }
+    }
+}
+
+sub handle_compare_versions () {
+    # This fixes things up for the $compare_versions capability, where we
+    # compare Unicode version X with version Y (with Y > X), and we are
+    # running it on the Unicode Data for version Y.
+    #
+    # It works by calculating the code points whose meaning has been specified
+    # after release X, by using the Age property.  The complement of this set
+    # is the set of code points whose meaning is unchanged between the
+    # releases.  This is the set the program restricts itself to.  It includes
+    # everything whose meaning has been specified by the time version X came
+    # along, plus those still unassigned by the time of version Y.  (We will
+    # continue to use the word 'assigned' to mean 'meaning has been
+    # specified', as it's shorter and is accurate in all cases except the
+    # Noncharacter code points.)
+    #
+    # This function is run after all the properties specified by Unicode have
+    # been calculated for release Y.  This makes sure we get all the nuances
+    # of Y's rules.  (It is done before the Perl extensions are calculated, as
+    # those are based entirely on the Unicode ones.)  But doing it after the
+    # Unicode table calculations means we have to fix up the Unicode tables.
+    # We do this by subtracting the code points that have been assigned since
+    # X (which is actually done by ANDing each table of assigned code points
+    # with the set of unchanged code points).  Most Unicode properties are of
+    # the form such that all unassigned code points have a default, grab-bag,
+    # property value which is changed when the code point gets assigned.  For
+    # these, we just remove the changed code points from the table for the
+    # latter property value, and add them back in to the grab-bag one.  A few
+    # other properties are not entirely of this form and have values for some
+    # or all unassigned code points that are not the grab-bag one.  These have
+    # to be handled specially, and are hard-coded in to this routine based on
+    # manual inspection of the Unicode character database.  A list of the
+    # outlier code points is made for each of these properties, and those
+    # outliers are excluded from adding and removing from tables.
+    #
+    # Note that there are glitches when comparing against Unicode 1.1, as some
+    # Hangul syllables in it were later ripped out and eventually replaced
+    # with other things.
+
+    print "Fixing up for version comparison\n" if $verbosity >= $PROGRESS;
+
+    my $after_first_version = "All matching code points were added after "
+                            . "Unicode $string_compare_versions";
+
+    # Calculate the delta as those code points that have been newly assigned
+    # since the first compare version.
+    my $delta = Range_List->new();
+    foreach my $table ($age->tables) {
+        next if $table == $age->table('Unassigned');
+        next if $table->name le $string_compare_versions;
+        $delta += $table;
+    }
+    if ($delta->is_empty) {
+        die ("No changes; perhaps you need a 'DAge.txt' file?");
+    }
+
+    my $unchanged = ~ $delta;
+
+    calculate_Assigned() if ! defined $Assigned;
+    $Assigned &= $unchanged;
+
+    # $Assigned now contains the code points that were assigned as of Unicode
+    # version X.
+
+    # A block is all or nothing.  If nothing is assigned in it, it all goes
+    # back to the No_Block pool; but if even one code point is assigned, the
+    # block is retained.
+    my $no_block = $block->table('No_Block');
+    foreach my $this_block ($block->tables) {
+        next if     $this_block == $no_block
+                ||  ! ($this_block & $Assigned)->is_empty;
+        $this_block->set_fate($SUPPRESSED, $after_first_version);
+        $no_block += $this_block;
+    }
+
+    my @special_delta_properties;   # List of properties that have to be
+                                    # handled specially.
+    my %restricted_delta;           # Keys are the entries in
+                                    # @special_delta_properties;  values
+                                    # are the range list of the code points
+                                    # that behave normally when they get
+                                    # assigned.
+
+    # In the next three properties, the Default Ignorable code points are
+    # outliers.
+    calculate_DI();
+    $DI &= $unchanged;
+
+    push @special_delta_properties, property_ref('_Perl_GCB');
+    $restricted_delta{$special_delta_properties[-1]} = ~ $DI;
+
+    if (defined (my $cwnfkcc = property_ref('Changes_When_NFKC_Casefolded')))
+    {
+        push @special_delta_properties, $cwnfkcc;
+        $restricted_delta{$special_delta_properties[-1]} = ~ $DI;
+    }
+
+    calculate_NChar();      # Non-character code points
+    $NChar &= $unchanged;
+
+    # This may have to be updated from time-to-time to get the most accurate
+    # results.
+    my $default_BC_non_LtoR = Range_List->new(Initialize =>
+                        # These came from the comments in v8.0 DBidiClass.txt
+                                                        [ # AL
+                                                            0x0600 .. 0x07BF,
+                                                            0x08A0 .. 0x08FF,
+                                                            0xFB50 .. 0xFDCF,
+                                                            0xFDF0 .. 0xFDFF,
+                                                            0xFE70 .. 0xFEFF,
+                                                            0x1EE00 .. 0x1EEFF,
+                                                           # R
+                                                            0x0590 .. 0x05FF,
+                                                            0x07C0 .. 0x089F,
+                                                            0xFB1D .. 0xFB4F,
+                                                            0x10800 .. 0x10FFF,
+                                                            0x1E800 .. 0x1EDFF,
+                                                            0x1EF00 .. 0x1EFFF,
+                                                           # ET
+                                                            0x20A0 .. 0x20CF,
+                                                         ]
+                                          );
+    $default_BC_non_LtoR += $DI + $NChar;
+    push @special_delta_properties, property_ref('BidiClass');
+    $restricted_delta{$special_delta_properties[-1]} = ~ $default_BC_non_LtoR;
+
+    if (defined (my $eaw = property_ref('East_Asian_Width'))) {
+
+        my $default_EA_width_W = Range_List->new(Initialize =>
+                                    # From comments in v8.0 EastAsianWidth.txt
+                                                [
+                                                    0x3400 .. 0x4DBF,
+                                                    0x4E00 .. 0x9FFF,
+                                                    0xF900 .. 0xFAFF,
+                                                    0x20000 .. 0x2A6DF,
+                                                    0x2A700 .. 0x2B73F,
+                                                    0x2B740 .. 0x2B81F,
+                                                    0x2B820 .. 0x2CEAF,
+                                                    0x2F800 .. 0x2FA1F,
+                                                    0x20000 .. 0x2FFFD,
+                                                    0x30000 .. 0x3FFFD,
+                                                ]
+                                             );
+        push @special_delta_properties, $eaw;
+        $restricted_delta{$special_delta_properties[-1]}
+                                                       = ~ $default_EA_width_W;
+
+        # Line break came along in the same release as East_Asian_Width, and
+        # the non-grab-bag default set is a superset of the EAW one.
+        if (defined (my $lb = property_ref('Line_Break'))) {
+            my $default_LB_non_XX = Range_List->new(Initialize =>
+                                        # From comments in v8.0 LineBreak.txt
+                                                        [ 0x20A0 .. 0x20CF ]);
+            $default_LB_non_XX += $default_EA_width_W;
+            push @special_delta_properties, $lb;
+            $restricted_delta{$special_delta_properties[-1]}
+                                                        = ~ $default_LB_non_XX;
+        }
+    }
+
+    # Go through every property, skipping those we've already worked on, those
+    # that are immutable, and the perl ones that will be calculated after this
+    # routine has done its fixup.
+    foreach my $property (property_ref('*')) {
+        next if    $property == $perl     # Done later in the program
+                || $property == $block    # Done just above
+                || $property == $DI       # Done just above
+                || $property == $NChar    # Done just above
+
+                   # The next two are invariant across Unicode versions
+                || $property == property_ref('Pattern_Syntax')
+                || $property == property_ref('Pattern_White_Space');
+
+        #  Find the grab-bag value.
+        my $default_map = $property->default_map;
+
+        if (! $property->to_create_match_tables) {
+
+            # Here there aren't any match tables.  So far, all such properties
+            # have a default map, and don't require special handling.  Just
+            # change each newly assigned code point back to the default map,
+            # as if they were unassigned.
+            foreach my $range ($delta->ranges) {
+                $property->add_map($range->start,
+                                $range->end,
+                                $default_map,
+                                Replace => $UNCONDITIONALLY);
+            }
+        }
+        else {  # Here there are match tables.  Find the one (if any) for the
+                # grab-bag value that unassigned code points go to.
+            my $default_table;
+            if (defined $default_map) {
+                $default_table = $property->table($default_map);
+            }
+
+            # If some code points don't go back to the the grab-bag when they
+            # are considered unassigned, exclude them from the list that does
+            # that.
+            my $this_delta = $delta;
+            my $this_unchanged = $unchanged;
+            if (grep { $_ == $property } @special_delta_properties) {
+                $this_delta = $delta & $restricted_delta{$property};
+                $this_unchanged = ~ $this_delta;
+            }
+
+            # Fix up each match table for this property.
+            foreach my $table ($property->tables) {
+                if (defined $default_table && $table == $default_table) {
+
+                    # The code points assigned after release X (the ones we
+                    # are excluding in this routine) go back on to the default
+                    # (grab-bag) table.  However, some of these tables don't
+                    # actually exist, but are specified solely by the other
+                    # tables.  (In a binary property, we don't need to
+                    # actually have an 'N' table, as it's just the complement
+                    # of the 'Y' table.)  Such tables will be locked, so just
+                    # skip those.
+                    $table += $this_delta unless $table->locked;
+                }
+                else {
+
+                    # Here the table is not for the default value.  We need to
+                    # subtract the code points we are ignoring for this
+                    # comparison (the deltas) from it.  But if the table
+                    # started out with nothing, no need to exclude anything,
+                    # and want to skip it here anyway, so it gets listed
+                    # properly in the pod.
+                    next if $table->is_empty;
+
+                    # Save the deltas for later, before we do the subtraction
+                    my $deltas = $table & $this_delta;
+
+                    $table &= $this_unchanged;
+
+                    # Suppress the table if the subtraction left it with
+                    # nothing in it
+                    if ($table->is_empty) {
+                        if ($property->type == $BINARY) {
+                            push @tables_that_may_be_empty, $table->complete_name;
+                        }
+                        else {
+                            $table->set_fate($SUPPRESSED, $after_first_version);
+                        }
+                    }
+
+                    # Now we add the removed code points to the property's
+                    # map, as they should now map to the grab-bag default
+                    # property (which they did in the first comparison
+                    # version).  But we don't have to do this if the map is
+                    # only for internal use.
+                    if (defined $default_map && $property->to_output_map) {
+
+                        # The gc property has pseudo property values whose names
+                        # have length 1.  These are the union of all the
+                        # property values whose name is longer than 1 and
+                        # whose first letter is all the same.  The replacement
+                        # is done once for the longer-named tables.
+                        next if $property == $gc && length $table->name == 1;
+
+                        foreach my $range ($deltas->ranges) {
+                            $property->add_map($range->start,
+                                            $range->end,
+                                            $default_map,
+                                            Replace => $UNCONDITIONALLY);
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    # The above code doesn't work on 'gc=C', as it is a superset of the default
+    # ('Cn') table.  It's easiest to just special case it here.
+    my $C = $gc->table('C');
+    $C += $gc->table('Cn');
+
+    return;
+}
+
 sub compile_perl() {
     # Create perl-defined tables.  Almost all are part of the pseudo-property
     # named 'perl' internally to this program.  Many of these are recommended
@@ -14054,7 +14366,8 @@ sub compile_perl() {
                             );
 
     my $perl_surrogate = $perl->add_match_table('_Perl_Surrogate');
-    if (defined (my $Cs = $gc->table('Cs'))) {
+    my $Cs = $gc->table('Cs');
+    if (defined $Cs && ! $Cs->is_empty) {
         $perl_surrogate += $Cs;
     }
     else {
@@ -14541,7 +14854,7 @@ END
     ));
 
     # Construct the Present_In property from the Age property.
-    if (-e 'DAge.txt' && defined (my $age = property_ref('Age'))) {
+    if (-e 'DAge.txt' && defined $age) {
         my $default_map = $age->default_map;
         my $in = Property->new('In',
                                 Default_Map => $default_map,
@@ -14691,6 +15004,9 @@ END
         if ($v_version ge v2.0) {
             $quotemeta += $gc->table('Cf')
                        +  $gc->table('Cs');
+
+            # These are above the Unicode version 1 max
+            $quotemeta->add_range(0xE0000, 0xE0FFF);
         }
         $quotemeta += $gc->table('Cc')
                     - $Space;
@@ -14700,23 +15016,12 @@ END
                                                    0xFFF0 .. 0xFFFB,
                                                    0xE0000 .. 0xE0FFF,
                                                   ]);
-        $quotemeta += $temp & $Assigned;
+        $quotemeta += $temp;
     }
+    calculate_DI();
+    $quotemeta += $DI;
 
-    my $nchar = $perl->add_match_table('_Perl_Nchar',
-                                       Perl_Extension => 1,
-                                       Fate => $INTERNAL_ONLY);
-    if (defined (my $off_nchar = property_ref('Nchar'))) {
-        $nchar->initialize($off_nchar->table('Y'));
-    }
-    else {
-        $nchar->initialize([ 0xFFFE .. 0xFFFF ]);
-        if ($v_version ge v2.0) {   # First release with these nchars
-            for (my $i = 0x1FFFE; $i <= 0x10FFFE; $i += 0x10000) {
-                $nchar += [ $i .. $i+1 ];
-            }
-        }
-    }
+    calculate_NChar();
 
     # Finished creating all the perl properties.  All non-internal non-string
     # ones have a synonym of 'Is_' prefixed.  (Internal properties begin with
@@ -14743,9 +15048,7 @@ END
         # can give different annotations for each.
         $unassigned_sans_noncharacters = Range_List->new(
                                     Initialize => $gc->table('Unassigned'));
-        if (defined (my $nonchars = property_ref('Noncharacter_Code_Point'))) {
-            $unassigned_sans_noncharacters &= $nonchars->table('N');
-        }
+        $unassigned_sans_noncharacters &= (~ $NChar);
 
         for (my $i = 0; $i <= $MAX_UNICODE_CODEPOINT + 1; $i++ ) {
             $i = populate_char_info($i);    # Note sets $i so may cause skips
@@ -14846,11 +15149,12 @@ sub add_perl_synonyms() {
                     my $status = $alias->status;
                     if ($nominal_property == $block) {
 
-                        # For block properties, the 'In' form is preferred for
-                        # external use; the pod file contains wild cards for
-                        # this and the 'Is' form so no entries for those; and
-                        # we don't want people using the name without the
-                        # 'In', so discourage that.
+                        # For block properties, only the compound form is
+                        # preferred for external use; the others are
+                        # discouraged.  The pod file contains wild cards for
+                        # the 'In' and 'Is' forms so no entries for those; and
+                        # we don't want people using the name without any
+                        # prefix, so discourage that.
                         if ($prefix eq "") {
                             $make_re_pod_entry = 1;
                             $status = $status || $DISCOURAGED;
@@ -14858,7 +15162,7 @@ sub add_perl_synonyms() {
                         }
                         elsif ($prefix eq 'In_') {
                             $make_re_pod_entry = 0;
-                            $status = $status || $NORMAL;
+                            $status = $status || $DISCOURAGED;
                             $ok_as_filename = 1;
                         }
                         else {
@@ -15637,7 +15941,7 @@ sub make_re_pod_entries($) {
                 # And if this is a compound form name, see if there is a
                 # single form equivalent
                 my $single_form;
-                if ($table_property != $perl) {
+                if ($table_property != $perl && $table_property != $block) {
 
                     # Special case the binary N tables, so that will print
                     # \P{single}, but use the Y table values to populate
@@ -16005,20 +16309,22 @@ sub make_pod () {
                                                 '\p{Block: *}'
                                                     . (($has_In_conflicts)
                                                       ? " $exception_message"
-                                                      : ""));
+                                                      : ""),
+                                                 $DISCOURAGED);
         @block_warning = << "END";
 
-Matches in the Block property have shortcuts that begin with "In_".  For
-example, C<\\p{Block=Latin1}> can be written as C<\\p{In_Latin1}>.  For
-backward compatibility, if there is no conflict with another shortcut, these
-may also be written as C<\\p{Latin1}> or C<\\p{Is_Latin1}>.  But, N.B., there
-are numerous such conflicting shortcuts.  Use of these forms for Block is
-discouraged, and are flagged as such, not only because of the potential
-confusion as to what is meant, but also because a later release of Unicode may
-preempt the shortcut, and your program would no longer be correct.  Use the
-"In_" form instead to avoid this, or even more clearly, use the compound form,
-e.g., C<\\p{blk:latin1}>.  See L<perlunicode/"Blocks"> for more information
-about this.
+In particular, matches in the Block property have single forms
+defined by Perl that begin with C<"In_">, C<"Is_>, or even with no prefix at
+all,  Like all B<DISCOURAGED> forms, these are not stable.  For example,
+C<\\p{Block=Deseret}> can currently be written as C<\\p{In_Deseret}>,
+C<\\p{Is_Deseret}>, or C<\\p{Deseret}>.  But, a new Unicode version may
+come along that would force Perl to change the meaning of one or more of
+these, and your program would no longer be correct.  Currently there are no
+such conflicts with the form that begins C<"In_">, but there are many with the
+other two shortcuts, and Unicode continues to define new properties that begin
+with C<"In">, so it's quite possible that a conflict will occur in the future.
+The compound form is guaranteed to not become obsolete, and its meaning is
+clearer anyway.  See L<perlunicode/"Blocks"> for more information about this.
 END
     }
     my $text = $Is_flags_text;
@@ -16219,7 +16525,7 @@ To change this file, edit $0 instead.
 
 =head1 NAME
 
-$pod_file - Index of Unicode Version $string_version character properties in Perl
+$pod_file - Index of Unicode Version $unicode_version character properties in Perl
 
 =head1 DESCRIPTION
 
@@ -16361,18 +16667,21 @@ Properties marked with $a_bold_obsolete in the table are considered (plain)
 obsolete.  Generally this designation is given to properties that Unicode once
 used for internal purposes (but not any longer).
 
-=back
+=item Discouraged
 
-Some Perl extensions are present for backwards compatibility and are
-discouraged from being used, but are not obsolete.  $A_bold_discouraged
-flags each such entry in the table.  Future Unicode versions may force
-some of these extensions to be removed without warning, replaced by another
-property with the same name that means something different.  Use the
-equivalent shown instead.
+This is not actually a Unicode-specified obsolescence, but applies to certain
+Perl extensions that are present for backwards compatibility, but are
+discouraged from being used.  These are not obsolete, but their meanings are
+not stable.  Future Unicode versions could force any of these extensions to be
+removed without warning, replaced by another property with the same name that
+means something different.  $A_bold_discouraged flags each such entry in the
+table.  Use the equivalent shown instead.
+
+@block_warning
 
 =back
 
-@block_warning
+=back
 
 The table below has two columns.  The left column contains the C<\\p{}>
 constructs to look up, possibly preceded by the flags mentioned above; and
@@ -18307,15 +18616,11 @@ my $Validation_Documentation = "Documentation of validation Tests";
 # This is a list of the input files and how to handle them.  The files are
 # processed in their order in this list.  Some reordering is possible if
 # desired, but the PropertyAliases and PropValueAliases files should be first,
-# and the extracted before the others except DAge.txt (as data in an extracted
-# file can be over-ridden by the non-extracted.  Some other files depend on
-# data derived from an earlier file, like UnicodeData requires data from Jamo,
-# and the case changing and folding requires data from Unicode.  Mostly, it is
-# safest to order by first version releases in (except the Jamo).  DAge.txt is
-# read before the extracted ones because of the rarely used feature
-# $compare_versions.  In the unlikely event that there were ever an extracted
-# file that contained the Age property information, it would have to go in
-# front of DAge.
+# and the extracted before the others (as data in an extracted file can be
+# over-ridden by the non-extracted.  Some other files depend on data derived
+# from an earlier file, like UnicodeData requires data from Jamo, and the case
+# changing and folding requires data from Unicode.  Mostly, it is safest to
+# order by first version releases in (except the Jamo).
 #
 # The version strings allow the program to know whether to expect a file or
 # not, but if a file exists in the directory, it will be processed, even if it
@@ -18337,10 +18642,6 @@ my @input_file_objects = (
                      Has_Missings_Defaults => $NOT_IGNORED,
                      Required_Even_in_Debug_Skip => 1,
                     ),
-    Input_file->new('DAge.txt', v3.2.0,
-                    Has_Missings_Defaults => $NOT_IGNORED,
-                    Property => 'Age'
-                   ),
     Input_file->new("${EXTRACTED}DGeneralCategory.txt", v3.1.0,
                     Property => 'General_Category',
                    ),
@@ -18562,6 +18863,10 @@ my @input_file_objects = (
                     Withdrawn => v5.1,
                     Skip => $Documentation,
                    ),
+    Input_file->new('DAge.txt', v3.2.0,
+                    Has_Missings_Defaults => $NOT_IGNORED,
+                    Property => 'Age'
+                   ),
     Input_file->new('HangulSyllableType.txt', v4.0,
                     Has_Missings_Defaults => $NOT_IGNORED,
                     Early => [ \&generate_hst, 'Hangul_Syllable_Type' ],
@@ -18799,7 +19104,7 @@ if (@missing_early_files) {
 
 The compilation cannot be completed because one or more required input files,
 listed below, are missing.  This is because you are compiling Unicode version
-$string_version, which predates the existence of these file(s).  To fully
+$unicode_version, which predates the existence of these file(s).  To fully
 function, perl needs the data that these files would have contained if they
 had been in this release.  To work around this, create copies of later
 versions of the missing files in the directory containing '$0'.  (Perl will
@@ -19040,6 +19345,11 @@ foreach my $file (@input_file_objects) {
 print "Finishing processing Unicode properties\n" if $verbosity >= $PROGRESS;
 finish_Unicode();
 
+# For the very specialized case of comparing two Unicode versions...
+if (DEBUG && $compare_versions) {
+    handle_compare_versions();
+}
+
 print "Compiling Perl properties\n" if $verbosity >= $PROGRESS;
 compile_perl();
 
index bf722f3..d90361d 100644 (file)
@@ -124,10 +124,10 @@ no utf8; # Ironic, no?
     my $progfile = 'utf' . $$;
     END {unlink_all $progfile}
 
-    # If I'm right 60 is '>' in ASCII, ' ' in EBCDIC
-    # 173 is not punctuation in either ASCII or EBCDIC
+    # 64 is '@' in ASCII, ' ' in EBCDIC
+    # 193 is not punctuation in either ASCII nor EBCDIC
     my (@char);
-    foreach (60, 173, 257, 65532) {
+    foreach (64, 193, 257, 65532) {
       my $char = chr $_;
       utf8::encode($char);
       # I don't want to use map {ord} and I've no need to hardcode the UTF
@@ -143,11 +143,11 @@ no utf8; # Ironic, no?
     # Now we've done all the UTF8 munching hopefully we're safe
     my @tests = (
              ['check our detection program works',
-              'my @a = ("'.chr(60).'\x2A", ""); $b = show @a', qr/^>60,42<><$/],
+              'my @a = ("'.chr(64).'\x2A", ""); $b = show @a', qr/^>64,42<><$/],
              ['check literal 8 bit input',
-              '$a = "' . chr (173) . '"; $b = show $a', qr/^>173<$/],
+              '$a = "' . chr (193) . '"; $b = show $a', qr/^>193<$/],
              ['check no utf8; makes no change',
-              'no utf8; $a = "' . chr (173) . '"; $b = show $a', qr/^>173<$/],
+              'no utf8; $a = "' . chr (193) . '"; $b = show $a', qr/^>193<$/],
              # Now we do the real byte sequences that are valid UTF8
              (map {
                ["the utf8 sequence for chr $_->[0]",
@@ -270,15 +270,28 @@ BANG
 #   "my" variable $strict::VERSION can't be in a package
 #
 SKIP: {
-    skip("Embedded UTF-8 does not work in EBCDIC", 1) if ord("A") == 193;
-    ok('' eq runperl(prog => <<'CODE'), "change #17928");
-       my $code = qq{ my \$\xe3\x83\x95\xe3\x83\xbc = 5; };
-    {
-       use utf8;
-       eval $code;
-       print $@ if $@;
+    skip("Haven't bothered to port this to EBCDIC non-1047", 1) if $::IS_EBCDIC
+                                                                && ord '^' != 95;
+    if ($::IS_ASCII) {
+        ok('' eq runperl(prog => <<'CODE'), "change #17928");
+            my $code = qq{ my \$\xe3\x83\x95\xe3\x83\xbc = 5; };
+        {
+            use utf8;
+            eval $code;
+            print $@ if $@;
+        }
+CODE
     }
+    else {
+        ok('' eq runperl(prog => <<'CODE'), "change #17928");
+            my $code = qq{ my \$\xCE\x47\x64\xCE\x48\x70 = 5; };
+        {
+            use utf8;
+            eval $code;
+            print $@ if $@;
+        }
 CODE
+    }
 }
 
 {
@@ -324,11 +337,19 @@ END
 }
 
 SKIP: {
-    skip("Embedded UTF-8 does not work in EBCDIC", 1) if ord("A") == 193;
+    skip("Haven't bothered to port this to EBCDIC non-1047", 1) if $::IS_EBCDIC
+                                                                && ord '^' != 95;
     use utf8;
-    is eval qq{q \xc3\xbc test \xc3\xbc . qq\xc2\xb7 test \xc2\xb7},
-      ' test  test ',
-      "utf8 quote delimiters [perl #16823]";
+    if ($::IS_ASCII) {
+        is eval qq{q \xc3\xbc test \xc3\xbc . qq\xc2\xb7 test \xc2\xb7},
+        ' test  test ',
+        "utf8 quote delimiters [perl #16823]";
+    }
+    else {
+        is eval qq{q \x8B\x70 test \x8B\x70 . qq\x80\x66 test \x80\x66},
+        ' test  test ',
+        "utf8 quote delimiters [perl #16823]";
+    }
 }
 
 # Test the "internals".
@@ -336,88 +357,110 @@ SKIP: {
 {
     my $a = "A";
     my $b = chr(0x0FF);
-    my $c = chr(0x100);
+    my $c = chr(0x0DF);  # FF is invariant in many EBCDIC pages, so is not a
+                         # fair test of 'beyond'; but DF is variant (in all
+                         # supported EBCDIC pages so far), so make 2 'beyond'
+                         # tests
+    my $d = chr(0x100);
 
     ok( utf8::valid($a), "utf8::valid basic");
     ok( utf8::valid($b), "utf8::valid beyond");
-    ok( utf8::valid($c), "utf8::valid unicode");
+    ok( utf8::valid($c), "utf8::valid beyond");
+    ok( utf8::valid($d), "utf8::valid unicode");
 
     ok(!utf8::is_utf8($a), "!utf8::is_utf8 basic");
     ok(!utf8::is_utf8($b), "!utf8::is_utf8 beyond");
-    ok( utf8::is_utf8($c), "utf8::is_utf8 unicode");
+    ok(!utf8::is_utf8($c), "!utf8::is_utf8 beyond");
+    ok( utf8::is_utf8($d), "utf8::is_utf8 unicode");
 
     is(utf8::upgrade($a), 1, "utf8::upgrade basic");
-    if (ord('A') == 193) { # EBCDIC.
+    if ($::IS_EBCDIC) { # EBCDIC.
        is(utf8::upgrade($b), 1, "utf8::upgrade beyond");
     } else {
        is(utf8::upgrade($b), 2, "utf8::upgrade beyond");
     }
-    is(utf8::upgrade($c), 2, "utf8::upgrade unicode");
+    is(utf8::upgrade($c), 2, "utf8::upgrade beyond");
+    is(utf8::upgrade($d), 2, "utf8::upgrade unicode");
 
     is($a, "A",       "basic");
     is($b, "\xFF",    "beyond");
-    is($c, "\x{100}", "unicode");
+    is($c, "\xDF",    "beyond");
+    is($d, "\x{100}", "unicode");
 
     ok( utf8::valid($a), "utf8::valid basic");
     ok( utf8::valid($b), "utf8::valid beyond");
-    ok( utf8::valid($c), "utf8::valid unicode");
+    ok( utf8::valid($c), "utf8::valid beyond");
+    ok( utf8::valid($d), "utf8::valid unicode");
 
     ok( utf8::is_utf8($a), "utf8::is_utf8 basic");
     ok( utf8::is_utf8($b), "utf8::is_utf8 beyond");
-    ok( utf8::is_utf8($c), "utf8::is_utf8 unicode");
+    ok( utf8::is_utf8($c), "utf8::is_utf8 beyond");
+    ok( utf8::is_utf8($d), "utf8::is_utf8 unicode");
 
     is(utf8::downgrade($a), 1, "utf8::downgrade basic");
     is(utf8::downgrade($b), 1, "utf8::downgrade beyond");
+    is(utf8::downgrade($c), 1, "utf8::downgrade beyond");
 
     is($a, "A",       "basic");
     is($b, "\xFF",    "beyond");
+    is($c, "\xDF",    "beyond");
 
     ok( utf8::valid($a), "utf8::valid basic");
     ok( utf8::valid($b), "utf8::valid beyond");
+    ok( utf8::valid($c), "utf8::valid beyond");
 
     ok(!utf8::is_utf8($a), "!utf8::is_utf8 basic");
     ok(!utf8::is_utf8($b), "!utf8::is_utf8 beyond");
+    ok(!utf8::is_utf8($c), "!utf8::is_utf8 beyond");
 
     utf8::encode($a);
     utf8::encode($b);
     utf8::encode($c);
+    utf8::encode($d);
 
     is($a, "A",       "basic");
-    if (ord('A') == 193) { # EBCDIC.
+    if ($::IS_EBCDIC) { # EBCDIC.
        is(length($b), 1, "beyond length");
     } else {
        is(length($b), 2, "beyond length");
     }
-    is(length($c), 2, "unicode length");
+    is(length($c), 2, "beyond length");
+    is(length($d), 2, "unicode length");
 
     ok(utf8::valid($a), "utf8::valid basic");
     ok(utf8::valid($b), "utf8::valid beyond");
-    ok(utf8::valid($c), "utf8::valid unicode");
+    ok(utf8::valid($c), "utf8::valid beyond");
+    ok(utf8::valid($d), "utf8::valid unicode");
 
     # encode() clears the UTF-8 flag (unlike upgrade()).
     ok(!utf8::is_utf8($a), "!utf8::is_utf8 basic");
     ok(!utf8::is_utf8($b), "!utf8::is_utf8 beyond");
-    ok(!utf8::is_utf8($c), "!utf8::is_utf8 unicode");
+    ok(!utf8::is_utf8($c), "!utf8::is_utf8 beyond");
+    ok(!utf8::is_utf8($d), "!utf8::is_utf8 unicode");
 
     utf8::decode($a);
     utf8::decode($b);
     utf8::decode($c);
+    utf8::decode($d);
 
     is($a, "A",       "basic");
     is($b, "\xFF",    "beyond");
-    is($c, "\x{100}", "unicode");
+    is($c, "\xDF",    "beyond");
+    is($d, "\x{100}", "unicode");
 
     ok(utf8::valid($a), "!utf8::valid basic");
     ok(utf8::valid($b), "!utf8::valid beyond");
-    ok(utf8::valid($c), " utf8::valid unicode");
+    ok(utf8::valid($c), "!utf8::valid beyond");
+    ok(utf8::valid($d), " utf8::valid unicode");
 
     ok(!utf8::is_utf8($a), "!utf8::is_utf8 basic");
-    if (ord('A') == 193) { # EBCDIC.
+    if ($::IS_EBCDIC) { # EBCDIC.
        ok( utf8::is_utf8(pack('U',0x0ff)), " utf8::is_utf8 beyond");
     } else {
        ok( utf8::is_utf8($b), " utf8::is_utf8 beyond"); # $b stays in UTF-8.
     }
-    ok( utf8::is_utf8($c), " utf8::is_utf8 unicode");
+    ok( utf8::is_utf8($c), " utf8::is_utf8 beyond"); # $c stays in UTF-8.
+    ok( utf8::is_utf8($d), " utf8::is_utf8 unicode");
 }
 
 {
index 9b0979d..53ae151 100644 (file)
--- a/locale.c
+++ b/locale.c
@@ -569,6 +569,8 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
     }
 
     result = setlocale(category, locale);
+    DEBUG_L(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n", __FILE__, __LINE__,
+                            _setlocale_debug_string(category, locale, result)));
 
     if (! override_LC_ALL)  {
         return result;
@@ -583,41 +585,63 @@ Perl_my_setlocale(pTHX_ int category, const char* locale)
     result = PerlEnv_getenv("LC_TIME");
     if (result && strNE(result, "")) {
         setlocale(LC_TIME, result);
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                    __FILE__, __LINE__,
+                    _setlocale_debug_string(LC_TIME, result, "not captured")));
     }
 #   endif
 #   ifdef USE_LOCALE_CTYPE
     result = PerlEnv_getenv("LC_CTYPE");
     if (result && strNE(result, "")) {
         setlocale(LC_CTYPE, result);
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                    __FILE__, __LINE__,
+                    _setlocale_debug_string(LC_CTYPE, result, "not captured")));
     }
 #   endif
 #   ifdef USE_LOCALE_COLLATE
     result = PerlEnv_getenv("LC_COLLATE");
     if (result && strNE(result, "")) {
         setlocale(LC_COLLATE, result);
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                  __FILE__, __LINE__,
+                  _setlocale_debug_string(LC_COLLATE, result, "not captured")));
     }
 #   endif
 #   ifdef USE_LOCALE_MONETARY
     result = PerlEnv_getenv("LC_MONETARY");
     if (result && strNE(result, "")) {
         setlocale(LC_MONETARY, result);
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                 __FILE__, __LINE__,
+                 _setlocale_debug_string(LC_MONETARY, result, "not captured")));
     }
 #   endif
 #   ifdef USE_LOCALE_NUMERIC
     result = PerlEnv_getenv("LC_NUMERIC");
     if (result && strNE(result, "")) {
         setlocale(LC_NUMERIC, result);
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                 __FILE__, __LINE__,
+                 _setlocale_debug_string(LC_NUMERIC, result, "not captured")));
     }
 #   endif
 #   ifdef USE_LOCALE_MESSAGES
     result = PerlEnv_getenv("LC_MESSAGES");
     if (result && strNE(result, "")) {
         setlocale(LC_MESSAGES, result);
+        DEBUG_Lv(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                 __FILE__, __LINE__,
+                 _setlocale_debug_string(LC_MESSAGES, result, "not captured")));
     }
 #   endif
 
-    return setlocale(LC_ALL, NULL);
+    result = setlocale(LC_ALL, NULL);
+    DEBUG_L(PerlIO_printf(Perl_debug_log, "%s:%d: %s\n",
+                               __FILE__, __LINE__,
+                               _setlocale_debug_string(LC_ALL, NULL, result)));
 
+    return result;
 }
 
 #endif
@@ -639,7 +663,42 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
      *    1 = set ok or not applicable,
      *    0 = fallback to a locale of lower priority
      *   -1 = fallback to all locales failed, not even to the C locale
-     */
+     *
+     * Under -DDEBUGGING, if the environment variable PERL_DEBUG_LOCALE_INIT is
+     * set, debugging information is output.
+     *
+     * This looks more complicated than it is, mainly due to the #ifdefs.
+     *
+     * We try to set LC_ALL to the value determined by the environment.  If
+     * there is no LC_ALL on this platform, we try the individual categories we
+     * know about.  If this works, we are done.
+     *
+     * But if it doesn't work, we have to do something else.  We search the
+     * environment variables ourselves instead of relying on the system to do
+     * it.  We look at, in order, LC_ALL, LANG, a system default locale (if we
+     * think there is one), and the ultimate fallback "C".  This is all done in
+     * the same loop as above to avoid duplicating code, but it makes things
+     * more complex.  After the original failure, we add the fallback
+     * possibilities to the list of locales to try, and iterate the loop
+     * through them all until one succeeds.
+     *
+     * On Ultrix, the locale MUST come from the environment, so there is
+     * preliminary code to set it.  I (khw) am not sure that it is necessary,
+     * and that this couldn't be folded into the loop, but barring any real
+     * platforms to test on, it's staying as-is
+     *
+     * A slight complication is that in embedded Perls, the locale may already
+     * be set-up, and we don't want to get it from the normal environment
+     * variables.  This is handled by having a special environment variable
+     * indicate we're in this situation.  We simply set setlocale's 2nd
+     * parameter to be a NULL instead of "".  That indicates to setlocale that
+     * it is not to change anything, but to return the current value,
+     * effectively initializing perl's db to what the locale already is.
+     *
+     * We play the same trick with NULL if a LC_ALL succeeds.  We call
+     * setlocale() on the individual categores with NULL to get their existing
+     * values for our db, instead of trying to change them.
+     * */
 
     int ok = 1;
 
@@ -661,6 +720,24 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
     const char * const setlocale_init = (PerlEnv_getenv("PERL_SKIP_LOCALE_INIT"))
                                         ? NULL
                                         : "";
+#ifdef DEBUGGING
+    const bool debug = (PerlEnv_getenv("PERL_DEBUG_LOCALE_INIT"))
+                       ? TRUE
+                       : FALSE;
+#   define DEBUG_LOCALE_INIT(category, locale, result)                      \
+       STMT_START {                                                        \
+               if (debug) {                                                \
+                    PerlIO_printf(Perl_debug_log,                           \
+                                  "%s:%d: %s\n",                            \
+                                  __FILE__, __LINE__,                       \
+                                  _setlocale_debug_string(category,         \
+                                                          locale,           \
+                                                          result));         \
+                }                                                           \
+       } STMT_END
+#else
+#   define DEBUG_LOCALE_INIT(a,b,c)
+#endif
     const char* trial_locales[5];   /* 5 = 1 each for "", LC_ALL, LANG, "", C */
     unsigned int trial_locales_count;
     const char * const lc_all     = savepv(PerlEnv_getenv("LC_ALL"));
@@ -680,6 +757,8 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
                                     *bad_lang_use_once
                                     && strNE("0", bad_lang_use_once)))));
     bool done = FALSE;
+    char * sl_result;   /* return from setlocale() */
+    char * locale_param;
 #ifdef WIN32
     /* In some systems you can find out the system default locale
      * and use that as the fallback locale. */
@@ -691,6 +770,7 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
 
 #ifndef LOCALE_ENVIRON_REQUIRED
     PERL_UNUSED_VAR(done);
+    PERL_UNUSED_VAR(locale_param);
 #else
 
     /*
@@ -700,52 +780,64 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
 
 #   ifdef LC_ALL
     if (lang) {
-       if (my_setlocale(LC_ALL, setlocale_init))
+       sl_result = my_setlocale(LC_ALL, setlocale_init);
+        DEBUG_LOCALE_INIT(LC_ALL, setlocale_init, sl_result);
+       if (sl_result)
            done = TRUE;
        else
            setlocale_failure = TRUE;
     }
-    if (!setlocale_failure) {
+    if (! setlocale_failure) {
 #       ifdef USE_LOCALE_CTYPE
-       if (! (curctype =
-              my_setlocale(LC_CTYPE,
-                        (!done && (lang || PerlEnv_getenv("LC_CTYPE")))
-                                   ? setlocale_init : NULL)))
+        locale_param = (! done && (lang || PerlEnv_getenv("LC_CTYPE")))
+                       ? setlocale_init
+                       : NULL;
+       curctype = my_setlocale(LC_CTYPE, locale_param);
+        DEBUG_LOCALE_INIT(LC_CTYPE, locale_param, sl_result);
+       if (! curctype)
            setlocale_failure = TRUE;
        else
            curctype = savepv(curctype);
 #       endif /* USE_LOCALE_CTYPE */
 #       ifdef USE_LOCALE_COLLATE
-       if (! (curcoll =
-              my_setlocale(LC_COLLATE,
-                        (!done && (lang || PerlEnv_getenv("LC_COLLATE")))
-                                  ? setlocale_init : NULL)))
+        locale_param = (! done && (lang || PerlEnv_getenv("LC_COLLATE")))
+                       ? setlocale_init
+                       : NULL;
+       curcoll = my_setlocale(LC_COLLATE, locale_param);
+        DEBUG_LOCALE_INIT(LC_COLLATE, locale_param, sl_result);
+       if (! curcoll)
            setlocale_failure = TRUE;
        else
            curcoll = savepv(curcoll);
 #       endif /* USE_LOCALE_COLLATE */
 #       ifdef USE_LOCALE_NUMERIC
-       if (! (curnum =
-              my_setlocale(LC_NUMERIC,
-                        (!done && (lang || PerlEnv_getenv("LC_NUMERIC")))
-                                 ? setlocale_init : NULL)))
+        locale_param = (! done && (lang || PerlEnv_getenv("LC_NUMERIC")))
+                       ? setlocale_init
+                       : NULL;
+       curnum = my_setlocale(LC_NUMERIC, locale_param);
+        DEBUG_LOCALE_INIT(LC_NUMERIC, locale_param, sl_result);
+       if (! curnum)
            setlocale_failure = TRUE;
        else
            curnum = savepv(curnum);
 #       endif /* USE_LOCALE_NUMERIC */
 #       ifdef USE_LOCALE_MESSAGES
-       if (! my_setlocale(LC_MESSAGES,
-                        (!done && (lang || PerlEnv_getenv("LC_MESSAGES")))
-                                 ? setlocale_init : NULL))
-        {
+        locale_param = (! done && (lang || PerlEnv_getenv("LC_MESSAGES")))
+                       ? setlocale_init
+                       : NULL;
+       sl_result = my_setlocale(LC_MESSAGES, locale_param);
+        DEBUG_LOCALE_INIT(LC_MESSAGES, locale_param, sl_result);
+       if (! sl_result)
            setlocale_failure = TRUE;
         }
 #       endif /* USE_LOCALE_MESSAGES */
 #       ifdef USE_LOCALE_MONETARY
-       if (! my_setlocale(LC_MONETARY,
-                        (!done && (lang || PerlEnv_getenv("LC_MONETARY")))
-                                 ? setlocale_init : NULL))
-        {
+        locale_param = (! done && (lang || PerlEnv_getenv("LC_MONETARY")))
+                       ? setlocale_init
+                       : NULL;
+       sl_result = my_setlocale(LC_MONETARY, locale_param);
+        DEBUG_LOCALE_INIT(LC_MONETARY, locale_param, sl_result);
+       if (! sl_result) {
            setlocale_failure = TRUE;
         }
 #       endif /* USE_LOCALE_MONETARY */
@@ -781,6 +873,7 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
                 /* Note that this may change the locale, but we are going to do
                  * that anyway just below */
                 system_default_locale = setlocale(LC_ALL, "");
+                DEBUG_LOCALE_INIT(LC_ALL, "", system_default_locale);
 
                 /* Skip if invalid or it's already on the list of locales to
                  * try */
@@ -800,7 +893,9 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
         }
 
 #ifdef LC_ALL
-        if (! my_setlocale(LC_ALL, trial_locale)) {
+        sl_result = my_setlocale(LC_ALL, trial_locale);
+        DEBUG_LOCALE_INIT(LC_ALL, trial_locale, sl_result);
+        if (! sl_result) {
             setlocale_failure = TRUE;
         }
         else {
@@ -818,31 +913,41 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
         if (!setlocale_failure) {
 #ifdef USE_LOCALE_CTYPE
             Safefree(curctype);
-            if (! (curctype = my_setlocale(LC_CTYPE, trial_locale)))
+            curctype = my_setlocale(LC_CTYPE, trial_locale);
+            DEBUG_LOCALE_INIT(LC_CTYPE, trial_locale, curctype);
+            if (! curctype)
                 setlocale_failure = TRUE;
             else
                 curctype = savepv(curctype);
 #endif /* USE_LOCALE_CTYPE */
 #ifdef USE_LOCALE_COLLATE
             Safefree(curcoll);
-            if (! (curcoll = my_setlocale(LC_COLLATE, trial_locale)))
+            curcoll = my_setlocale(LC_COLLATE, trial_locale);
+            DEBUG_LOCALE_INIT(LC_COLLATE, trial_locale, curcoll);
+            if (! curcoll)
                 setlocale_failure = TRUE;
             else
                 curcoll = savepv(curcoll);
 #endif /* USE_LOCALE_COLLATE */
 #ifdef USE_LOCALE_NUMERIC
             Safefree(curnum);
-            if (! (curnum = my_setlocale(LC_NUMERIC, trial_locale)))
+            curnum = my_setlocale(LC_NUMERIC, trial_locale);
+            DEBUG_LOCALE_INIT(LC_NUMERIC, trial_locale, curnum);
+            if (! curnum)
                 setlocale_failure = TRUE;
             else
                 curnum = savepv(curnum);
 #endif /* USE_LOCALE_NUMERIC */
 #ifdef USE_LOCALE_MESSAGES
-            if (! (my_setlocale(LC_MESSAGES, trial_locale)))
+            sl_result = my_setlocale(LC_MESSAGES, trial_locale);
+            DEBUG_LOCALE_INIT(LC_MESSAGES, trial_locale, sl_result);
+            if (! (sl_result))
                 setlocale_failure = TRUE;
 #endif /* USE_LOCALE_MESSAGES */
 #ifdef USE_LOCALE_MONETARY
-            if (! (my_setlocale(LC_MONETARY, trial_locale)))
+            sl_result = my_setlocale(LC_MONETARY, trial_locale);
+            DEBUG_LOCALE_INIT(LC_MONETARY, trial_locale, sl_result);
+            if (! (sl_result))
                 setlocale_failure = TRUE;
 #endif /* USE_LOCALE_MONETARY */
 
@@ -935,7 +1040,12 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
              * LANG, and the C locale.  We don't try the same locale twice, so
              * don't add to the list if already there.  (On POSIX systems, the
              * LC_ALL element will likely be a repeat of the 0th element "",
-             * but there's no harm done by doing it explicitly */
+             * but there's no harm done by doing it explicitly.
+             *
+             * Note that this tries the LC_ALL environment variable even on
+             * systems which have no LC_ALL locale setting.  This may or may
+             * not have been originally intentional, but there's no real need
+             * to change the behavior. */
             if (lc_all) {
                 for (j = 0; j < trial_locales_count; j++) {
                     if (strEQ(lc_all, trial_locales[j])) {
@@ -1000,14 +1110,17 @@ Perl_init_i18nl10n(pTHX_ int printwarn)
 #ifdef USE_LOCALE_CTYPE
             Safefree(curctype);
             curctype = savepv(setlocale(LC_CTYPE, NULL));
+            DEBUG_LOCALE_INIT(LC_CTYPE, NULL, curctype);
 #endif /* USE_LOCALE_CTYPE */
 #ifdef USE_LOCALE_COLLATE
             Safefree(curcoll);
             curcoll = savepv(setlocale(LC_COLLATE, NULL));
+            DEBUG_LOCALE_INIT(LC_COLLATE, NULL, curcoll);
 #endif /* USE_LOCALE_COLLATE */
 #ifdef USE_LOCALE_NUMERIC
             Safefree(curnum);
             curnum = savepv(setlocale(LC_NUMERIC, NULL));
+            DEBUG_LOCALE_INIT(LC_NUMERIC, NULL, curnum);
 #endif /* USE_LOCALE_NUMERIC */
         }
 
@@ -1749,6 +1862,95 @@ Perl_sync_locale(pTHX)
 
 }
 
+#if defined(DEBUGGING) && defined(USE_LOCALE)
+
+char *
+Perl__setlocale_debug_string(const int category,        /* category number,
+                                                           like LC_ALL */
+                            const char* const locale,   /* locale name */
+
+                            /* return value from setlocale() when attempting to
+                             * set 'category' to 'locale' */
+                            const char* const retval)
+{
+    /* Returns a pointer to a NUL-terminated string in static storage with
+     * added text about the info passed in.  This is not thread safe and will
+     * be overwritten by the next call, so this should be used just to
+     * formulate a string to immediately print or savepv() on. */
+
+    static char ret[128] = "";
+
+    my_strlcpy(ret, "setlocale(", sizeof(ret));
+
+    switch (category) {
+        default:
+            my_snprintf(ret, sizeof(ret), "%s? %d", ret, category);
+            break;
+#   ifdef LC_ALL
+        case LC_ALL:
+            my_strlcat(ret, "LC_ALL", sizeof(ret));
+            break;
+#   endif
+#   ifdef LC_CTYPE
+        case LC_CTYPE:
+            my_strlcat(ret, "LC_CTYPE", sizeof(ret));
+            break;
+#   endif
+#   ifdef LC_NUMERIC
+        case LC_NUMERIC:
+            my_strlcat(ret, "LC_NUMERIC", sizeof(ret));
+            break;
+#   endif
+#   ifdef LC_COLLATE
+        case LC_COLLATE:
+            my_strlcat(ret, "LC_COLLATE", sizeof(ret));
+            break;
+#   endif
+#   ifdef LC_TIME
+        case LC_TIME:
+            my_strlcat(ret, "LC_TIME", sizeof(ret));
+            break;
+#   endif
+#   ifdef LC_MONETARY
+        case LC_MONETARY:
+            my_strlcat(ret, "LC_MONETARY", sizeof(ret));
+            break;
+#   endif
+#   ifdef LC_MESSAGES
+        case LC_MESSAGES:
+            my_strlcat(ret, "LC_MESSAGES", sizeof(ret));
+            break;
+#   endif
+    }
+
+    my_strlcat(ret, ", ", sizeof(ret));
+
+    if (locale) {
+        my_strlcat(ret, "\"", sizeof(ret));
+        my_strlcat(ret, locale, sizeof(ret));
+        my_strlcat(ret, "\"", sizeof(ret));
+    }
+    else {
+        my_strlcat(ret, "NULL", sizeof(ret));
+    }
+
+    my_strlcat(ret, ") returned ", sizeof(ret));
+
+    if (retval) {
+        my_strlcat(ret, "\"", sizeof(ret));
+        my_strlcat(ret, retval, sizeof(ret));
+        my_strlcat(ret, "\"", sizeof(ret));
+    }
+    else {
+        my_strlcat(ret, "NULL", sizeof(ret));
+    }
+
+    assert(strlen(ret) < sizeof(ret));
+
+    return ret;
+}
+
+#endif
 
 
 /*
index 1fee334..d1adad0 100644 (file)
@@ -253,6 +253,7 @@ unless ($define{'DEBUGGING'}) {
                    Perl_debstackptrs
                    Perl_pad_sv
                    Perl_pad_setsv
+                    Perl__setlocale_debug_string
                    Perl_set_padlist
                    Perl_hv_assert
                    PL_watchaddr
index 7da0068..3187782 100644 (file)
--- a/mathoms.c
+++ b/mathoms.c
@@ -123,7 +123,7 @@ Perl_ref(pTHX_ OP *o, I32 type)
 Unsets the RV status of the SV, and decrements the reference count of
 whatever was being referenced by the RV.  This can almost be thought of
 as a reversal of C<newSVrv>.  This is C<sv_unref_flags> with the C<flag>
-being zero.  See C<SvROK_off>.
+being zero.  See C<L</SvROK_off>>.
 
 =cut
 */
@@ -258,7 +258,7 @@ Perl_sv_2pvutf8_nolen(pTHX_ SV *sv)
 
 Undo various types of fakery on an SV: if the PV is a shared string, make
 a private copy; if we're a ref, stop refing; if we're a glob, downgrade to
-an xpvmg.  See also C<sv_force_normal_flags>.
+an C<xpvmg>.  See also C<L</sv_force_normal_flags>>.
 
 =cut
 */
@@ -739,10 +739,10 @@ Perl_is_utf8_string_loc(pTHX_ const U8 *s, STRLEN len, const U8 **ep)
 =for apidoc sv_nolocking
 
 Dummy routine which "locks" an SV when there is no locking module present.
-Exists to avoid test for a NULL function pointer and because it could
+Exists to avoid test for a C<NULL> function pointer and because it could
 potentially warn under some level of strict-ness.
 
-"Superseded" by sv_nosharing().
+"Superseded" by C<sv_nosharing()>.
 
 =cut
 */
@@ -759,10 +759,10 @@ Perl_sv_nolocking(pTHX_ SV *sv)
 =for apidoc sv_nounlocking
 
 Dummy routine which "unlocks" an SV when there is no locking module present.
-Exists to avoid test for a NULL function pointer and because it could
+Exists to avoid test for a C<NULL> function pointer and because it could
 potentially warn under some level of strict-ness.
 
-"Superseded" by sv_nosharing().
+"Superseded" by C<sv_nosharing()>.
 
 =cut
 */
@@ -846,7 +846,7 @@ Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len)
 
 Tells an SV to use C<ptr> to find its string value.  Implemented by
 calling C<sv_usepvn_flags> with C<flags> of 0, hence does not handle 'set'
-magic.  See C<sv_usepvn_flags>.
+magic.  See C<L</sv_usepvn_flags>>.
 
 =cut
 */
@@ -862,9 +862,9 @@ Perl_sv_usepvn(pTHX_ SV *sv, char *ptr, STRLEN len)
 /*
 =for apidoc unpack_str
 
-The engine implementing unpack() Perl function.  Note: parameters strbeg,
-new_s and ocnt are not used.  This call should not be used, use
-unpackstring instead.
+The engine implementing C<unpack()> Perl function.  Note: parameters C<strbeg>,
+C<new_s> and C<ocnt> are not used.  This call should not be used, use
+C<unpackstring> instead.
 
 =cut */
 
@@ -885,9 +885,9 @@ Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s,
 /*
 =for apidoc pack_cat
 
-The engine implementing pack() Perl function.  Note: parameters
-next_in_list and flags are not used.  This call should not be used; use
-packlist instead.
+The engine implementing C<pack()> Perl function.  Note: parameters
+C<next_in_list> and C<flags> are not used.  This call should not be used; use
+C<packlist> instead.
 
 =cut
 */
@@ -1145,13 +1145,13 @@ Perl_sv_2bool(pTHX_ SV *const sv)
 
 /*
 =for apidoc custom_op_name
-Return the name for a given custom op.  This was once used by the OP_NAME
+Return the name for a given custom op.  This was once used by the C<OP_NAME>
 macro, but is no longer: it has only been kept for compatibility, and
 should not be used.
 
 =for apidoc custom_op_desc
 Return the description of a given custom op.  This was once used by the
-OP_DESC macro, but is no longer: it has only been kept for
+C<OP_DESC> macro, but is no longer: it has only been kept for
 compatibility, and should not be used.
 
 =cut
@@ -1743,7 +1743,7 @@ is why this function is deprecated.  Use L</utf8_to_uvchr_buf> instead.
 
 If C<s> points to one of the detected malformations, and UTF8 warnings are
 enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
-NULL) to -1.  If those warnings are off, the computed value if well-defined (or
+C<NULL>) to -1.  If those warnings are off, the computed value if well-defined (or
 the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
 is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
 next possible position in C<s> that could begin a non-malformed character.
diff --git a/mg.c b/mg.c
index 6ec7628..8ebb6a3 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -127,7 +127,7 @@ S_save_magic_flags(pTHX_ I32 mgs_ix, SV *sv, U32 flags)
 /*
 =for apidoc mg_magical
 
-Turns on the magical status of an SV.  See C<sv_magic>.
+Turns on the magical status of an SV.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -160,7 +160,7 @@ Perl_mg_magical(SV *sv)
 =for apidoc mg_get
 
 Do magic before a value is retrieved from the SV.  The type of SV must
-be >= SVt_PVMG.  See C<sv_magic>.
+be >= C<SVt_PVMG>.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -245,7 +245,7 @@ Perl_mg_get(pTHX_ SV *sv)
 /*
 =for apidoc mg_set
 
-Do magic after a value is assigned to the SV.  See C<sv_magic>.
+Do magic after a value is assigned to the SV.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -285,10 +285,10 @@ Perl_mg_set(pTHX_ SV *sv)
 =for apidoc mg_length
 
 Reports on the SV's length in bytes, calling length magic if available,
-but does not set the UTF8 flag on the sv.  It will fall back to 'get'
+but does not set the UTF8 flag on C<sv>.  It will fall back to 'get'
 magic if there is no 'length' magic, but with no indication as to
-whether it called 'get' magic.  It assumes the sv is a PVMG or
-higher.  Use sv_len() instead.
+whether it called 'get' magic.  It assumes C<sv> is a C<PVMG> or
+higher.  Use C<sv_len()> instead.
 
 =cut
 */
@@ -352,7 +352,7 @@ Perl_mg_size(pTHX_ SV *sv)
 /*
 =for apidoc mg_clear
 
-Clear something magical that the SV represents.  See C<sv_magic>.
+Clear something magical that the SV represents.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -403,7 +403,7 @@ S_mg_findext_flags(const SV *sv, int type, const MGVTBL *vtbl, U32 flags)
 /*
 =for apidoc mg_find
 
-Finds the magic pointer for type matching the SV.  See C<sv_magic>.
+Finds the magic pointer for C<type> matching the SV.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -418,7 +418,7 @@ Perl_mg_find(const SV *sv, int type)
 =for apidoc mg_findext
 
 Finds the magic pointer of C<type> with the given C<vtbl> for the C<SV>.  See
-C<sv_magicext>.
+C<L</sv_magicext>>.
 
 =cut
 */
@@ -447,7 +447,7 @@ Perl_mg_find_mglob(pTHX_ SV *sv)
 /*
 =for apidoc mg_copy
 
-Copies the magic from one SV to another.  See C<sv_magic>.
+Copies the magic from one SV to another.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -486,12 +486,12 @@ Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen)
 =for apidoc mg_localize
 
 Copy some of the magic from an existing SV to new localized version of that
-SV.  Container magic (eg %ENV, $1, tie)
-gets copied, value magic doesn't (eg
-taint, pos).
+SV.  Container magic (I<e.g.>, C<%ENV>, C<$1>, C<tie>)
+gets copied, value magic doesn't (I<e.g.>,
+C<taint>, C<pos>).
 
-If setmagic is false then no set magic will be called on the new (empty) SV.
-This typically means that assignment will soon follow (e.g. 'local $x = $y'),
+If C<setmagic> is false then no set magic will be called on the new (empty) SV.
+This typically means that assignment will soon follow (e.g. S<C<'local $x = $y'>>),
 and that will handle the magic.
 
 =cut
@@ -553,7 +553,7 @@ S_mg_free_struct(pTHX_ SV *sv, MAGIC *mg)
 /*
 =for apidoc mg_free
 
-Free any magic storage used by the SV.  See C<sv_magic>.
+Free any magic storage used by the SV.  See C<L</sv_magic>>.
 
 =cut
 */
@@ -1210,7 +1210,7 @@ Perl_magic_setenv(pTHX_ SV *sv, MAGIC *mg)
     }
 #endif
 
-#if !defined(OS2) && !defined(AMIGAOS) && !defined(WIN32) && !defined(MSDOS)
+#if !defined(OS2) && !defined(WIN32) && !defined(MSDOS)
                            /* And you'll never guess what the dog had */
                            /*   in its mouth... */
     if (TAINTING_get) {
@@ -1270,7 +1270,7 @@ Perl_magic_setenv(pTHX_ SV *sv, MAGIC *mg)
            }
        }
     }
-#endif /* neither OS2 nor AMIGAOS nor WIN32 nor MSDOS */
+#endif /* neither OS2 nor WIN32 nor MSDOS */
 
     return 0;
 }
@@ -1782,7 +1782,7 @@ The C<flags> can be:
 
 The arguments themselves are any values following the C<flags> argument.
 
-Returns the SV (if any) returned by the method, or NULL on failure.
+Returns the SV (if any) returned by the method, or C<NULL> on failure.
 
 
 =cut
@@ -3451,7 +3451,7 @@ S_unwind_handler_stack(pTHX_ const void *p)
 /*
 =for apidoc magic_sethint
 
-Triggered by a store to %^H, records the key/value pair to
+Triggered by a store to C<%^H>, records the key/value pair to
 C<PL_compiling.cop_hints_hash>.  It is assumed that hints aren't storing
 anything that would need a deep copy.  Maybe we should warn if we find a
 reference.
@@ -3483,7 +3483,7 @@ Perl_magic_sethint(pTHX_ SV *sv, MAGIC *mg)
 /*
 =for apidoc magic_clearhint
 
-Triggered by a delete from %^H, records the key to
+Triggered by a delete from C<%^H>, records the key to
 C<PL_compiling.cop_hints_hash>.
 
 =cut
@@ -3507,7 +3507,7 @@ Perl_magic_clearhint(pTHX_ SV *sv, MAGIC *mg)
 /*
 =for apidoc magic_clearhints
 
-Triggered by clearing %^H, resets C<PL_compiling.cop_hints_hash>.
+Triggered by clearing C<%^H>, resets C<PL_compiling.cop_hints_hash>.
 
 =cut
 */
index 55a74fa..9f4fd75 100644 (file)
--- a/mkppport
+++ b/mkppport
@@ -160,7 +160,8 @@ mkppport [B<--list>=I<file>] [B<--clean>]
 
 B<mkppport> generates a I<ppport.h> file using Devel::PPPort
 and distributes it to the various extension directories that
-need it to build.
+need it to build.  On certain Win32 builds, this script is not
+used and an alternative mechanism is used to create I<ppport.h>.
 
 =head1 OPTIONS
 
index d134b8a..c1e2da7 100644 (file)
@@ -199,7 +199,7 @@ Perl_mro_meta_dup(pTHX_ struct mro_meta* smeta, CLONE_PARAMS* param)
 /*
 =for apidoc mro_get_linear_isa_dfs
 
-Returns the Depth-First Search linearization of @ISA
+Returns the Depth-First Search linearization of C<@ISA>
 the given stash.  The return value is a read-only AV*.
 C<level> should be 0 (it is used internally in this
 function's recursion).
@@ -461,7 +461,7 @@ Perl_mro_get_linear_isa(pTHX_ HV *stash)
 =for apidoc mro_isa_changed_in
 
 Takes the necessary steps (cache invalidations, mostly)
-when the @ISA of the given package has changed.  Invoked
+when the C<@ISA> of the given package has changed.  Invoked
 by the C<setisa> magic, should not need to invoke directly.
 
 =cut
index 6aeaf9f..90b586d 100644 (file)
--- a/numeric.c
+++ b/numeric.c
@@ -108,7 +108,7 @@ Perl_cast_uv(NV f)
 converts a string representing a binary number to numeric form.
 
 On entry C<start> and C<*len> give the string to scan, C<*flags> gives
-conversion flags, and C<result> should be NULL or a pointer to an NV.
+conversion flags, and C<result> should be C<NULL> or a pointer to an NV.
 The scan stops at the end of the string, or the first invalid character.
 Unless C<PERL_SCAN_SILENT_ILLDIGIT> is set in C<*flags>, encountering an
 invalid character will also trigger a warning.
@@ -116,15 +116,15 @@ On return C<*len> is set to the length of the scanned string,
 and C<*flags> gives output flags.
 
 If the value is <= C<UV_MAX> it is returned as a UV, the output flags are clear,
-and nothing is written to C<*result>.  If the value is > UV_MAX C<grok_bin>
-returns UV_MAX, sets C<PERL_SCAN_GREATER_THAN_UV_MAX> in the output flags,
+and nothing is written to C<*result>.  If the value is > C<UV_MAX>, C<grok_bin>
+returns C<UV_MAX>, sets C<PERL_SCAN_GREATER_THAN_UV_MAX> in the output flags,
 and writes the value to C<*result> (or the value is discarded if C<result>
 is NULL).
 
-The binary number may optionally be prefixed with "0b" or "b" unless
+The binary number may optionally be prefixed with C<"0b"> or C<"b"> unless
 C<PERL_SCAN_DISALLOW_PREFIX> is set in C<*flags> on entry.  If
 C<PERL_SCAN_ALLOW_UNDERSCORES> is set in C<*flags> then the binary
-number may use '_' characters to separate digits.
+number may use C<"_"> characters to separate digits.
 
 =cut
 
@@ -231,23 +231,23 @@ Perl_grok_bin(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
 converts a string representing a hex number to numeric form.
 
 On entry C<start> and C<*len_p> give the string to scan, C<*flags> gives
-conversion flags, and C<result> should be NULL or a pointer to an NV.
+conversion flags, and C<result> should be C<NULL> or a pointer to an NV.
 The scan stops at the end of the string, or the first invalid character.
 Unless C<PERL_SCAN_SILENT_ILLDIGIT> is set in C<*flags>, encountering an
 invalid character will also trigger a warning.
 On return C<*len> is set to the length of the scanned string,
 and C<*flags> gives output flags.
 
-If the value is <= UV_MAX it is returned as a UV, the output flags are clear,
-and nothing is written to C<*result>.  If the value is > UV_MAX C<grok_hex>
-returns UV_MAX, sets C<PERL_SCAN_GREATER_THAN_UV_MAX> in the output flags,
+If the value is <= C<UV_MAX> it is returned as a UV, the output flags are clear,
+and nothing is written to C<*result>.  If the value is > C<UV_MAX>, C<grok_hex>
+returns C<UV_MAX>, sets C<PERL_SCAN_GREATER_THAN_UV_MAX> in the output flags,
 and writes the value to C<*result> (or the value is discarded if C<result>
-is NULL).
+is C<NULL>).
 
-The hex number may optionally be prefixed with "0x" or "x" unless
+The hex number may optionally be prefixed with C<"0x"> or C<"x"> unless
 C<PERL_SCAN_DISALLOW_PREFIX> is set in C<*flags> on entry.  If
 C<PERL_SCAN_ALLOW_UNDERSCORES> is set in C<*flags> then the hex
-number may use '_' characters to separate digits.
+number may use C<"_"> characters to separate digits.
 
 =cut
 
@@ -352,21 +352,21 @@ Perl_grok_hex(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
 converts a string representing an octal number to numeric form.
 
 On entry C<start> and C<*len> give the string to scan, C<*flags> gives
-conversion flags, and C<result> should be NULL or a pointer to an NV.
+conversion flags, and C<result> should be C<NULL> or a pointer to an NV.
 The scan stops at the end of the string, or the first invalid character.
 Unless C<PERL_SCAN_SILENT_ILLDIGIT> is set in C<*flags>, encountering an
 8 or 9 will also trigger a warning.
 On return C<*len> is set to the length of the scanned string,
 and C<*flags> gives output flags.
 
-If the value is <= UV_MAX it is returned as a UV, the output flags are clear,
-and nothing is written to C<*result>.  If the value is > UV_MAX C<grok_oct>
-returns UV_MAX, sets C<PERL_SCAN_GREATER_THAN_UV_MAX> in the output flags,
+If the value is <= C<UV_MAX> it is returned as a UV, the output flags are clear,
+and nothing is written to C<*result>.  If the value is > C<UV_MAX>, C<grok_oct>
+returns C<UV_MAX>, sets C<PERL_SCAN_GREATER_THAN_UV_MAX> in the output flags,
 and writes the value to C<*result> (or the value is discarded if C<result>
-is NULL).
+is C<NULL>).
 
 If C<PERL_SCAN_ALLOW_UNDERSCORES> is set in C<*flags> then the octal
-number may use '_' characters to separate digits.
+number may use C<"_"> characters to separate digits.
 
 =cut
 
@@ -551,7 +551,7 @@ Perl_grok_numeric_radix(pTHX_ const char **sp, const char *send)
 /*
 =for apidoc grok_infnan
 
-Helper for grok_number(), accepts various ways of spelling "infinity"
+Helper for C<grok_number()>, accepts various ways of spelling "infinity"
 or "not a number", and returns one of the following flag combinations:
 
   IS_NUMBER_INFINITE
@@ -560,11 +560,11 @@ or "not a number", and returns one of the following flag combinations:
   IS_NUMBER_NAN | IS_NUMBER_NEG
   0
 
-possibly |-ed with IS_NUMBER_TRAILING.
+possibly |-ed with C<IS_NUMBER_TRAILING>.
 
-If an infinity or a not-a-number is recognized, the *sp will point to
+If an infinity or a not-a-number is recognized, C<*sp> will point to
 one byte past the end of the recognized string.  If the recognition fails,
-zero is returned, and the *sp will not move.
+zero is returned, and C<*sp> will not move.
 
 =cut
 */
@@ -807,20 +807,20 @@ Perl_grok_infnan(pTHX_ const char** sp, const char* send)
 
 Recognise (or not) a number.  The type of the number is returned
 (0 if unrecognised), otherwise it is a bit-ORed combination of
-IS_NUMBER_IN_UV, IS_NUMBER_GREATER_THAN_UV_MAX, IS_NUMBER_NOT_INT,
-IS_NUMBER_NEG, IS_NUMBER_INFINITY, IS_NUMBER_NAN (defined in F<perl.h>).
-
-If the value of the number can fit in a UV, it is returned in the *valuep
-IS_NUMBER_IN_UV will be set to indicate that *valuep is valid, IS_NUMBER_IN_UV
-will never be set unless *valuep is valid, but *valuep may have been assigned
-to during processing even though IS_NUMBER_IN_UV is not set on return.
-If valuep is NULL, IS_NUMBER_IN_UV will be set for the same cases as when
-valuep is non-NULL, but no actual assignment (or SEGV) will occur.
-
-IS_NUMBER_NOT_INT will be set with IS_NUMBER_IN_UV if trailing decimals were
-seen (in which case *valuep gives the true value truncated to an integer), and
-IS_NUMBER_NEG if the number is negative (in which case *valuep holds the
-absolute value).  IS_NUMBER_IN_UV is not set if e notation was used or the
+C<IS_NUMBER_IN_UV>, C<IS_NUMBER_GREATER_THAN_UV_MAX>, C<IS_NUMBER_NOT_INT>,
+C<IS_NUMBER_NEG>, C<IS_NUMBER_INFINITY>, C<IS_NUMBER_NAN> (defined in perl.h).
+
+If the value of the number can fit in a UV, it is returned in C<*valuep>.
+C<IS_NUMBER_IN_UV> will be set to indicate that C<*valuep> is valid, C<IS_NUMBER_IN_UV>
+will never be set unless C<*valuep> is valid, but C<*valuep> may have been assigned
+to during processing even though C<IS_NUMBER_IN_UV> is not set on return.
+If C<valuep> is C<NULL>, C<IS_NUMBER_IN_UV> will be set for the same cases as when
+C<valuep> is non-C<NULL>, but no actual assignment (or SEGV) will occur.
+
+C<IS_NUMBER_NOT_INT> will be set with C<IS_NUMBER_IN_UV> if trailing decimals were
+seen (in which case C<*valuep> gives the true value truncated to an integer), and
+C<IS_NUMBER_NEG> if the number is negative (in which case C<*valuep> holds the
+absolute value).  C<IS_NUMBER_IN_UV> is not set if e notation was used or the
 number is larger than a UV.
 
 C<flags> allows only C<PERL_SCAN_TRAILING>, which allows for trailing
@@ -829,7 +829,7 @@ C<IS_NUMBER_TRAILING> on the result.
 
 =for apidoc grok_number
 
-Identical to grok_number_flags() with flags set to zero.
+Identical to C<grok_number_flags()> with C<flags> set to zero.
 
 =cut
  */
@@ -1525,9 +1525,9 @@ Perl_my_atof2(pTHX_ const char* orig, NV* value)
 /*
 =for apidoc isinfnan
 
-Perl_isinfnan() is utility function that returns true if the NV
-argument is either an infinity or a NaN, false otherwise.  To test
-in more detail, use Perl_isinf() and Perl_isnan().
+C<Perl_isinfnan()> is utility function that returns true if the NV
+argument is either an infinity or a C<NaN>, false otherwise.  To test
+in more detail, use C<Perl_isinf()> and C<Perl_isnan()>.
 
 This is also the logical inverse of Perl_isfinite().
 
@@ -1550,9 +1550,9 @@ Perl_isinfnan(NV nv)
 /*
 =for apidoc
 
-Checks whether the argument would be either an infinity or NaN when used
+Checks whether the argument would be either an infinity or C<NaN> when used
 as a number, but is careful not to trigger non-numeric or uninitialized
-warnings.  it assumes the caller has done SvGETMAGIC(sv) already.
+warnings.  it assumes the caller has done C<SvGETMAGIC(sv)> already.
 
 =cut
 */
@@ -1610,19 +1610,19 @@ Perl_my_frexpl(long double x, int *e) {
 Return a non-zero integer if the sign bit on an NV is set, and 0 if
 it is not.  
 
-If F<Configure> detects this system has a signbit() that will work with
-our NVs, then we just use it via the #define in perl.h.  Otherwise,
+If F<Configure> detects this system has a C<signbit()> that will work with
+our NVs, then we just use it via the C<#define> in F<perl.h>.  Otherwise,
 fall back on this implementation.  The main use of this function
-is catching -0.0.
+is catching C<-0.0>.
 
-Configure notes:  This function is called 'Perl_signbit' instead of a
-plain 'signbit' because it is easy to imagine a system having a signbit()
+C<Configure> notes:  This function is called C<'Perl_signbit'> instead of a
+plain C<'signbit'> because it is easy to imagine a system having a C<signbit()>
 function or macro that doesn't happen to work with our particular choice
-of NVs.  We shouldn't just re-#define signbit as Perl_signbit and expect
+of NVs.  We shouldn't just re-C<#define> C<signbit> as C<Perl_signbit> and expect
 the standard system headers to be happy.  Also, this is a no-context
-function (no pTHX_) because Perl_signbit() is usually re-#defined in
-F<perl.h> as a simple macro call to the system's signbit().
-Users should just always call Perl_signbit().
+function (no C<pTHX_>) because C<Perl_signbit()> is usually re-C<#defined> in
+F<perl.h> as a simple macro call to the system's C<signbit()>.
+Users should just always call C<Perl_signbit()>.
 
 =cut
 */
diff --git a/op.c b/op.c
index ff2848a..745cb5f 100644 (file)
--- a/op.c
+++ b/op.c
@@ -1211,7 +1211,7 @@ Perl_op_refcnt_unlock(pTHX)
 =for apidoc op_sibling_splice
 
 A general function for editing the structure of an existing chain of
-op_sibling nodes.  By analogy with the perl-level splice() function, allows
+op_sibling nodes.  By analogy with the perl-level C<splice()> function, allows
 you to delete zero or more sequential nodes, replacing them with zero or
 more different nodes.  Performs the necessary op_first/op_last
 housekeeping on the parent node and op_sibling manipulation on the
@@ -1222,22 +1222,22 @@ Note that op_next is not manipulated, and nodes are not freed; that is the
 responsibility of the caller.  It also won't create a new list op for an
 empty list etc; use higher-level functions like op_append_elem() for that.
 
-parent is the parent node of the sibling chain. It may passed as NULL if
+C<parent> is the parent node of the sibling chain. It may passed as C<NULL> if
 the splicing doesn't affect the first or last op in the chain.
 
-start is the node preceding the first node to be spliced.  Node(s)
+C<start> is the node preceding the first node to be spliced.  Node(s)
 following it will be deleted, and ops will be inserted after it.  If it is
-NULL, the first node onwards is deleted, and nodes are inserted at the
+C<NULL>, the first node onwards is deleted, and nodes are inserted at the
 beginning.
 
-del_count is the number of nodes to delete.  If zero, no nodes are deleted.
+C<del_count> is the number of nodes to delete.  If zero, no nodes are deleted.
 If -1 or greater than or equal to the number of remaining kids, all
 remaining kids are deleted.
 
-insert is the first of a chain of nodes to be inserted in place of the nodes.
-If NULL, no nodes are inserted.
+C<insert> is the first of a chain of nodes to be inserted in place of the nodes.
+If C<NULL>, no nodes are inserted.
 
-The head of the chain of deleted ops is returned, or NULL if no ops were
+The head of the chain of deleted ops is returned, or C<NULL> if no ops were
 deleted.
 
 For example:
@@ -1263,7 +1263,7 @@ For example:
 
 
 For lower-level direct manipulation of C<op_sibparent> and C<op_moresib>,
-see C<OpMORESIB_set>, C<OpLASTSIB_set>, C<OpMAYBESIB_set>.
+see C<L</OpMORESIB_set>>, C<L</OpLASTSIB_set>>, C<L</OpMAYBESIB_set>>.
 
 =cut
 */
@@ -1362,7 +1362,7 @@ Perl_op_sibling_splice(OP *parent, OP *start, int del_count, OP* insert)
 /*
 =for apidoc op_parent
 
-Returns the parent OP of o, if it has a parent. Returns NULL otherwise.
+Returns the parent OP of C<o>, if it has a parent. Returns C<NULL> otherwise.
 This function is only available on perls built with C<-DPERL_OP_PARENT>.
 
 =cut
@@ -2365,7 +2365,7 @@ S_check_hash_fields_and_hekify(pTHX_ UNOP *rop, SVOP *key_op)
 
 This function finalizes the optree.  Should be called directly after
 the complete optree is built.  It does some additional
-checking which can't be done in the normal ck_xxx functions and makes
+checking which can't be done in the normal C<ck_>xxx functions and makes
 the tree thread-safe.
 
 =cut
@@ -2585,13 +2585,13 @@ S_finalize_op(pTHX_ OP* o)
 
 Propagate lvalue ("modifiable") context to an op and its children.
 C<type> represents the context type, roughly based on the type of op that
-would do the modifying, although C<local()> is represented by OP_NULL,
+would do the modifying, although C<local()> is represented by C<OP_NULL>,
 because it has no op type of its own (it is signalled by a flag on
 the lvalue op).
 
 This function detects things that can't be modified, such as C<$x+1>, and
 generates errors for them.  For example, C<$x+1 = 2> would cause it to be
-called with an op of type OP_ADD and a C<type> argument of OP_SASSIGN.
+called with an op of type C<OP_ADD> and a C<type> argument of C<OP_SASSIGN>.
 
 It also flags things that need to behave specially in an lvalue context,
 such as C<$$x = 5> which might have to vivify a reference in C<$x>.
@@ -4673,7 +4673,7 @@ consumed by this function and become part of the constructed op tree.
 For most list operators, the check function expects all the kid ops to be
 present already, so calling C<newLISTOP(OP_JOIN, ...)> (e.g.) is not
 appropriate.  What you want to do in that case is create an op of type
-OP_LIST, append more children to it, and then call L</op_convert_list>.
+C<OP_LIST>, append more children to it, and then call L</op_convert_list>.
 See L</op_convert_list> for more information.
 
 
@@ -4816,8 +4816,8 @@ Perl_newUNOP(pTHX_ I32 type, I32 flags, OP *first)
 /*
 =for apidoc newUNOP_AUX
 
-Similar to C<newUNOP>, but creates an UNOP_AUX struct instead, with op_aux
-initialised to aux
+Similar to C<newUNOP>, but creates an C<UNOP_AUX> struct instead, with C<op_aux>
+initialised to C<aux>
 
 =cut
 */
@@ -4857,7 +4857,7 @@ and, shifted up eight bits, the eight bits of C<op_private>, except that
 the bit with value 1 is automatically set.  C<dynamic_meth> supplies an
 op which evaluates method name; it is consumed by this function and
 become part of the constructed op tree.
-Supported optypes: OP_METHOD.
+Supported optypes: C<OP_METHOD>.
 
 =cut
 */
@@ -4912,7 +4912,7 @@ method name.  C<type> is the opcode.  C<flags> gives the eight bits of
 C<op_flags>, and, shifted up eight bits, the eight bits of
 C<op_private>.  C<const_meth> supplies a constant method name;
 it must be a shared COW string.
-Supported optypes: OP_METHOD_NAMED.
+Supported optypes: C<OP_METHOD_NAMED>.
 
 =cut
 */
@@ -5193,7 +5193,7 @@ S_pmtrans(pTHX_ OP *o, OP *expr, OP *repl)
                    max = rfirst + diff;
                if (!grows)
                    grows = (tfirst < rfirst &&
-                            UNISKIP(tfirst) < UNISKIP(rfirst + diff));
+                            UVCHR_SKIP(tfirst) < UVCHR_SKIP(rfirst + diff));
                rfirst += diff + 1;
            }
            tfirst += diff + 1;
@@ -6105,15 +6105,15 @@ Perl_utilize(pTHX_ int aver, I32 floor, OP *version, OP *idop, OP *arg)
 Loads the module whose name is pointed to by the string part of name.
 Note that the actual module name, not its filename, should be given.
 Eg, "Foo::Bar" instead of "Foo/Bar.pm".  flags can be any of
-PERL_LOADMOD_DENY, PERL_LOADMOD_NOIMPORT, or PERL_LOADMOD_IMPORT_OPS
+C<PERL_LOADMOD_DENY>, C<PERL_LOADMOD_NOIMPORT>, or C<PERL_LOADMOD_IMPORT_OPS>
 (or 0 for no flags).  ver, if specified
 and not NULL, provides version semantics
 similar to C<use Foo::Bar VERSION>.  The optional trailing SV*
-arguments can be used to specify arguments to the module's import()
+arguments can be used to specify arguments to the module's C<import()>
 method, similar to C<use Foo::Bar VERSION LIST>.  They must be
-terminated with a final NULL pointer.  Note that this list can only
-be omitted when the PERL_LOADMOD_NOIMPORT flag has been used.
-Otherwise at least a single NULL pointer to designate the default
+terminated with a final C<NULL> pointer.  Note that this list can only
+be omitted when the C<PERL_LOADMOD_NOIMPORT> flag has been used.
+Otherwise at least a single C<NULL> pointer to designate the default
 import list is required.
 
 The reference count for each specified C<SV*> parameter is decremented.
@@ -7597,7 +7597,7 @@ C<cond> supplies the expression that will be locally assigned to a lexical
 variable, and C<block> supplies the body of the C<given> construct; they
 are consumed by this function and become part of the constructed op tree.
 C<defsv_off> is the pad offset of the scalar lexical variable that will
-be affected.  If it is 0, the global $_ will be used.
+be affected.  If it is 0, the global C<$_> will be used.
 
 =cut
 */
@@ -7733,7 +7733,7 @@ static void const_av_xsub(pTHX_ CV* cv);
 =for apidoc cv_const_sv
 
 If C<cv> is a constant sub eligible for inlining, returns the constant
-value returned by the sub.  Otherwise, returns NULL.
+value returned by the sub.  Otherwise, returns C<NULL>.
 
 Constant subs can be created with C<newCONSTSUB> or as described in
 L<perlsub/"Constant Functions">.
@@ -8800,15 +8800,15 @@ Perl_newCONSTSUB(pTHX_ HV *stash, const char *name, SV *sv)
 /*
 =for apidoc newCONSTSUB_flags
 
-Creates a constant sub equivalent to Perl C<sub FOO () { 123 }> which is
+Creates a constant sub equivalent to Perl S<C<sub FOO () { 123 }>> which is
 eligible for inlining at compile-time.
 
-Currently, the only useful value for C<flags> is SVf_UTF8.
+Currently, the only useful value for C<flags> is C<SVf_UTF8>.
 
 The newly created subroutine takes ownership of a reference to the passed in
 SV.
 
-Passing NULL for SV creates a constant sub equivalent to C<sub BAR () {}>,
+Passing C<NULL> for SV creates a constant sub equivalent to S<C<sub BAR () {}>>,
 which won't be called if used as a destructor, but will suppress the overhead
 of a call to C<AUTOLOAD>.  (This form, however, isn't eligible for inlining at
 compile time.)
@@ -9710,6 +9710,7 @@ Perl_ck_ftst(pTHX_ OP *o)
            op_free(o);
            return newop;
        }
+       scalar((OP *) kid);
        if ((PL_hints & HINT_FILETEST_ACCESS) && OP_IS_FILETEST_ACCESS(o->op_type))
            o->op_private |= OPpFT_ACCESS;
        if (type != OP_STAT && type != OP_LSTAT
@@ -10332,6 +10333,7 @@ Perl_ck_sassign(pTHX_ OP *o)
 OP *
 Perl_ck_match(pTHX_ OP *o)
 {
+    PERL_UNUSED_CONTEXT;
     PERL_ARGS_ASSERT_CK_MATCH;
 
     if (o->op_type != OP_QR && PL_compcv) {
@@ -12314,6 +12316,15 @@ S_aassign_scan(pTHX_ OP* o, bool rhs, bool top, int *scalars_p)
         break;
 
     case OP_UNDEF:
+        /* undef counts as a scalar on the RHS:
+         *   (undef, $x) = ...;         # only 1 scalar on LHS: always safe
+         *   ($x, $y)    = (undef, $x); # 2 scalars on RHS: unsafe
+         */
+        if (rhs)
+            (*scalars_p)++;
+        flags = AAS_SAFE_SCALAR;
+        break;
+
     case OP_PUSHMARK:
     case OP_STUB:
         /* these are all no-ops; they don't push a potentially common SV
@@ -14247,7 +14258,7 @@ Perl_rpeep(pTHX_ OP *o)
                 || !r                      /* .... = (); */
                 || !(l & ~AAS_SAFE_SCALAR) /* (undef, pos()) = ...; */
                 || !(r & ~AAS_SAFE_SCALAR) /* ... = (1,2,length,undef); */
-                || (lscalars < 2)          /* ($x) = ... */
+                || (lscalars < 2)          /* ($x, undef) = ... */
             ) {
                 NOOP; /* always safe */
             }
@@ -14291,7 +14302,7 @@ Perl_rpeep(pTHX_ OP *o)
 
             /* ... = ($x)
              * may have to handle aggregate on LHS, but we can't
-             * have common scalars*/
+             * have common scalars*/
             if (rscalars < 2)
                 o->op_private &=
                         ~(OPpASSIGN_COMMON_SCALAR|OPpASSIGN_COMMON_RC1);
@@ -14333,7 +14344,7 @@ Perl_peep(pTHX_ OP *o)
 
 =for apidoc Ao||custom_op_xop
 Return the XOP structure for a given custom op.  This macro should be
-considered internal to OP_NAME and the other access macros: use them instead.
+considered internal to C<OP_NAME> and the other access macros: use them instead.
 This macro does call a function.  Prior
 to 5.19.6, this was implemented as a
 function.
@@ -14470,8 +14481,8 @@ Perl_custom_op_register(pTHX_ Perl_ppaddr_t ppaddr, const XOP *xop)
 =for apidoc core_prototype
 
 This function assigns the prototype of the named core function to C<sv>, or
-to a new mortal SV if C<sv> is NULL.  It returns the modified C<sv>, or
-NULL if the core function has no prototype.  C<code> is a code as returned
+to a new mortal SV if C<sv> is C<NULL>.  It returns the modified C<sv>, or
+C<NULL> if the core function has no prototype.  C<code> is a code as returned
 by C<keyword()>.  It must not be equal to 0.
 
 =cut
diff --git a/op.h b/op.h
index 95a2f05..ff0713b 100644 (file)
--- a/op.h
+++ b/op.h
@@ -714,7 +714,7 @@ Return the BHK's flags.
 =for apidoc mx|void *|BhkENTRY|BHK *hk|which
 Return an entry from the BHK structure.  C<which> is a preprocessor token
 indicating which entry to return.  If the appropriate flag is not set
-this will return NULL.  The type of the return value depends on which
+this will return C<NULL>.  The type of the return value depends on which
 entry you ask for.
 
 =for apidoc Amx|void|BhkENTRY_set|BHK *hk|which|void *ptr
@@ -912,13 +912,13 @@ Return a short description of the provided OP.
 =for apidoc Am|U32|OP_CLASS|OP *o
 Return the class of the provided OP: that is, which of the *OP
 structures it uses.  For core ops this currently gets the information out
-of PL_opargs, which does not always accurately reflect the type used.
+of C<PL_opargs>, which does not always accurately reflect the type used.
 For custom ops the type is returned from the registration, and it is up
 to the registree to ensure it is accurate.  The value returned will be
-one of the OA_* constants from F<op.h>.
+one of the C<OA_>* constants from F<op.h>.
 
 =for apidoc Am|bool|OP_TYPE_IS|OP *o|Optype type
-Returns true if the given OP is not a NULL pointer
+Returns true if the given OP is not a C<NULL> pointer
 and if it is of the given type.
 
 The negation of this macro, C<OP_TYPE_ISNT> is also available
@@ -933,28 +933,28 @@ replaced by an OP of type OP_NULL.
 The negation of this macro, C<OP_TYPE_ISNT_AND_WASNT>
 is also available as well as C<OP_TYPE_IS_OR_WAS_NN>
 and C<OP_TYPE_ISNT_AND_WASNT_NN> which elide
-the NULL pointer check.
+the C<NULL> pointer check.
 
 =for apidoc Am|bool|OpHAS_SIBLING|OP *o
-Returns true if o has a sibling
+Returns true if C<o> has a sibling
 
 =for apidoc Am|OP*|OpSIBLING|OP *o
-Returns the sibling of o, or NULL if there is no sibling
+Returns the sibling of C<o>, or C<NULL> if there is no sibling
 
 =for apidoc Am|void|OpMORESIB_set|OP *o|OP *sib
-Sets the sibling of o to the non-zero value sib. See also C<OpLASTSIB_set>
-and C<OpMAYBESIB_set>. For a higher-level interface, see
-C<op_sibling_splice>.
+Sets the sibling of C<o> to the non-zero value C<sib>. See also C<L</OpLASTSIB_set>>
+and C<L</OpMAYBESIB_set>>. For a higher-level interface, see
+C<L</op_sibling_splice>>.
 
 =for apidoc Am|void|OpLASTSIB_set|OP *o|OP *parent
-Marks o as having no further siblings. On C<PERL_OP_PARENT> builds, marks
-o as having the specified parent. See also C<OpMORESIB_set> and
+Marks C<o> as having no further siblings. On C<PERL_OP_PARENT> builds, marks
+o as having the specified parent. See also C<L</OpMORESIB_set>> and
 C<OpMAYBESIB_set>. For a higher-level interface, see
-C<op_sibling_splice>.
+C<L</op_sibling_splice>>.
 
 =for apidoc Am|void|OpMAYBESIB_set|OP *o|OP *sib|OP *parent
 Conditionally does C<OpMORESIB_set> or C<OpLASTSIB_set> depending on whether
-sib is non-null. For a higher-level interface, see C<op_sibling_splice>.
+C<sib> is non-null. For a higher-level interface, see C<L</op_sibling_splice>>.
 
 =cut
 */
index a48a662..06c80c3 100644 (file)
@@ -3,7 +3,7 @@ package OS2::ExtAttr;
 use strict;
 use XSLoader;
 
-our $VERSION = '0.03';
+our $VERSION = '0.04';
 XSLoader::load 'OS2::ExtAttr', $VERSION;
 
 # Preloaded methods go here.
@@ -162,7 +162,7 @@ Three convenience functions are provided:
 The default value for C<flag> is 0.
 
 In addition, all the C<_ea_*> and C<_ead_*> functions defined in EMX
-library are supported, with leading C<_ea/_ead> stripped.
+library are supported, with leading C<_ea> and C<_ead> stripped.
 
 =head1 AUTHOR
 
index babe470..08b619f 100644 (file)
@@ -20,7 +20,7 @@ BEGIN {
   #require AutoLoader;
 
   our @ISA = qw(Exporter);
-  our $VERSION = "1.10";
+  our $VERSION = "1.11";
   XSLoader::load('OS2::Process', $VERSION);
 }
 
@@ -1410,7 +1410,8 @@ message id $msg, they default to 0.  E.g.,
                      SC_MAXIMIZE SC_RESTORE);
   $hwnd = process_hentry()->{owner_hwnd};
   # Emulate choosing `Restore' from the window menu:
-  PostMsg $hwnd, WM_SYSCOMMAND, MPFROMSHORT(SC_RESTORE); # Not immediate
+  PostMsg $hwnd, WM_SYSCOMMAND, MPFROMSHORT(SC_RESTORE); # Not
+                                                         # immediate
 
   # Emulate `Show-Contextmenu' (Double-Click-2), two ways:
   PostMsg ActiveWindow, WM_CONTEXTMENU;
@@ -1874,8 +1875,10 @@ a combination of
      MB_YESNOCANCEL        YES, NO, and CANCEL
 
  Color or Icon 
-     MB_ICONHAND           a small red circle with a red line across it. 
-     MB_ERROR              a small red circle with a red line across it. 
+     MB_ICONHAND           a small red circle with a red line across
+                           it.
+     MB_ERROR              a small red circle with a red line across
+                           it.
      MB_ICONASTERISK       an information (i) icon. 
      MB_INFORMATION        an information (i) icon. 
      MB_ICONEXCLAMATION    an exclamation point (!) icon. 
@@ -1885,12 +1888,16 @@ a combination of
      MB_NOICON             No icon.
 
  Default action (i.e., focussed button; default is MB_DEFBUTTON1)
-     MB_DEFBUTTON1         The first button is the default selection.
-     MB_DEFBUTTON2         The second button is the default selection. 
-     MB_DEFBUTTON3         The third button is the default selection. 
+     MB_DEFBUTTON1         The first button is the default
+                           selection.
+     MB_DEFBUTTON2         The second button is the default
+                           selection.
+     MB_DEFBUTTON3         The third button is the default
+                           selection.
 
  Modality indicator 
-     MB_APPLMODAL                  Message box is application modal (default).
+     MB_APPLMODAL                  Message box is application modal
+                                   (default).
      MB_SYSTEMMODAL                Message box is system modal. 
 
  Mobility indicator 
@@ -1912,9 +1919,9 @@ specify the owner as the parent if this option is used.
 Additionally, the following flag is possible, but probably not very useful:
 
  Help button
-     MB_HELP             a HELP button appears, which sends a WM_HELP
-                                message is sent to the window procedure of the
-                                message box. 
+     MB_HELP            a HELP button appears, which sends a WM_HELP
+                        message is sent to the window procedure of
+                        the message box.
 
 Other optional arguments: $parent window, $owner_window, $helpID (used with
 C<WM_HELP> message if C<MB_HELP> style is given).
@@ -1930,7 +1937,7 @@ The return value is one of
   MBID_YES             YES was selected 
   MBID_NO              NO was selected 
 
-  0                       Function not successful; an error occurred. 
+  0                    Function not successful; an error occurred.
 
 B<BUGS???> keyboard transversal by pressing C<TAB> key does not work.
 Do not appear in window list, so may be hard to find if covered by other
@@ -2164,10 +2171,10 @@ Implement SOMETHINGFROMMR.
   >
   >No matter what message I send it, it's being ignored.
 
-  You need to get the style of the buttons using WinQueryWindowULong/QWL_STYLE,
-  set and reset the BS_DEFAULT bits as appropriate and then use
-  WinSetWindowULong/QWL_STYLE to set the button style.
-  Something like this:
+  You need to get the style of the buttons using
+  WinQueryWindowULong/QWL_STYLE, set and reset the BS_DEFAULT bits as
+  appropriate and then use WinSetWindowULong/QWL_STYLE to set the
+  button style.  Something like this:
     hwnd1 = WinWindowFromID (hwnd, id1);
     hwnd2 = WinWindowFromID (hwnd, id2);
     style1 = WinQueryWindowULong (hwnd1, QWL_STYLE);
@@ -2177,11 +2184,12 @@ Implement SOMETHINGFROMMR.
     WinSetWindowULong (hwnd1, QWL_STYLE, style1);
     WinSetWindowULong (hwnd2, QWL_STYLE, style2);
 
- > How to do query and change a frame creation flags for existing window?
+ > How to do query and change a frame creation flags for existing
+ > window?
 
  Set the style bits that correspond to the FCF_* flag for the frame
- window and then send a WM_UPDATEFRAME message with the appropriate FCF_*
- flag in mp1.
+ window and then send a WM_UPDATEFRAME message with the appropriate
FCF_* flag in mp1.
 
  ULONG ulFrameStyle;
  ulFrameStyle = WinQueryWindowULong( WinQueryWindow(hwnd, QW_PARENT),
@@ -2195,25 +2203,25 @@ Implement SOMETHINGFROMMR.
              MPFROMP(FCF_SIZEBORDER),
              MPVOID );
 
- If the FCF_* flags you want to change does not have a corresponding FS_*
- style (i.e. the FCF_* flag corresponds to the presence/lack of a frame
- control rather than a property of the frame itself) then you create or
- destroy the appropriate control window using the correct FID_* window
- identifier and then send the WM_UPDATEFRAME message with the appropriate
- FCF_* flag in mp1.
-
- /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*
-  |  SetFrameBorder()                                                          |
-  |    Changes a frame window's border to the requested type.                  |
-  |                                                                            |
-  |  Parameters on entry:                                                      |
-  |    hwndFrame     -> Frame window whose border is to be changed.            |
-  |    ulBorderStyle -> Type of border to change to.                           |
-  |                                                                            |
-  |  Returns:                                                                  |
-  |    BOOL          -> Success indicator.                                     |
-  |                                                                            |
-  * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
+ If the FCF_* flags you want to change does not have a corresponding
+ FS_* style (i.e. the FCF_* flag corresponds to the presence/lack of a
+ frame control rather than a property of the frame itself) then you
+ create or destroy the appropriate control window using the correct
+ FID_* window identifier and then send the WM_UPDATEFRAME message with
the appropriate FCF_* flag in mp1.
+
+ /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
+  |  SetFrameBorder()                                                 |
+  |    Changes a frame window's border to the requested type.         |
+  |                                                                   |
+  |  Parameters on entry:                                             |
+  |    hwndFrame     -> Frame window whose border is to be changed.   |
+  |    ulBorderStyle -> Type of border to change to.                  |
+  |                                                                   |
+  |  Returns:                                                         |
+  |    BOOL          -> Success indicator.                            |
+  |                                                                   |
+  * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
  BOOL SetFrameBorder( HWND hwndFrame, ULONG ulBorderType )  {
    ULONG  ulFrameStyle;
    BOOL   fSuccess = TRUE;
index a7d4504..7db9488 100644 (file)
@@ -1,6 +1,6 @@
 package OS2::DLL;
 
-our $VERSION = '1.05';
+our $VERSION = '1.06';
 
 use Carp;
 use XSLoader;
@@ -144,11 +144,11 @@ See documentation of L<OS2::REXX> module if you need the variable pool.
 
 =head1 SYNOPSIS
 
      use OS2::DLL;
      $emx_dll = OS2::DLL->module('emx');
      $emx_version = $emx_dll->emx_revision();
      $func_emx_version = $emx_dll->wrapper_REXX('#128'); # emx_revision
      $emx_version = $func_emx_version->();
+ use OS2::DLL;
+ $emx_dll = OS2::DLL->module('emx');
+ $emx_version = $emx_dll->emx_revision();
+ $func_emx_version = $emx_dll->wrapper_REXX('#128'); # emx_revision
+ $emx_version = $func_emx_version->();
 
 =head1 DESCRIPTION
 
@@ -266,7 +266,8 @@ If a function takes up to 20 ULONGs and returns ULONG:
 
 =item Same for a function which returns non-0 and sets system-error on error
 
- call20_Dos( $msg, $pointer, $arg0, $arg1, ...); # die("$msg: $^E") if error
+ call20_Dos( $msg, $pointer, $arg0, $arg1, ...); # die("$msg: $^E")
+                                                            if error
 
 [Good for C<Dos*> API - and rare C<Win*> calls.]
 
index ca9fee6..6d0ca4b 100644 (file)
@@ -11,7 +11,7 @@ require OS2::DLL;
 # Other items we are prepared to export if requested
 @EXPORT_OK = qw(drop register);
 
-$VERSION = '1.04';
+$VERSION = '1.05';
 
 # We cannot just put OS2::DLL in @ISA, since some scripts would use
 # function interface, not method interface...
@@ -432,37 +432,38 @@ See C<t/rx*.t> and the next section for examples.
 
 =head1 EXAMPLE
 
 use OS2::REXX;
+ use OS2::REXX;
 
 sub Ender::DESTROY { $vrexx->VExit; print "Exiting...\n" }
+ sub Ender::DESTROY { $vrexx->VExit; print "Exiting...\n" }
 
 $vrexx = OS2::REXX->load('VREXX');
 REXX_call {                  # VOpenWindow takes a stem
-    local $SIG{TERM} = sub {die}; # enable Ender::DESTROY
-    local $SIG{INT} = sub {die};       # enable Ender::DESTROY
+ $vrexx = OS2::REXX->load('VREXX');
REXX_call {                   # VOpenWindow takes a stem
+   local $SIG{TERM} = sub {die}; # enable Ender::DESTROY
+   local $SIG{INT} = sub {die};        # enable Ender::DESTROY
 
-    $code = $vrexx->VInit;
-    print "Init code = `$code'\n";
-    die "error initializing VREXX" if $code eq 'ERROR';
+   $code = $vrexx->VInit;
+   print "Init code = `$code'\n";
+   die "error initializing VREXX" if $code eq 'ERROR';
 
-    my $ender = bless [], 'Ender'; # Call Ender::DESTROY on exit
+   my $ender = bless [], 'Ender'; # Call Ender::DESTROY on exit
 
-    print "VREXX Version ", $vrexx->VGetVersion, "\n";
+   print "VREXX Version ", $vrexx->VGetVersion, "\n";
 
-    tie %pos, 'OS2::REXX', 'POS.' or die;
-    %pos = ( LEFT   => 0, RIGHT  => 7, TOP    => 5, BOTTOM => 0 );
+   tie %pos, 'OS2::REXX', 'POS.' or die;
+   %pos = ( LEFT   => 0, RIGHT  => 7, TOP    => 5, BOTTOM => 0 );
 
-    $id = $vrexx->VOpenWindow('To disconnect:', 'WHITE', 'POS');
-    $vrexx->VForeColor($id, 'BLACK');
-    $vrexx->VSetFont($id, 'TIME', '30');
-    $tlim = time + 60;
-    while ( ($r = $tlim - time) >= 0 ) {
-      $vrexx->VClearWindow($id);
-      $vrexx->VSay($id, 100, 50, (sprintf "%02i:%02i", int($r/60), $r % 60));
-      sleep 1;
-    }
-    print "Close code = `$res'\n" if $res = $vrexx->VCloseWindow($id);
-  };
+   $id = $vrexx->VOpenWindow('To disconnect:', 'WHITE', 'POS');
+   $vrexx->VForeColor($id, 'BLACK');
+   $vrexx->VSetFont($id, 'TIME', '30');
+   $tlim = time + 60;
+   while ( ($r = $tlim - time) >= 0 ) {
+     $vrexx->VClearWindow($id);
+     $vrexx->VSay($id, 100, 50, (sprintf "%02i:%02i", int($r/60),
+                                                              $r % 60));
+     sleep 1;
+   }
+   print "Close code = `$res'\n" if $res = $vrexx->VCloseWindow($id);
+ };
 
 
 
diff --git a/pad.c b/pad.c
index d8cb545..421cd43 100644 (file)
--- a/pad.c
+++ b/pad.c
@@ -38,10 +38,10 @@ not callable at will and are always thrown away after the eval"" is done
 executing).  Require'd files are simply evals without any outer lexical
 scope.
 
-XSUBs do not have a CvPADLIST.  dXSTARG fetches values from PL_curpad,
+XSUBs do not have a C<CvPADLIST>.  C<dXSTARG> fetches values from C<PL_curpad>,
 but that is really the callers pad (a slot of which is allocated by
-every entersub). Do not get or set CvPADLIST if a CV is an XSUB (as
-determined by C<CvISXSUB()>), CvPADLIST slot is reused for a different
+every entersub). Do not get or set C<CvPADLIST> if a CV is an XSUB (as
+determined by C<CvISXSUB()>), C<CvPADLIST> slot is reused for a different
 internal purpose in XSUBs.
 
 The PADLIST has a C array where pads are stored.
@@ -55,26 +55,27 @@ array, so don't rely on it.  See L</PadlistNAMES>.
 
 The CvDEPTH'th entry of a PADLIST is a PAD (an AV) which is the stack frame
 at that depth of recursion into the CV.  The 0th slot of a frame AV is an
-AV which is @_.  Other entries are storage for variables and op targets.
+AV which is C<@_>.  Other entries are storage for variables and op targets.
 
 Iterating over the PADNAMELIST iterates over all possible pad
-items.  Pad slots for targets (SVs_PADTMP)
+items.  Pad slots for targets (C<SVs_PADTMP>)
 and GVs end up having &PL_padname_undef "names", while slots for constants 
-have &PL_padname_const "names" (see pad_alloc()).  That &PL_padname_undef
-and &PL_padname_const are used is an implementation detail subject to
-change.  To test for them, use C<!PadnamePV(name)> and C<PadnamePV(name)
-&& !PadnameLEN(name)>, respectively.
+have C<&PL_padname_const> "names" (see C<L</pad_alloc>>).  That
+C<&PL_padname_undef>
+and C<&PL_padname_const> are used is an implementation detail subject to
+change.  To test for them, use C<!PadnamePV(name)> and
+S<C<PadnamePV(name) && !PadnameLEN(name)>>, respectively.
 
-Only my/our variable slots get valid names.
+Only C<my>/C<our> variable slots get valid names.
 The rest are op targets/GVs/constants which are statically allocated
 or resolved at compile time.  These don't have names by which they
 can be looked up from Perl code at run time through eval"" the way
-my/our variables can be.  Since they can't be looked up by "name"
+C<my>/C<our> variables can be.  Since they can't be looked up by "name"
 but only by their index allocated at compile time (which is usually
-in PL_op->op_targ), wasting a name SV for them doesn't make sense.
+in C<PL_op->op_targ>), wasting a name SV for them doesn't make sense.
 
 The pad names in the PADNAMELIST have their PV holding the name of
-the variable.  The COP_SEQ_RANGE_LOW and _HIGH fields form a range
+the variable.  The C<COP_SEQ_RANGE_LOW> and C<_HIGH> fields form a range
 (low+1..high inclusive) of cop_seq numbers for which the name is
 valid.  During compilation, these fields may hold the special value
 PERL_PADSEQ_INTRO to indicate various stages:
@@ -88,13 +89,13 @@ PERL_PADSEQ_INTRO to indicate various stages:
  valid-seq#          valid-seq#   compilation of scope complete:
                                   { my ($x) }
 
-For typed lexicals PadnameTYPE points at the type stash.  For C<our>
-lexicals, PadnameOURSTASH points at the stash of the associated global (so
+For typed lexicals C<PadnameTYPE> points at the type stash.  For C<our>
+lexicals, C<PadnameOURSTASH> points at the stash of the associated global (so
 that duplicate C<our> declarations in the same package can be detected).
-PadnameGEN is sometimes used to store the generation number during
+C<PadnameGEN> is sometimes used to store the generation number during
 compilation.
 
-If PadnameOUTER is set on the pad name, then that slot in the frame AV
+If C<PadnameOUTER> is set on the pad name, then that slot in the frame AV
 is a REFCNT'ed reference to a lexical from "outside".  Such entries
 are sometimes referred to as 'fake'.  In this case, the name does not
 use 'low' and 'high' to store a cop_seq range, since it is in scope
@@ -104,20 +105,20 @@ instantiated multiple times?), and for fake ANONs, 'low' contains the index
 within the parent's pad where the lexical's value is stored, to make
 cloning quicker.
 
-If the 'name' is '&' the corresponding entry in the PAD
+If the 'name' is C<&> the corresponding entry in the PAD
 is a CV representing a possible closure.
 
 Note that formats are treated as anon subs, and are cloned each time
 write is called (if necessary).
 
-The flag SVs_PADSTALE is cleared on lexicals each time the my() is executed,
+The flag C<SVs_PADSTALE> is cleared on lexicals each time the C<my()> is executed,
 and set on scope exit.  This allows the
-'Variable $x is not available' warning
+C<"Variable $x is not available"> warning
 to be generated in evals, such as 
 
     { my $x = 1; sub f { eval '$x'} } f();
 
-For state vars, SVs_PADSTALE is overloaded to mean 'not yet initialised',
+For state vars, C<SVs_PADSTALE> is overloaded to mean 'not yet initialised',
 but this internal state is stored in a separate pad entry.
 
 =for apidoc AmxU|PADNAMELIST *|PL_comppad_name
@@ -288,7 +289,7 @@ Perl_pad_new(pTHX_ int flags)
 
 Clear out all the active components of a CV.  This can happen either
 by an explicit C<undef &foo>, or by the reference count going to zero.
-In the former case, we keep the CvOUTSIDE pointer, so that any anonymous
+In the former case, we keep the C<CvOUTSIDE> pointer, so that any anonymous
 children can still follow the full lexical scope chain.
 
 =cut
@@ -488,10 +489,10 @@ Perl_cv_undef_flags(pTHX_ CV *cv, U32 flags)
 /*
 =for apidoc cv_forget_slab
 
-When a CV has a reference count on its slab (CvSLABBED), it is responsible
+When a CV has a reference count on its slab (C<CvSLABBED>), it is responsible
 for making sure it is freed.  (Hence, no two CVs should ever have a
 reference count on the same slab.)  The CV only needs to reference the slab
-during compilation.  Once it is compiled and CvROOT attached, it has
+during compilation.  Once it is compiled and C<CvROOT> attached, it has
 finished its job, so it can forget the slab.
 
 =cut
@@ -853,11 +854,11 @@ Perl_pad_add_weakref(pTHX_ CV* func)
 
 Check for duplicate declarations: report any of:
 
-     * a my in the current scope with the same name;
-     * an our (anywhere in the pad) with the same name and the
-       same stash as C<ourstash>
+     * a 'my' in the current scope with the same name;
+     * an 'our' (anywhere in the pad) with the same name and the
+       same stash as 'ourstash'
 
-C<is_our> indicates that the name to check is an 'our' declaration.
+C<is_our> indicates that the name to check is an C<"our"> declaration.
 
 =cut
 */
@@ -1103,18 +1104,18 @@ Find a named lexical anywhere in a chain of nested pads.  Add fake entries
 in the inner pads if it's found in an outer one.
 
 Returns the offset in the bottom pad of the lex or the fake lex.
-cv is the CV in which to start the search, and seq is the current cop_seq
-to match against.  If warn is true, print appropriate warnings.  The out_*
+C<cv> is the CV in which to start the search, and seq is the current C<cop_seq>
+to match against.  If C<warn> is true, print appropriate warnings.  The C<out_>*
 vars return values, and so are pointers to where the returned values
-should be stored.  out_capture, if non-null, requests that the innermost
-instance of the lexical is captured; out_name is set to the innermost
-matched pad name or fake pad name; out_flags returns the flags normally
-associated with the PARENT_FAKELEX_FLAGS field of a fake pad name.
+should be stored.  C<out_capture>, if non-null, requests that the innermost
+instance of the lexical is captured; C<out_name> is set to the innermost
+matched pad name or fake pad name; C<out_flags> returns the flags normally
+associated with the C<PARENT_FAKELEX_FLAGS> field of a fake pad name.
 
-Note that pad_findlex() is recursive; it recurses up the chain of CVs,
+Note that C<pad_findlex()> is recursive; it recurses up the chain of CVs,
 then comes back down, adding fake entries
 as it goes.  It has to be this way
-because fake names in anon protoypes have to store in xlow the index into
+because fake names in anon protoypes have to store in C<xlow> the index into
 the parent pad.
 
 =cut
@@ -1383,7 +1384,7 @@ S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 flags, const CV* cv,
 =for apidoc Am|SV *|pad_sv|PADOFFSET po
 
 Get the value at offset C<po> in the current (compiling or executing) pad.
-Use macro PAD_SV instead of calling this function directly.
+Use macro C<PAD_SV> instead of calling this function directly.
 
 =cut
 */
@@ -1406,7 +1407,7 @@ Perl_pad_sv(pTHX_ PADOFFSET po)
 =for apidoc Am|void|pad_setsv|PADOFFSET po|SV *sv
 
 Set the value at offset C<po> in the current (compiling or executing) pad.
-Use the macro PAD_SETSV() rather than calling this function directly.
+Use the macro C<PAD_SETSV()> rather than calling this function directly.
 
 =cut
 */
@@ -1578,7 +1579,7 @@ Perl_pad_leavemy(pTHX)
 /*
 =for apidoc m|void|pad_swipe|PADOFFSET po|bool refadjust
 
-Abandon the tmp in the current pad at offset po and replace with a
+Abandon the tmp in the current pad at offset C<po> and replace with a
 new one.
 
 =cut
@@ -1667,7 +1668,7 @@ S_pad_reset(pTHX)
 
 Tidy up a pad at the end of compilation of the code to which it belongs.
 Jobs performed here are: remove most stuff from the pads of anonsub
-prototypes; give it a @_; mark temporaries as such.  C<type> indicates
+prototypes; give it a C<@_>; mark temporaries as such.  C<type> indicates
 the kind of subroutine:
 
     padtidy_SUB        ordinary subroutine
@@ -2333,7 +2334,7 @@ An SV may be passed as a second argument.  If so, the name will be assigned
 to it and it will be returned.  Otherwise the returned SV will be a new
 mortal.
 
-If the C<flags> include CV_NAME_NOTQUAL, then the package name will not be
+If C<flags> has the C<CV_NAME_NOTQUAL> bit set, then the package name will not be
 included.  If the first argument is neither a CV nor a GV, this flag is
 ignored (subject to change).
 
@@ -2373,8 +2374,8 @@ Perl_cv_name(pTHX_ CV *cv, SV *sv, U32 flags)
 /*
 =for apidoc m|void|pad_fixup_inner_anons|PADLIST *padlist|CV *old_cv|CV *new_cv
 
-For any anon CVs in the pad, change CvOUTSIDE of that CV from
-old_cv to new_cv if necessary.  Needed when a newly-compiled CV has to be
+For any anon CVs in the pad, change C<CvOUTSIDE> of that CV from
+C<old_cv> to C<new_cv> if necessary.  Needed when a newly-compiled CV has to be
 moved to a pre-existing CV struct.
 
 =cut
@@ -2445,7 +2446,7 @@ Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
 
 Push a new pad frame onto the padlist, unless there's already a pad at
 this depth, in which case don't bother creating a new one.  Then give
-the new pad an @_ in slot zero.
+the new pad an C<@_> in slot zero.
 
 =cut
 */
@@ -2782,9 +2783,9 @@ Perl_padnamelist_dup(pTHX_ PADNAMELIST *srcpad, CLONE_PARAMS *param)
 /*
 =for apidoc newPADNAMEpvn
 
-Constructs and returns a new pad name.  C<s> must be a UTF8 string.  Do not
+Constructs and returns a new pad name.  C<s> must be a UTF-8 string.  Do not
 use this for pad names that point to outer lexicals.  See
-L</newPADNAMEouter>.
+C<L</newPADNAMEouter>>.
 
 =cut
 */
@@ -2815,7 +2816,7 @@ Perl_newPADNAMEpvn(const char *s, STRLEN len)
 Constructs and returns a new pad name.  Only use this function for names
 that refer to outer lexicals.  (See also L</newPADNAMEpvn>.)  C<outer> is
 the outer pad name that this one mirrors.  The returned pad name has the
-PADNAMEt_OUTER flag already set.
+C<PADNAMEt_OUTER> flag already set.
 
 =cut
 */
diff --git a/pad.h b/pad.h
index ab46cf4..941ca10 100644 (file)
--- a/pad.h
+++ b/pad.h
@@ -179,10 +179,10 @@ Save a pad slot (used to restore after an iteration)
 XXX DAPM it would make more sense to make the arg a PADOFFSET
 =for apidoc m|void|SAVECLEARSV |SV **svp
 Clear the pointed to pad value on scope exit.  (i.e. the runtime action of
-'my')
+C<my>)
 
 =for apidoc m|void|SAVECOMPPAD
-save PL_comppad and PL_curpad
+save C<PL_comppad> and C<PL_curpad>
 
 
 =for apidoc Amx|PAD **|PadlistARRAY|PADLIST padlist
@@ -191,7 +191,7 @@ numbers >= 1, as the 0th entry is not guaranteed to remain usable.
 
 =for apidoc Amx|SSize_t|PadlistMAX|PADLIST padlist
 The index of the last allocated space in the padlist.  Note that the last
-pad may be in an earlier slot.  Any entries following it will be NULL in
+pad may be in an earlier slot.  Any entries following it will be C<NULL> in
 that case.
 
 =for apidoc Amx|PADNAMELIST *|PadlistNAMES|PADLIST padlist
@@ -225,14 +225,14 @@ The C array of pad entries.
 The index of the last pad entry.
 
 =for apidoc Amx|char *|PadnamePV|PADNAME pn    
-The name stored in the pad name struct.  This returns NULL for a target
+The name stored in the pad name struct.  This returns C<NULL> for a target
 slot.
 
 =for apidoc Amx|STRLEN|PadnameLEN|PADNAME pn   
 The length of the name.
 
 =for apidoc Amx|bool|PadnameUTF8|PADNAME pn
-Whether PadnamePV is in UTF8.  Currently, this is always true.
+Whether PadnamePV is in UTF-8.  Currently, this is always true.
 
 =for apidoc Amx|SV *|PadnameSV|PADNAME pn
 Returns the pad name as a mortal SV.
@@ -251,7 +251,7 @@ are often referred to as 'fake'.
 Whether this is a "state" variable.
 
 =for apidoc m|HV *|PadnameTYPE|PADNAME pn
-The stash associated with a typed lexical.  This returns the %Foo:: hash
+The stash associated with a typed lexical.  This returns the C<%Foo::> hash
 for C<my Foo $bar>.
 
 =for apidoc Amx|SSize_t|PadnameREFCNT|PADNAME pn
@@ -292,11 +292,11 @@ like PAD_SET_CUR, but without the save
 Save the current pad then set it to null.
 
 =for apidoc m|void|PAD_SAVE_LOCAL|PAD *opad|PAD *npad
-Save the current pad to the local variable opad, then make the
-current pad equal to npad
+Save the current pad to the local variable C<opad>, then make the
+current pad equal to C<npad>
 
 =for apidoc m|void|PAD_RESTORE_LOCAL|PAD *opad
-Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
+Restore the old pad saved into the local variable C<opad> by C<PAD_SAVE_LOCAL()>
 
 =cut
 */
@@ -412,7 +412,7 @@ Restore the old pad saved into the local variable opad by PAD_SAVE_LOCAL()
 Save the current pad in the given context block structure.
 
 =for apidoc m|SV *|CX_CURPAD_SV|struct context|PADOFFSET po
-Access the SV at offset po in the saved current pad in the given
+Access the SV at offset C<po> in the saved current pad in the given
 context block structure (can be used as an lvalue).
 
 =cut
index a1b838d..3f80765 100644 (file)
@@ -15,7 +15,7 @@
 
 #define PERL_REVISION  5               /* age */
 #define PERL_VERSION   23              /* epoch */
-#define PERL_SUBVERSION        2               /* generation */
+#define PERL_SUBVERSION        3               /* generation */
 
 /* The following numbers describe the earliest compatible version of
    Perl ("compatibility" here being defined as sufficient binary/API
@@ -36,7 +36,7 @@
 */
 #define PERL_API_REVISION      5
 #define PERL_API_VERSION       23
-#define PERL_API_SUBVERSION    2
+#define PERL_API_SUBVERSION    3
 /*
    XXX Note:  The selection of non-default Configure options, such
    as -Duselonglong may invalidate these settings.  Currently, Configure
diff --git a/perl.c b/perl.c
index 303e1f2..1bd2cbb 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1500,6 +1500,14 @@ perl_parse(pTHXx_ XSINIT_t xsinit, int argc, char **argv, char **env)
         }
     }
 #endif /* #if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) */
+
+#ifdef __amigaos4__
+    {
+        struct NameTranslationInfo nti;
+        __translate_amiga_to_unix_path_name(&argv[0],&nti); 
+    }
+#endif
+
     PL_origargc = argc;
     PL_origargv = argv;
 
@@ -2515,7 +2523,7 @@ Perl_get_av(pTHX_ const char *name, I32 flags)
 Returns the HV of the specified Perl hash.  C<flags> are passed to
 C<gv_fetchpv>.  If C<GV_ADD> is set and the
 Perl variable does not exist then it will be created.  If C<flags> is zero
-and the variable does not exist then NULL is returned.
+and the variable does not exist then C<NULL> is returned.
 
 =cut
 */
@@ -2589,7 +2597,7 @@ Perl_get_cv(pTHX_ const char *name, I32 flags)
 =for apidoc p||call_argv
 
 Performs a callback to the specified named and package-scoped Perl subroutine 
-with C<argv> (a NULL-terminated array of strings) as arguments.  See
+with C<argv> (a C<NULL>-terminated array of strings) as arguments.  See
 L<perlcall>.
 
 Approximate Perl equivalent: C<&{"$sub_name"}(@$argv)>.
@@ -2820,7 +2828,7 @@ Perl_call_sv(pTHX_ SV *sv, VOL I32 flags)
 =for apidoc p||eval_sv
 
 Tells Perl to C<eval> the string in the SV.  It supports the same flags
-as C<call_sv>, with the obvious exception of G_EVAL.  See L<perlcall>.
+as C<call_sv>, with the obvious exception of C<G_EVAL>.  See L<perlcall>.
 
 =cut
 */
@@ -3135,10 +3143,10 @@ Perl_moreswitches(pTHX_ const char *s)
                   s--;
              }
              PL_rs = newSVpvs("");
-             SvGROW(PL_rs, (STRLEN)(UNISKIP(rschar) + 1));
+             SvGROW(PL_rs, (STRLEN)(UVCHR_SKIP(rschar) + 1));
              tmps = (U8*)SvPVX(PL_rs);
              uvchr_to_utf8(tmps, rschar);
-             SvCUR_set(PL_rs, UNISKIP(rschar));
+             SvCUR_set(PL_rs, UVCHR_SKIP(rschar));
              SvUTF8_on(PL_rs);
         }
         else {
@@ -3796,10 +3804,10 @@ S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript)
                    CopFILE(PL_curcop), Strerror(errno));
     }
     fd = PerlIO_fileno(rsfp);
-#if defined(HAS_FCNTL) && defined(F_SETFD)
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
     if (fd >= 0) {
         /* ensure close-on-exec */
-        if (fcntl(fd, F_SETFD, 1) < 0) {
+        if (fcntl(fd, F_SETFD, FD_CLOEXEC) < 0) {
             Perl_croak(aTHX_ "Can't open perl script \"%s\": %s\n",
                        CopFILE(PL_curcop), Strerror(errno));
         }
diff --git a/perl.h b/perl.h
index 7138e8a..a1a50b3 100644 (file)
--- a/perl.h
+++ b/perl.h
 
 /* If this causes problems, set i_unistd=undef in the hint file.  */
 #ifdef I_UNISTD
+#    if defined(__amigaos4__)
+#        ifdef I_NETINET_IN
+#            include <netinet/in.h>
+#        endif
+#   endif
 #   include <unistd.h>
+#   if defined(__amigaos4__)
+/* Under AmigaOS 4 newlib.library provides an environ.  However using
+ * it doesn't give us enough control over inheritance of variables by
+ * subshells etc. so replace with custom version based on abc-shell
+ * code. */
+extern char **myenviron;
+#       undef environ
+#       define environ myenviron
+#   endif
 #endif
 
 /* for WCOREDUMP */
@@ -2789,6 +2803,11 @@ typedef struct padname PADNAME;
 #   include "unixish.h"
 #endif
 
+#ifdef __amigaos4__
+#    include "amigaos.h"
+#    undef FD_CLOEXEC /* a lie in AmigaOS */
+#endif
+
 /* NSIG logic from Configure --> */
 /* Strange style to avoid deeply-nested #if/#else/#endif */
 #ifndef NSIG
@@ -3250,6 +3269,32 @@ typedef pthread_key_t    perl_key;
      vaxc$errno = PL_statusvalue_vms = MY_POSIX_EXIT ? \
        (C_FAC_POSIX | (1 << 3) | STS$K_ERROR | STS$M_INHIB_MSG) : SS$_ABORT)
 
+#elif defined(__amigaos4__)
+ /* A somewhat experimental attempt to simulate posix return code values */
+#   define STATUS_NATIVE       PL_statusvalue_posix
+#   define STATUS_NATIVE_CHILD_SET(n)                      \
+        STMT_START {                                       \
+            PL_statusvalue_posix = (n);                    \
+            if (PL_statusvalue_posix < 0) {                \
+                PL_statusvalue = -1;                       \
+            }                                              \
+            else {                                         \
+                PL_statusvalue = n << 8;                   \
+            }                                              \
+        } STMT_END
+#   define STATUS_UNIX_SET(n)          \
+       STMT_START {                    \
+           PL_statusvalue = (n);               \
+           if (PL_statusvalue != -1)   \
+               PL_statusvalue &= 0xFFFF;       \
+       } STMT_END
+#   define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n)
+#   define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n)
+#   define STATUS_CURRENT STATUS_UNIX
+#   define STATUS_EXIT STATUS_UNIX
+#   define STATUS_ALL_SUCCESS  (PL_statusvalue = 0, PL_statusvalue_posix = 0)
+#   define STATUS_ALL_FAILURE  (PL_statusvalue = 1, PL_statusvalue_posix = 1)
+
 #else
 #   define STATUS_NATIVE       PL_statusvalue_posix
 #   if defined(WCOREDUMP)
@@ -3702,11 +3747,10 @@ typedef        struct crypt_data {     /* straight from /usr/include/crypt.h */
 #  define USE_HASH_SEED
 #endif
 
-/* Win32 defines a type 'WORD' in windef.h. This conflicts with the enumerator
- * 'WORD' defined in perly.h. The yytokentype enum is only a debugging aid, so
- * it's not really needed.
- */
-#if defined(WIN32)
+/* Win32 defines a type 'WORD' in windef.h, and AmigaOS in exec/types.h.
+ * This conflicts with the enumerator 'WORD' defined in perly.h.
+ * The yytokentype enum is only a debugging aid, so it's not really needed. */
+#if defined(WIN32) || defined(__amigaos4__)
 #  define YYTOKENTYPE
 #endif
 #include "perly.h"
@@ -4037,6 +4081,7 @@ Gid_t getegid (void);
 #  define DEBUG_Xv_TEST_ (DEBUG_X_TEST_ && DEBUG_v_TEST_)
 #  define DEBUG_Uv_TEST_ (DEBUG_U_TEST_ && DEBUG_v_TEST_)
 #  define DEBUG_Pv_TEST_ (DEBUG_P_TEST_ && DEBUG_v_TEST_)
+#  define DEBUG_Lv_TEST_ (DEBUG_L_TEST_ && DEBUG_v_TEST_)
 
 #ifdef DEBUGGING
 
@@ -4070,6 +4115,7 @@ Gid_t getegid (void);
 #  define DEBUG_Xv_TEST DEBUG_Xv_TEST_
 #  define DEBUG_Uv_TEST DEBUG_Uv_TEST_
 #  define DEBUG_Pv_TEST DEBUG_Pv_TEST_
+#  define DEBUG_Lv_TEST DEBUG_Lv_TEST_
 
 #  define PERL_DEB(a)                  a
 #  define PERL_DEB2(a,b)               a
@@ -4109,6 +4155,7 @@ Gid_t getegid (void);
 #  define DEBUG_Xv(a) DEBUG__(DEBUG_Xv_TEST, a)
 #  define DEBUG_Uv(a) DEBUG__(DEBUG_Uv_TEST, a)
 #  define DEBUG_Pv(a) DEBUG__(DEBUG_Pv_TEST, a)
+#  define DEBUG_Lv(a) DEBUG__(DEBUG_Lv_TEST, a)
 
 #  define DEBUG_S(a) DEBUG__(DEBUG_S_TEST, a)
 #  define DEBUG_T(a) DEBUG__(DEBUG_T_TEST, a)
@@ -4153,6 +4200,7 @@ Gid_t getegid (void);
 #  define DEBUG_Xv_TEST (0)
 #  define DEBUG_Uv_TEST (0)
 #  define DEBUG_Pv_TEST (0)
+#  define DEBUG_Lv_TEST (0)
 
 #  define PERL_DEB(a)
 #  define PERL_DEB2(a,b)               b
@@ -4186,6 +4234,7 @@ Gid_t getegid (void);
 #  define DEBUG_Xv(a)
 #  define DEBUG_Uv(a)
 #  define DEBUG_Pv(a)
+#  define DEBUG_Lv(a)
 #endif /* DEBUGGING */
 
 
@@ -5395,6 +5444,7 @@ struct tempsym; /* defined in pp_pack.c */
 #  include "win32iop.h"
 #endif
 
+
 #include "proto.h"
 
 /* this has structure inits, so it cannot be included before here */
@@ -6342,6 +6392,10 @@ expression, but with an empty argument list, like this:
 #  include <fcntl.h>
 #endif
 
+#ifdef __amigaos4__
+#  undef FD_CLOEXEC /* a lie in AmigaOS */
+#endif
+
 #ifdef I_SYS_FILE
 #  include <sys/file.h>
 #endif
@@ -6518,7 +6572,7 @@ extern void moncontrol(int);
 
 #define IS_SAFE_PATHNAME(p, len, op_name) IS_SAFE_SYSCALL((p), (len), "pathname", (op_name))
 
-#if defined(OEMVS)
+#if defined(OEMVS) || defined(__amigaos4__)
 #define NO_ENV_ARRAY_IN_MAIN
 #endif
 
diff --git a/perly.c b/perly.c
index abb4d4e..91b4c79 100644 (file)
--- a/perly.c
+++ b/perly.c
@@ -213,7 +213,7 @@ S_clear_yystack(pTHX_  const yy_parser *parser)
        if (yy_type_tab[yystos[ps->state]] == toketype_opval
            && ps->val.opval)
        {
-           if (ps->compcv != PL_compcv) {
+           if (ps->compcv && (ps->compcv != PL_compcv)) {
                PL_compcv = ps->compcv;
                PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1);
                PL_comppad_name = PadlistNAMES(CvPADLIST(PL_compcv));
index c76c880..ca40598 100644 (file)
  *     This symbol contains the ~name expanded version of PRIVLIB, to be used
  *     in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define PRIVLIB "/sys/lib/perl/5.23.2"         /**/
-#define PRIVLIB_EXP "/sys/lib/perl/5.23.2"             /**/
+#define PRIVLIB "/sys/lib/perl/5.23.3"         /**/
+#define PRIVLIB_EXP "/sys/lib/perl/5.23.3"             /**/
 
 /* PTRSIZE:
  *     This symbol contains the size of a pointer, so that the C preprocessor
  *     removed.  The elements in inc_version_list (inc_version_list.U) can
  *     be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "/sys/lib/perl/5.23.2/site_perl"               /**/
-#define SITELIB_EXP "/sys/lib/perl/5.23.2/site_perl"           /**/
-#define SITELIB_STEM "/sys/lib/perl/5.23.2/site_perl"          /**/
+#define SITELIB "/sys/lib/perl/5.23.3/site_perl"               /**/
+#define SITELIB_EXP "/sys/lib/perl/5.23.3/site_perl"           /**/
+#define SITELIB_STEM "/sys/lib/perl/5.23.3/site_perl"          /**/
 
 /* Size_t_size:
  *     This symbol holds the size of a Size_t in bytes.
index f6d809e..a236709 100644 (file)
@@ -32,12 +32,12 @@ alignbytes='4'
 ansi2knr=''
 aphostname='/bin/uname -n'
 api_revision='5'
-api_subversion='2'
+api_subversion='3'
 api_version='23'
-api_versionstring='5.23.2'
+api_versionstring='5.23.3'
 ar='ar'
-archlib='/sys/lib/perl5/5.23.2/386'
-archlibexp='/sys/lib/perl5/5.23.2/386'
+archlib='/sys/lib/perl5/5.23.3/386'
+archlibexp='/sys/lib/perl5/5.23.3/386'
 archname64=''
 archname='386'
 archobjs=''
@@ -790,17 +790,17 @@ inc_version_list=' '
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='/sys/lib/perl/5.23.2/386'
+installarchlib='/sys/lib/perl/5.23.3/386'
 installbin='/usr/bin'
 installman1dir='/sys/man/1pub'
 installman3dir='/sys/man/2pub'
 installprefix='/usr'
 installprefixexp='/usr'
-installprivlib='/sys/lib/perl/5.23.2'
+installprivlib='/sys/lib/perl/5.23.3'
 installscript='/usr/bin'
-installsitearch='/sys/lib/perl/5.23.2/site_perl/386'
+installsitearch='/sys/lib/perl/5.23.3/site_perl/386'
 installsitebin='/usr/bin'
-installsitelib='/sys/lib/perl/5.23.2/site_perl'
+installsitelib='/sys/lib/perl/5.23.3/site_perl'
 installstyle='lib/perl5'
 installusrbinperl='undef'
 installvendorarch=''
@@ -925,8 +925,8 @@ pmake=''
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/sys/lib/perl/5.23.2'
-privlibexp='/sys/lib/perl/5.23.2'
+privlib='/sys/lib/perl/5.23.3'
+privlibexp='/sys/lib/perl/5.23.3'
 procselfexe=''
 prototype='define'
 ptrsize='4'
@@ -991,13 +991,13 @@ sig_num='0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
 sig_num_init='0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 0'
 sig_size='50'
 signal_t='void'
-sitearch='/sys/lib/perl/5.23.2/site_perl/386'
+sitearch='/sys/lib/perl/5.23.3/site_perl/386'
 sitearchexp='/sys/lib/perl/site_perl/386'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
-sitelib='/sys/lib/perl/5.23.2/site_perl'
-sitelib_stem='/sys/lib/perl/5.23.2/site_perl'
-sitelibexp='/sys/lib/perl/5.23.2/site_perl'
+sitelib='/sys/lib/perl/5.23.3/site_perl'
+sitelib_stem='/sys/lib/perl/5.23.3/site_perl'
+sitelibexp='/sys/lib/perl/5.23.3/site_perl'
 siteprefix='/usr'
 siteprefixexp='/usr'
 sizesize='4'
@@ -1030,7 +1030,7 @@ stdio_stream_array=''
 strerror_r_proto='0'
 strings='/sys/include/ape/string.h'
 submit=''
-subversion='2'
+subversion='3'
 sysman='/sys/man/1pub'
 tail=''
 tar=''
@@ -1112,8 +1112,8 @@ vendorlib_stem=''
 vendorlibexp=''
 vendorprefix=''
 vendorprefixexp=''
-version='5.23.2'
-version_patchlevel_string='version 23 subversion 2'
+version='5.23.3'
+version_patchlevel_string='version 23 subversion 3'
 versiononly='undef'
 vi=''
 xlibpth=''
@@ -1127,9 +1127,9 @@ config_args=''
 config_argc=0
 PERL_REVISION=5
 PERL_VERSION=23
-PERL_SUBVERSION=2
+PERL_SUBVERSION=3
 PERL_API_REVISION=5
 PERL_API_VERSION=23
-PERL_API_SUBVERSION=2
+PERL_API_SUBVERSION=3
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true
index 5c50005..e6d5475 100644 (file)
@@ -53,7 +53,7 @@
 /roffitall
 
 # generated
-/perl5232delta.pod
+/perl5233delta.pod
 /perlapi.pod
 /perlintern.pod
 *.html
index 5428314..d8d56eb 100644 (file)
@@ -180,9 +180,11 @@ aux c2ph h2ph h2xs perlbug pl2pm pod2html pod2man splain xsubpp
 
     perlhist           Perl history records
     perldelta          Perl changes since previous version
+    perl5232delta      Perl changes in version 5.23.2
     perl5231delta      Perl changes in version 5.23.1
     perl5230delta      Perl changes in version 5.23.0
     perl5220delta      Perl changes in version 5.22.0
+    perl5203delta      Perl changes in version 5.20.3
     perl5202delta      Perl changes in version 5.20.2
     perl5201delta      Perl changes in version 5.20.1
     perl5200delta      Perl changes in version 5.20.0
diff --git a/pod/perl5203delta.pod b/pod/perl5203delta.pod
new file mode 100644 (file)
index 0000000..7c22b7b
--- /dev/null
@@ -0,0 +1,312 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5203delta - what is new for perl v5.20.3
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.20.2 release and the 5.20.3
+release.
+
+If you are upgrading from an earlier release such as 5.20.1, first read
+L<perl5202delta>, which describes differences between 5.20.1 and 5.20.2.
+
+=head1 Incompatible Changes
+
+There are no changes intentionally incompatible with 5.20.2.  If any exist,
+they are bugs, and we request that you submit a report.  See L</Reporting Bugs>
+below.
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+L<Errno> has been upgraded from version 1.20_05 to 1.20_06.
+
+Add B<-P> to the pre-processor command-line on GCC 5.  GCC added extra line
+directives, breaking parsing of error code definitions.
+L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784>
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20150214 to 5.20150822.
+
+Updated to cover the latest releases of Perl.
+
+=item *
+
+L<perl5db.pl> has been upgraded from 1.44 to 1.44_01.
+
+The debugger would cause an assertion failure.
+L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127>
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlfunc>
+
+=over 4
+
+=item *
+
+Mention that L<C<study()>|perlfunc/study> is currently a no-op.
+
+=back
+
+=head3 L<perlguts>
+
+=over 4
+
+=item *
+
+The OOK example has been updated to account for COW changes and a change in the
+storage of the offset.
+
+=back
+
+=head3 L<perlhacktips>
+
+=over 4
+
+=item *
+
+Documentation has been added illustrating the perils of assuming the contents
+of static memory pointed to by the return values of Perl wrappers for C library
+functions doesn't change.
+
+=back
+
+=head3 L<perlpodspec>
+
+=over 4
+
+=item *
+
+The specification of the POD language is changing so that the default encoding
+of PODs that aren't in UTF-8 (unless otherwise indicated) is CP1252 instead of
+ISO-8859-1 (Latin1).
+
+=back
+
+=head1 Utility Changes
+
+=head2 L<h2ph>
+
+=over 4
+
+=item *
+
+B<h2ph> now handles hexadecimal constants in the compiler's predefined macro
+definitions, as visible in C<$Config{cppsymbols}>.
+L<[perl #123784]|https://rt.perl.org/Ticket/Display.html?id=123784>
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+F<t/perf/taint.t> has been added to see if optimisations with taint issues are
+keeping things fast.
+
+=item *
+
+F<t/porting/re_context.t> has been added to test that L<utf8> and its
+dependencies only use the subset of the C<$1..$n> capture vars that
+Perl_save_re_context() is hard-coded to localize, because that function has no
+efficient way of determining at runtime what vars to localize.
+
+=back
+
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
+
+=over 4
+
+=item Win32
+
+=over 4
+
+=item *
+
+Previously, when compiling with a 64-bit Visual C++, every Perl XS module
+(including CPAN ones) and Perl aware C file would unconditionally have around a
+dozen warnings from F<hv_func.h>.  These warnings have been silenced.  GCC (all
+bitness) and 32-bit Visual C++ were not affected.
+
+=item *
+
+B<miniperl.exe> is now built with B<-fno-strict-aliasing>, allowing 64-bit
+builds to complete with GCC 4.8.
+L<[perl #123976]|https://rt.perl.org/Ticket/Display.html?id=123976>
+
+=back
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Repeated global pattern matches in scalar context on large tainted strings were
+exponentially slow depending on the current match position in the string.
+L<[perl #123202]|https://rt.perl.org/Ticket/Display.html?id=123202>
+
+=item *
+
+The original visible value of L<C<$E<sol>>|perlvar/$E<sol>> is now preserved
+when it is set to an invalid value.  Previously if you set C<$/> to a reference
+to an array, for example, perl would produce a runtime error and not set PL_rs,
+but Perl code that checked C<$/> would see the array reference.
+L<[perl #123218]|https://rt.perl.org/Ticket/Display.html?id=123218>
+
+=item *
+
+Perl 5.14.0 introduced a bug whereby C<eval { LABEL: }> would crash.  This has
+been fixed.
+L<[perl #123652]|https://rt.perl.org/Ticket/Display.html?id=123652>
+
+=item *
+
+Extending an array cloned from a parent thread could result in "Modification of
+a read-only value attempted" errors when attempting to modify the new elements.
+L<[perl #124127]|https://rt.perl.org/Ticket/Display.html?id=124127>
+
+=item *
+
+Several cases of data used to store environment variable contents in core C
+code being potentially overwritten before being used have been fixed.
+L<[perl #123748]|https://rt.perl.org/Ticket/Display.html?id=123748>
+
+=item *
+
+UTF-8 variable names used in array indexes, unquoted UTF-8 HERE-document
+terminators and UTF-8 function names all now work correctly.
+L<[perl #124113]|https://rt.perl.org/Ticket/Display.html?id=124113>
+
+=item *
+
+A subtle bug introduced in Perl 5.20.2 involving UTF-8 in regular expressions
+and sometimes causing a crash has been fixed.  A new test script has been added
+to test this fix; see under L</Testing>.
+L<[perl #124109]|https://rt.perl.org/Ticket/Display.html?id=124109>
+
+=item *
+
+Some patterns starting with C</.*..../> matched against long strings have been
+slow since Perl 5.8, and some of the form C</.*..../i> have been slow since
+Perl 5.18.  They are now all fast again.
+L<[perl #123743]|https://rt.perl.org/Ticket/Display.html?id=123743>
+
+=item *
+
+Warning fatality is now ignored when rewinding the stack.  This prevents
+infinite recursion when the now fatal error also causes rewinding of the stack.
+L<[perl #123398]|https://rt.perl.org/Ticket/Display.html?id=123398>
+
+=item *
+
+C<setpgrp($nonzero)> (with one argument) was accidentally changed in Perl 5.16
+to mean C<setpgrp(0)>.  This has been fixed.
+
+=item *
+
+A crash with C<< %::=(); J->${\"::"} >> has been fixed.
+L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541>
+
+=item *
+
+Regular expression possessive quantifier Perl 5.20 regression now fixed.
+C<qr/>I<PAT>C<{>I<min>,I<max>C<}+>C</> is supposed to behave identically to
+C<qr/(?E<gt>>I<PAT>C<{>I<min>,I<max>C<})/>.  Since Perl 5.20, this didn't work
+if I<min> and I<max> were equal.
+L<[perl #125825]|https://rt.perl.org/Ticket/Display.html?id=125825>
+
+=item *
+
+Code like C</$a[/> used to read the next line of input and treat it as though
+it came immediately after the opening bracket.  Some invalid code consequently
+would parse and run, but some code caused crashes, so this is now disallowed.
+L<[perl #123712]|https://rt.perl.org/Ticket/Display.html?id=123712>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.20.3 represents approximately 7 months of development since Perl 5.20.2
+and contains approximately 3,200 lines of changes across 99 files from 26
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 1,500 lines of changes to 43 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers.  The following people are known to have contributed
+the improvements that became Perl 5.20.3:
+
+Alex Vandiver, Andy Dougherty, Aristotle Pagaltzis, Chris 'BinGOs' Williams,
+Craig A. Berry, Dagfinn Ilmari Mannsåker, Daniel Dragan, David Mitchell,
+Father Chrysostomos, H.Merijn Brand, James E Keenan, James McCoy, Jarkko
+Hietaniemi, Karen Etheridge, Karl Williamson, kmx, Lajos Veres, Lukas Mai,
+Matthew Horsfall, Petr Písař, Randy Stauner, Ricardo Signes, Sawyer X, Steve
+Hay, Tony Cook, Yves Orton.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history.  In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core.  We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+https://rt.perl.org/ .  There may also be information at
+http://www.perl.org/ , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5-security-report@perl.org.  This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who will be
+able to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported.  Please only use this address for
+security issues in the Perl core, not for modules independently distributed on
+CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
diff --git a/pod/perl5232delta.pod b/pod/perl5232delta.pod
new file mode 100644 (file)
index 0000000..220cd51
--- /dev/null
@@ -0,0 +1,375 @@
+=encoding utf8
+
+=head1 NAME
+
+perl5232delta - what is new for perl v5.23.2
+
+=head1 DESCRIPTION
+
+This document describes differences between the 5.23.1 release and the 5.23.2
+release.
+
+If you are upgrading from an earlier release such as 5.23.0, first read
+L<perl5231delta>, which describes differences between 5.23.0 and 5.23.1.
+
+=head1 Incompatible Changes
+
+=head2 Nested declarations are now disallowed
+
+A C<my>, C<our>, or C<state> declaration is no longer allowed inside
+of another C<my>, C<our>, or C<state> declaration.
+
+For example, these are now fatal:
+
+   my ($x, my($y));
+   our (my $x);
+
+L<[perl #125587]|https://rt.perl.org/Ticket/Display.html?id=125587>
+
+L<[perl #121058]|https://rt.perl.org/Ticket/Display.html?id=121058>
+
+=head1 Deprecations
+
+=head2 sysread(), syswrite(), recv() and send() are deprecated on
+:utf8 handles
+
+The sysread(), recv(), syswrite() and send() operators
+are deprecated on handles that have the C<:utf8> layer, either
+explicitly, or implicitly, eg., with the C<:encoding(UTF-16LE)> layer.
+
+Both sysread() and recv() currently use only the C<:utf8> flag for the
+stream, ignoring the actual layers.  Since sysread() and recv() do no
+UTF-8 validation they can end up creating invalidly encoded scalars.
+
+Similarly, syswrite() and send() use only the C<:utf8> flag, otherwise
+ignoring any layers.  If the flag is set, both write the value UTF-8
+encoded, even if the layer is some different encoding, such as the
+example above.
+
+Ideally, all of these operators would completely ignore the C<:utf8>
+state, working only with bytes, but this would result in silently
+breaking existing code.  To avoid this a future version of perl will
+throw an exception when any of sysread(), recv(), syswrite() or send()
+are called on handle with the C<:utf8> layer.
+
+=head1 Performance Enhancements
+
+=over 4
+
+=item *
+
+Creating Perl debugger data structures (see L<perldebguts/"Debugger Internals">)
+for XSUBs and const subs has been removed.  This removed one glob/scalar combo
+for each unique C<.c> file that XSUBs and const subs came from.  On startup
+(C<perl -e"0">) about half a dozen glob/scalar debugger combos were created.
+Loading XS modules created more glob/scalar combos.  These things were created
+regardless if the perl debugger was being used or not, unlike for pure perl
+subs, and ignores that the perl debugger can not debug C code.
+
+=item *
+
+Single arguments in list assign are now slightly faster:
+
+  ($x) = (...);
+  (...) = ($x);
+
+=back
+
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
+
+=over 4
+
+=item *
+
+The PathTools module collection has been upgraded from version 3.55 to
+3.56.
+
+Minor optimizations.
+L<[perl #125712]|https://rt.perl.org/Ticket/Display.html?id=125712>
+
+=item *
+
+L<Attribute::Handlers> has been upgraded from version 0.97 to 0.99.
+
+=item *
+
+L<CPAN::Meta::YAML> has been upgraded from version 0.016 to 0.017.
+
+=item *
+
+L<Encode> has been upgraded from version 2.75 to 2.76.
+
+=item *
+
+L<ExtUtils::ParseXS> has been upgraded from version 3.28 to 3.29.
+
+=item *
+
+L<ExtUtils::Typemaps> has been upgraded from version 3.28 to 3.29.
+
+=item *
+
+L<File::Find> has been upgraded from version 1.29 to 1.30.
+
+=item *
+
+L<File::Spec> has been upgraded from version 3.56 to 3.57.
+
+=item *
+
+L<Filter::Util::Call> has been upgraded from version 1.54 to 1.55.
+
+=item *
+
+L<Hash::Util> has been upgraded from version 0.18 to 0.19.
+
+C<unlock_hashref_recurse> and C<unlock_hash_recurse> didn't
+actually unlock parts of the data structures...
+
+...now they do.
+
+=item *
+
+L<Module::CoreList> has been upgraded from version 5.20150720 to 5.20150820.
+
+=item *
+
+L<perlfaq> has been upgraded from version 5.021009 to 5.021010.
+
+=item *
+
+L<POSIX> has been upgraded from version 1.55 to 1.56.
+
+=item *
+
+L<Term::Cap> has been upgraded from version 1.15 to 1.17.
+
+=item *
+
+L<Unicode::UCD> has been upgraded from version 0.61 to 0.62.
+
+=back
+
+=head1 Documentation
+
+=head2 Changes to Existing Documentation
+
+=head3 L<perlpolicy>
+
+=over 4
+
+=item *
+
+This note has been added to perlpolicy:
+
+  While civility is required, kindness is encouraged; if you have any doubt
+  about whether you are being civil, simply ask yourself, "Am I being kind?"
+  and aspire to that.
+
+=back
+
+=head3 L<perlvar>
+
+=over 4
+
+=item *
+
+Use of C<$OLD_PERL_VERSION> is now discouraged.
+
+=back
+
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages.  For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=head3 New Errors
+
+=over 4
+
+=item *
+
+L<Can't redeclare "%s" in "%s"|perldiag/"Can't redeclare "%s" in "%s"">
+
+(F) A "my", "our" or "state" declaration was found within another declaration,
+such as C<my ($x, my($y), $z)> or C<our (my $x)>.
+
+=back
+
+=head3 New Warnings
+
+=over 4
+
+=item *
+
+L<%s() is deprecated on :utf8 handles|perldiag/"%s() is deprecated on :utf8 handles">
+
+(W deprecated) The sysread(), recv(), syswrite() and send() operators
+are deprecated on handles that have the C<:utf8> layer, either
+explicitly, or implicitly, eg., with the C<:encoding(UTF-16LE)> layer.
+
+Both sysread() and recv() currently use only the C<:utf8> flag for the
+stream, ignoring the actual layers.  Since sysread() and recv() do no
+UTF-8 validation they can end up creating invalidly encoded scalars.
+
+Similarly, syswrite() and send() use only the C<:utf8> flag, otherwise
+ignoring any layers.  If the flag is set, both write the value UTF-8
+encoded, even if the layer is some different encoding, such as the
+example above.
+
+Ideally, all of these operators would completely ignore the C<:utf8>
+state, working only with bytes, but this would result in silently
+breaking existing code.  To avoid this a future version of perl will
+throw an exception when any of sysread(), recv(), syswrite() or send()
+are called on handle with the C<:utf8> layer.
+
+=back
+
+=head2 Changes to Existing Diagnostics
+
+=over 4
+
+=item *
+
+The diagnostic C<< Hexadecimal float: internal error >> has been changed to
+C<< Hexadecimal float: internal error (%s) >> to include more information.
+
+=back
+
+=head1 Configuration and Compilation
+
+=over 4
+
+=item *
+
+F<Configure> should handle spaces in paths a little better.
+
+=back
+
+=head1 Testing
+
+=over 4
+
+=item *
+
+A new test (F<t/op/aassign.t>) has been added to test the list assignment operator
+C<OP_AASSIGN>.
+
+=back
+
+=head1 Internal Changes
+
+=over 4
+
+=item *
+
+C<PL_sawalias> and C<GPf_ALIASED_SV> have been removed.
+
+=item *
+
+C<GvASSIGN_GENERATION> and C<GvASSIGN_GENERATION_set> have been removed.
+
+=back
+
+=head1 Selected Bug Fixes
+
+=over 4
+
+=item *
+
+Perl can again be compiled with any Unicode version.  This used to
+(mostly) work, but was lost in v5.18 through v5.20.  The property
+C<Name_Alias> did not exist prior to Unicode 5.0.  L<Unicode::UCD>
+incorrectly said it did.  This has been fixed.
+
+=item *
+
+Very large code-points (beyond Unicode) in regular expressions no
+longer cause a buffer overflow in some cases when converted to UTF-8.
+L<[perl #125826]|https://rt.perl.org/Ticket/Display.html?id=125826>
+
+=item *
+
+The integer overflow check for the range operator (...) in list
+context now correctly handles the case where the size of the range is
+larger than the address space.  This could happen on 32-bits with
+-Duse64bitint.
+L<[perl #125781]|https://rt.perl.org/Ticket/Display.html?id=125781>
+
+=item *
+
+A crash with C<< %::=(); J->${\"::"} >> has been fixed.
+L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541>
+
+=back
+
+=head1 Acknowledgements
+
+Perl 5.23.2 represents approximately 4 weeks of development since Perl 5.23.1
+and contains approximately 22,000 lines of changes across 240 files from 23
+authors.
+
+Excluding auto-generated files, documentation and release tools, there were
+approximately 17,000 lines of changes to 140 .pm, .t, .c and .h files.
+
+Perl continues to flourish into its third decade thanks to a vibrant community
+of users and developers. The following people are known to have contributed the
+improvements that became Perl 5.23.2:
+
+Aaron Priven, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Craig A. Berry,
+Dagfinn Ilmari Mannsåker, Daniel Dragan, David Mitchell, Ed J, Father
+Chrysostomos, H.Merijn Brand, Ivan Pozdeev, James E Keenan, Jarkko Hietaniemi,
+Karen Etheridge, Karl Williamson, Ludovic E. R. Tolhurst-Cleaver, Lukas Mai,
+Matthew Horsfall, Reini Urban, Ricardo Signes, Sisyphus, Steve Hay, Tony Cook.
+
+The list above is almost certainly incomplete as it is automatically generated
+from version control history. In particular, it does not include the names of
+the (very much appreciated) contributors who reported issues to the Perl bug
+tracker.
+
+Many of the changes included in this version originated in the CPAN modules
+included in Perl's core. We're grateful to the entire CPAN community for
+helping Perl to flourish.
+
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> file in the Perl source distribution.
+
+=head1 Reporting Bugs
+
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+L<https://rt.perl.org/> .  There may also be information at
+L<http://www.perl.org/> , the Perl Home Page.
+
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug@perl.org to be analysed by the Perl porting team.
+
+If the bug you are reporting has security implications, which make it
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5-security-report@perl.org.  This points to a closed subscription
+unarchived mailing list, which includes all the core committers, who will be
+able to help assess the impact of issues, figure out a resolution, and help
+co-ordinate the release of patches to mitigate or fix the problem across all
+platforms on which Perl is supported.  Please only use this address for
+security issues in the Perl core, not for modules independently distributed on
+CPAN.
+
+=head1 SEE ALSO
+
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
+
+The F<INSTALL> file for how to build Perl.
+
+The F<README> file for general stuff.
+
+The F<Artistic> and F<Copying> files for copyright information.
+
+=cut
index a7f3cc8..a879809 100644 (file)
@@ -4,66 +4,69 @@ perlapio - perl's IO abstraction interface.
 
 =head1 SYNOPSIS
 
-    #define PERLIO_NOT_STDIO 0    /* For co-existence with stdio only */
-    #include <perlio.h>           /* Usually via #include <perl.h> */
-
-    PerlIO *PerlIO_stdin(void);
-    PerlIO *PerlIO_stdout(void);
-    PerlIO *PerlIO_stderr(void);
-
-    PerlIO *PerlIO_open(const char *path,const char *mode);
-    PerlIO *PerlIO_fdopen(int fd, const char *mode);
-    PerlIO *PerlIO_reopen(const char *path, const char *mode, PerlIO *old);  /* deprecated */
-    int     PerlIO_close(PerlIO *f);
-
-    int     PerlIO_stdoutf(const char *fmt,...)
-    int     PerlIO_puts(PerlIO *f,const char *string);
-    int     PerlIO_putc(PerlIO *f,int ch);
-    SSize_t PerlIO_write(PerlIO *f,const void *buf,size_t numbytes);
-    int     PerlIO_printf(PerlIO *f, const char *fmt,...);
-    int     PerlIO_vprintf(PerlIO *f, const char *fmt, va_list args);
-    int     PerlIO_flush(PerlIO *f);
-
-    int     PerlIO_eof(PerlIO *f);
-    int     PerlIO_error(PerlIO *f);
-    void    PerlIO_clearerr(PerlIO *f);
-
-    int     PerlIO_getc(PerlIO *d);
-    int     PerlIO_ungetc(PerlIO *f,int ch);
-    SSize_t PerlIO_read(PerlIO *f, void *buf, size_t numbytes);
-
-    int     PerlIO_fileno(PerlIO *f);
-
-    void    PerlIO_setlinebuf(PerlIO *f);
-
-    Off_t   PerlIO_tell(PerlIO *f);
-    int     PerlIO_seek(PerlIO *f, Off_t offset, int whence);
-    void    PerlIO_rewind(PerlIO *f);
-
-    int     PerlIO_getpos(PerlIO *f, SV *save);        /* prototype changed */
-    int     PerlIO_setpos(PerlIO *f, SV *saved);       /* prototype changed */
-
-    int     PerlIO_fast_gets(PerlIO *f);
-    int     PerlIO_has_cntptr(PerlIO *f);
-    SSize_t PerlIO_get_cnt(PerlIO *f);
-    char   *PerlIO_get_ptr(PerlIO *f);
-    void    PerlIO_set_ptrcnt(PerlIO *f, char *ptr, SSize_t count);
-
-    int     PerlIO_canset_cnt(PerlIO *f);              /* deprecated */
-    void    PerlIO_set_cnt(PerlIO *f, int count);      /* deprecated */
-
-    int     PerlIO_has_base(PerlIO *f);
-    char   *PerlIO_get_base(PerlIO *f);
-    SSize_t PerlIO_get_bufsiz(PerlIO *f);
-
-    PerlIO *PerlIO_importFILE(FILE *stdio, const char *mode);
-    FILE   *PerlIO_exportFILE(PerlIO *f, int flags);
-    FILE   *PerlIO_findFILE(PerlIO *f);
-    void    PerlIO_releaseFILE(PerlIO *f,FILE *stdio);
-
-    int     PerlIO_apply_layers(PerlIO *f, const char *mode, const char *layers);
-    int     PerlIO_binmode(PerlIO *f, int ptype, int imode, const char *layers);
-    void    PerlIO_debug(const char *fmt,...)
+  #define PERLIO_NOT_STDIO 0    /* For co-existence with stdio only */
+  #include <perlio.h>           /* Usually via #include <perl.h> */
+
+  PerlIO *PerlIO_stdin(void);
+  PerlIO *PerlIO_stdout(void);
+  PerlIO *PerlIO_stderr(void);
+
+  PerlIO *PerlIO_open(const char *path,const char *mode);
+  PerlIO *PerlIO_fdopen(int fd, const char *mode);
+  PerlIO *PerlIO_reopen(const char *path, /* deprecated */
+          const char *mode, PerlIO *old);
+  int     PerlIO_close(PerlIO *f);
+
+  int     PerlIO_stdoutf(const char *fmt,...)
+  int     PerlIO_puts(PerlIO *f,const char *string);
+  int     PerlIO_putc(PerlIO *f,int ch);
+  SSize_t PerlIO_write(PerlIO *f,const void *buf,size_t numbytes);
+  int     PerlIO_printf(PerlIO *f, const char *fmt,...);
+  int     PerlIO_vprintf(PerlIO *f, const char *fmt, va_list args);
+  int     PerlIO_flush(PerlIO *f);
+
+  int     PerlIO_eof(PerlIO *f);
+  int     PerlIO_error(PerlIO *f);
+  void    PerlIO_clearerr(PerlIO *f);
+
+  int     PerlIO_getc(PerlIO *d);
+  int     PerlIO_ungetc(PerlIO *f,int ch);
+  SSize_t PerlIO_read(PerlIO *f, void *buf, size_t numbytes);
+
+  int     PerlIO_fileno(PerlIO *f);
+
+  void    PerlIO_setlinebuf(PerlIO *f);
+
+  Off_t   PerlIO_tell(PerlIO *f);
+  int     PerlIO_seek(PerlIO *f, Off_t offset, int whence);
+  void    PerlIO_rewind(PerlIO *f);
+
+  int     PerlIO_getpos(PerlIO *f, SV *save);    /* prototype changed */
+  int     PerlIO_setpos(PerlIO *f, SV *saved);   /* prototype changed */
+
+  int     PerlIO_fast_gets(PerlIO *f);
+  int     PerlIO_has_cntptr(PerlIO *f);
+  SSize_t PerlIO_get_cnt(PerlIO *f);
+  char   *PerlIO_get_ptr(PerlIO *f);
+  void    PerlIO_set_ptrcnt(PerlIO *f, char *ptr, SSize_t count);
+
+  int     PerlIO_canset_cnt(PerlIO *f);              /* deprecated */
+  void    PerlIO_set_cnt(PerlIO *f, int count);      /* deprecated */
+
+  int     PerlIO_has_base(PerlIO *f);
+  char   *PerlIO_get_base(PerlIO *f);
+  SSize_t PerlIO_get_bufsiz(PerlIO *f);
+
+  PerlIO *PerlIO_importFILE(FILE *stdio, const char *mode);
+  FILE   *PerlIO_exportFILE(PerlIO *f, int flags);
+  FILE   *PerlIO_findFILE(PerlIO *f);
+  void    PerlIO_releaseFILE(PerlIO *f,FILE *stdio);
+
+  int     PerlIO_apply_layers(PerlIO *f, const char *mode,
+                                                    const char *layers);
+  int     PerlIO_binmode(PerlIO *f, int ptype, int imode,
+                                                    const char *layers);
+  void    PerlIO_debug(const char *fmt,...)
 
 =head1 DESCRIPTION
 
index 514f72c..e03a1d3 100644 (file)
@@ -6,12 +6,13 @@ perlbook - Books about and related to Perl
 
 There are many books on Perl and Perl-related. A few of these are
 good, some are OK, but many aren't worth your money. There is a list
-of these books, some with extensive reviews, at http://books.perl.org/
-. We list some of the books here, and while listing a book implies our
+of these books, some with extensive reviews, at
+L<http://books.perl.org/> . We list some of the books here, and while
+listing a book implies our
 endorsement, don't think that not including a book means anything.
 
 Most of these books are available online through Safari Books Online
-( http://safaribooksonline.com/ ).
+( L<http://safaribooksonline.com/> ).
 
 =head2 The most popular books
 
@@ -22,10 +23,10 @@ I<Programming Perl>:
 
 =item I<Programming Perl> (the "Camel Book"):
 
      by Tom Christiansen, brian d foy, Larry Wall with Jon Orwant
      ISBN 978-0-596-00492-7 [4th edition February 2012]
      ISBN 978-1-4493-9890-3 [ebook]
      http://oreilly.com/catalog/9780596004927
+ by Tom Christiansen, brian d foy, Larry Wall with Jon Orwant
+ ISBN 978-0-596-00492-7 [4th edition February 2012]
+ ISBN 978-1-4493-9890-3 [ebook]
+ http://oreilly.com/catalog/9780596004927
 
 =back
 
@@ -36,11 +37,11 @@ accomplish specific tasks:
 
 =item I<The Perl Cookbook> (the "Ram Book"):
 
      by Tom Christiansen and Nathan Torkington,
          with Foreword by Larry Wall
      ISBN 978-0-596-00313-5 [2nd Edition August 2003]
      ISBN 978-0-596-15888-0 [ebook]
      http://oreilly.com/catalog/9780596003135/
+ by Tom Christiansen and Nathan Torkington,
+ with Foreword by Larry Wall
+ ISBN 978-0-596-00313-5 [2nd Edition August 2003]
+ ISBN 978-0-596-15888-0 [ebook]
+ http://oreilly.com/catalog/9780596003135/
 
 =back
 
@@ -52,10 +53,10 @@ programming:
 
 =item I<Learning Perl>  (the "Llama Book")
 
      by Randal L. Schwartz, Tom Phoenix, and brian d foy
      ISBN 978-1-4493-0358-7 [6th edition June 2011]
      ISBN 978-1-4493-0458-4 [ebook]
      http://www.learning-perl.com/
+ by Randal L. Schwartz, Tom Phoenix, and brian d foy
+ ISBN 978-1-4493-0358-7 [6th edition June 2011]
+ ISBN 978-1-4493-0458-4 [ebook]
+ http://www.learning-perl.com/
 
 =back
 
@@ -67,11 +68,11 @@ object-oriented programming, and modules:
 
 =item I<Intermediate Perl> (the "Alpaca Book")
 
      by Randal L. Schwartz and brian d foy, with Tom Phoenix
-               foreword by Damian Conway
      ISBN 978-1-4493-9309-0 [2nd edition August 2012]
      ISBN 978-1-4493-0459-1 [ebook]
      http://www.intermediateperl.com/
+ by Randal L. Schwartz and brian d foy, with Tom Phoenix
+         foreword by Damian Conway
+ ISBN 978-1-4493-9309-0 [2nd edition August 2012]
+ ISBN 978-1-4493-0459-1 [ebook]
+ http://www.intermediateperl.com/
 
 =back
 
@@ -83,24 +84,24 @@ You might want to keep these desktop references close by your keyboard:
 
 =item I<Perl 5 Pocket Reference>
 
      by Johan Vromans
      ISBN 978-1-4493-0370-9 [5th edition July 2011]
      ISBN 978-1-4493-0813-1 [ebook]
      http://oreilly.com/catalog/0636920018476/
+ by Johan Vromans
+ ISBN 978-1-4493-0370-9 [5th edition July 2011]
+ ISBN 978-1-4493-0813-1 [ebook]
+ http://oreilly.com/catalog/0636920018476/
 
 =item I<Perl Debugger Pocket Reference>
 
      by Richard Foley
      ISBN 978-0-596-00503-0 [1st edition January 2004]
      ISBN 978-0-596-55625-9 [ebook]
      http://oreilly.com/catalog/9780596005030/
+ by Richard Foley
+ ISBN 978-0-596-00503-0 [1st edition January 2004]
+ ISBN 978-0-596-55625-9 [ebook]
+ http://oreilly.com/catalog/9780596005030/
 
 =item I<Regular Expression Pocket Reference>
 
      by Tony Stubblebine
      ISBN 978-0-596-51427-3 [2nd edition July 2007]
      ISBN 978-0-596-55782-9 [ebook]
      http://oreilly.com/catalog/9780596514273/
+ by Tony Stubblebine
+ ISBN 978-0-596-51427-3 [2nd edition July 2007]
+ ISBN 978-0-596-55782-9 [ebook]
+ http://oreilly.com/catalog/9780596514273/
 
 =back
 
@@ -110,37 +111,43 @@ You might want to keep these desktop references close by your keyboard:
 
 =item I<Beginning Perl>
 
-       by James Lee
-       ISBN 1-59059-391-X [3rd edition April 2010 & ebook]
-       http://www.apress.com/9781430227939
+(There are 2 books with this title)
+
+ by Curtis 'Ovid' Poe
+ ISBN 978-1-118-01384-7
+ http://www.wrox.com/WileyCDA/WroxTitle/productCd-1118013840.html
+
+ by James Lee
+ ISBN 1-59059-391-X [3rd edition April 2010 & ebook]
+ http://www.apress.com/9781430227939
 
 =item I<Learning Perl> (the "Llama Book")
 
      by Randal L. Schwartz, Tom Phoenix, and brian d foy
      ISBN 978-1-4493-0358-7 [6th edition June 2011]
      ISBN 978-1-4493-0458-4 [ebook]
      http://www.learning-perl.com/
+ by Randal L. Schwartz, Tom Phoenix, and brian d foy
+ ISBN 978-1-4493-0358-7 [6th edition June 2011]
+ ISBN 978-1-4493-0458-4 [ebook]
+ http://www.learning-perl.com/
 
 =item I<Intermediate Perl> (the "Alpaca Book")
 
   by Randal L. Schwartz and brian d foy, with Tom Phoenix
-               foreword by Damian Conway
      ISBN 978-1-4493-9309-0 [2nd edition August 2012]
      ISBN 978-1-4493-0459-1 [ebook]
      http://www.intermediateperl.com/
+ by Randal L. Schwartz and brian d foy, with Tom Phoenix
+         foreword by Damian Conway
+ ISBN 978-1-4493-9309-0 [2nd edition August 2012]
+ ISBN 978-1-4493-0459-1 [ebook]
+ http://www.intermediateperl.com/
 
 =item I<Mastering Perl>
 
     by brian d foy
      ISBN 9978-1-4493-9311-3 [2st edition January 2014]
      ISBN 978-1-4493-6487-8 [ebook]
      http://www.masteringperl.org/
+ ISBN 9978-1-4493-9311-3 [2st edition January 2014]
+ ISBN 978-1-4493-6487-8 [ebook]
+ http://www.masteringperl.org/
 
 =item I<Effective Perl Programming>
 
      by Joseph N. Hall, Joshua A. McAdams, brian d foy
      ISBN 0-321-49694-9 [2nd edition 2010]
      http://www.effectiveperlprogramming.com/
+ by Joseph N. Hall, Joshua A. McAdams, brian d foy
+ ISBN 0-321-49694-9 [2nd edition 2010]
+ http://www.effectiveperlprogramming.com/
 
 =back
 
@@ -150,30 +157,30 @@ You might want to keep these desktop references close by your keyboard:
 
 =item I<Writing Perl Modules for CPAN>
 
      by Sam Tregar
      ISBN 1-59059-018-X [1st edition August 2002 & ebook]
      http://www.apress.com/9781590590188
+ by Sam Tregar
+ ISBN 1-59059-018-X [1st edition August 2002 & ebook]
+ http://www.apress.com/9781590590188
 
 =item I<The Perl Cookbook>
 
      by Tom Christiansen and Nathan Torkington,
-           with Foreword by Larry Wall
      ISBN 978-0-596-00313-5 [2nd Edition August 2003]
      ISBN 978-0-596-15888-0 [ebook]
      http://oreilly.com/catalog/9780596003135/
+ by Tom Christiansen and Nathan Torkington,
+     with Foreword by Larry Wall
+ ISBN 978-0-596-00313-5 [2nd Edition August 2003]
+ ISBN 978-0-596-15888-0 [ebook]
+ http://oreilly.com/catalog/9780596003135/
 
 =item I<Automating System Administration with Perl>
 
      by David N. Blank-Edelman
      ISBN 978-0-596-00639-6 [2nd edition May 2009]
      ISBN 978-0-596-80251-6 [ebook]
      http://oreilly.com/catalog/9780596006396
+ by David N. Blank-Edelman
+ ISBN 978-0-596-00639-6 [2nd edition May 2009]
+ ISBN 978-0-596-80251-6 [ebook]
+ http://oreilly.com/catalog/9780596006396
 
 =item I<Real World SQL Server Administration with Perl>
 
      by Linchi Shea
      ISBN 1-59059-097-X [1st edition July 2003 & ebook]
      http://www.apress.com/9781590590973
+ by Linchi Shea
+ ISBN 1-59059-097-X [1st edition July 2003 & ebook]
+ http://www.apress.com/9781590590973
 
 =back
 
@@ -183,83 +190,83 @@ You might want to keep these desktop references close by your keyboard:
 
 =item I<Regular Expressions Cookbook>
 
      by Jan Goyvaerts and Steven Levithan
      ISBN 978-1-4493-1943-4 [2nd edition August 2012]
      ISBN 978-1-4493-2747-7 [ebook]
      http://shop.oreilly.com/product/0636920023630.do
+ by Jan Goyvaerts and Steven Levithan
+ ISBN 978-1-4493-1943-4 [2nd edition August 2012]
+ ISBN 978-1-4493-2747-7 [ebook]
+ http://shop.oreilly.com/product/0636920023630.do
 
 =item I<Programming the Perl DBI>
 
      by Tim Bunce and Alligator Descartes
      ISBN 978-1-56592-699-8 [February 2000]
      ISBN 978-1-4493-8670-2 [ebook]
      http://oreilly.com/catalog/9781565926998
+ by Tim Bunce and Alligator Descartes
+ ISBN 978-1-56592-699-8 [February 2000]
+ ISBN 978-1-4493-8670-2 [ebook]
+ http://oreilly.com/catalog/9781565926998
 
 =item I<Perl Best Practices>
 
      by Damian Conway
      ISBN 978-0-596-00173-5 [1st edition July 2005]
      ISBN 978-0-596-15900-9 [ebook]
      http://oreilly.com/catalog/9780596001735
+ by Damian Conway
+ ISBN 978-0-596-00173-5 [1st edition July 2005]
+ ISBN 978-0-596-15900-9 [ebook]
+ http://oreilly.com/catalog/9780596001735
 
 =item I<Higher-Order Perl>
 
      by Mark-Jason Dominus
      ISBN 1-55860-701-3 [1st edition March 2005]
      free ebook http://hop.perl.plover.com/book/
      http://hop.perl.plover.com/
+ by Mark-Jason Dominus
+ ISBN 1-55860-701-3 [1st edition March 2005]
+ free ebook http://hop.perl.plover.com/book/
+ http://hop.perl.plover.com/
 
 =item I<Mastering Regular Expressions>
 
      by Jeffrey E. F. Friedl
      ISBN 978-0-596-52812-6 [3rd edition August 2006]
      ISBN 978-0-596-55899-4 [ebook]
      http://oreilly.com/catalog/9780596528126
+ by Jeffrey E. F. Friedl
+ ISBN 978-0-596-52812-6 [3rd edition August 2006]
+ ISBN 978-0-596-55899-4 [ebook]
+ http://oreilly.com/catalog/9780596528126
 
 =item I<Network Programming with Perl>
 
      by Lincoln Stein
      ISBN 0-201-61571-1 [1st edition 2001]
      http://www.pearsonhighered.com/educator/product/Network-Programming-with-Perl/9780201615715.page
+ by Lincoln Stein
+ ISBN 0-201-61571-1 [1st edition 2001]
+ http://www.pearsonhighered.com/educator/product/Network-Programming-with-Perl/9780201615715.page
 
 =item I<Perl Template Toolkit>
 
      by Darren Chamberlain, Dave Cross, and Andy Wardley
      ISBN 978-0-596-00476-7 [December 2003]
      ISBN 978-1-4493-8647-4 [ebook]
      http://oreilly.com/catalog/9780596004767
+ by Darren Chamberlain, Dave Cross, and Andy Wardley
+ ISBN 978-0-596-00476-7 [December 2003]
+ ISBN 978-1-4493-8647-4 [ebook]
+ http://oreilly.com/catalog/9780596004767
 
 =item I<Object Oriented Perl>
 
      by Damian Conway
-           with foreword by Randal L. Schwartz
      ISBN 1-884777-79-1 [1st edition August 1999 & ebook]
      http://www.manning.com/conway/
+ by Damian Conway
+     with foreword by Randal L. Schwartz
+ ISBN 1-884777-79-1 [1st edition August 1999 & ebook]
+ http://www.manning.com/conway/
 
 =item I<Data Munging with Perl>
 
      by Dave Cross
      ISBN 1-930110-00-6 [1st edition 2001 & ebook]
      http://www.manning.com/cross
+ by Dave Cross
+ ISBN 1-930110-00-6 [1st edition 2001 & ebook]
+ http://www.manning.com/cross
 
 =item I<Mastering Perl/Tk>
 
      by Steve Lidie and Nancy Walsh
      ISBN 978-1-56592-716-2 [1st edition January 2002]
      ISBN 978-0-596-10344-6 [ebook]
      http://oreilly.com/catalog/9781565927162
+ by Steve Lidie and Nancy Walsh
+ ISBN 978-1-56592-716-2 [1st edition January 2002]
+ ISBN 978-0-596-10344-6 [ebook]
+ http://oreilly.com/catalog/9781565927162
 
 =item I<Extending and Embedding Perl>
 
      by Tim Jenness and Simon Cozens
      ISBN 1-930110-82-0 [1st edition August 2002 & ebook]
      http://www.manning.com/jenness
+ by Tim Jenness and Simon Cozens
+ ISBN 1-930110-82-0 [1st edition August 2002 & ebook]
+ http://www.manning.com/jenness
 
 =item I<Pro Perl Debugging>
 
      by Richard Foley with Andy Lester
      ISBN 1-59059-454-1 [1st edition July 2005 & ebook]
      http://www.apress.com/9781590594544
+ by Richard Foley with Andy Lester
+ ISBN 1-59059-454-1 [1st edition July 2005 & ebook]
+ http://www.apress.com/9781590594544
 
 =back
 
@@ -267,7 +274,9 @@ You might want to keep these desktop references close by your keyboard:
 
 Some of these books are available as free downloads.
 
-I<Higher-Order Perl>: http://hop.perl.plover.com/
+I<Higher-Order Perl>: L<http://hop.perl.plover.com/>
+
+I<Modern Perl>: L<http://onyxneon.com/books/modern_perl/>
 
 =head2 Other interesting, non-Perl books
 
@@ -279,13 +288,13 @@ Perl book (which came later) is not completely accidental:
 
 =item I<Programming Pearls>
 
      by Jon Bentley
      ISBN 978-0-201-65788-3 [2 edition, October 1999]
+ by Jon Bentley
+ ISBN 978-0-201-65788-3 [2 edition, October 1999]
 
 =item I<More Programming Pearls>
 
      by Jon Bentley
      ISBN 0-201-11889-0 [January 1988]
+ by Jon Bentley
+ ISBN 0-201-11889-0 [January 1988]
 
 =back
 
@@ -295,7 +304,7 @@ Each version of Perl comes with the documentation that was current at
 the time of release. This poses a problem for content such as book
 lists. There are probably very nice books published after this list
 was included in your Perl release, and you can check the latest
-released version at http://perldoc.perl.org/perlbook.html .
+released version at L<http://perldoc.perl.org/perlbook.html> .
 
 Some of the books we've listed appear almost ancient in internet
 scale, but we've included those books because they still describe the
@@ -307,5 +316,6 @@ limit this list to books published in the past five years.
 =head2 Get your book listed
 
 If your Perl book isn't listed and you think it should be, let us know.
+L<mailto:perl5-porters@perl.org>
 
 =cut
index f8d2dde..327e253 100644 (file)
@@ -66,7 +66,7 @@ to invoke the Perl subroutine.
 All the I<call_*> functions have a C<flags> parameter which is
 used to pass a bit mask of options to Perl.  This bit mask operates
 identically for each of the functions.  The settings available in the
-bit mask are discussed in L<FLAG VALUES>.
+bit mask are discussed in L</FLAG VALUES>.
 
 Each of the functions will now be discussed in turn.
 
@@ -77,7 +77,7 @@ Each of the functions will now be discussed in turn.
 I<call_sv> takes two parameters. The first, C<sv>, is an SV*.
 This allows you to specify the Perl subroutine to be called either as a
 C string (which has first been converted to an SV) or a reference to a
-subroutine. The section, I<Using call_sv>, shows how you can make
+subroutine. The section, L</Using call_sv>, shows how you can make
 use of I<call_sv>.
 
 =item call_pv
@@ -96,7 +96,7 @@ to be called.  Note that the class that the method belongs to is passed
 on the Perl stack rather than in the parameter list. This class can be
 either the name of the class (for a static method) or a reference to an
 object (for a virtual method).  See L<perlobj> for more information on
-static and virtual methods and L<Using call_method> for an example
+static and virtual methods and L</Using call_method> for an example
 of using I<call_method>.
 
 =item call_argv
@@ -105,7 +105,7 @@ I<call_argv> calls the Perl subroutine specified by the C string
 stored in the C<subname> parameter. It also takes the usual C<flags>
 parameter.  The final parameter, C<argv>, consists of a NULL-terminated
 list of C strings to be passed as parameters to the Perl subroutine.
-See I<Using call_argv>.
+See L</Using call_argv>.
 
 =back
 
@@ -180,14 +180,14 @@ be either 0 or 1.
 If 0, then you have specified the G_DISCARD flag.
 
 If 1, then the item actually returned by the Perl subroutine will be
-stored on the Perl stack - the section I<Returning a Scalar> shows how
+stored on the Perl stack - the section L</Returning a Scalar> shows how
 to access this value on the stack.  Remember that regardless of how
 many items the Perl subroutine returns, only the last one will be
 accessible from the stack - think of the case where only one value is
 returned as being a list with only one element.  Any other items that
 were returned will not exist by the time control returns from the
-I<call_*> function.  The section I<Returning a list in a scalar
-context> shows an example of this behavior.
+I<call_*> function.  The section L</Returning a List in Scalar
+Context> shows an example of this behavior.
 
 
 =head2 G_ARRAY
@@ -217,7 +217,7 @@ If 0, then you have specified the G_DISCARD flag.
 
 If not 0, then it will be a count of the number of items returned by
 the subroutine. These items will be stored on the Perl stack.  The
-section I<Returning a list of values> gives an example of using the
+section L</Returning a List of Values> gives an example of using the
 G_ARRAY flag and the mechanics of accessing the returned items from the
 Perl stack.
 
@@ -232,9 +232,9 @@ context to the Perl subroutine by using either G_SCALAR or G_ARRAY.
 If you do not set this flag then it is I<very> important that you make
 sure that any temporaries (i.e., parameters passed to the Perl
 subroutine and values returned from the subroutine) are disposed of
-yourself.  The section I<Returning a Scalar> gives details of how to
-dispose of these temporaries explicitly and the section I<Using Perl to
-dispose of temporaries> discusses the specific circumstances where you
+yourself.  The section L</Returning a Scalar> gives details of how to
+dispose of these temporaries explicitly and the section L</Using Perl to
+Dispose of Temporaries> discusses the specific circumstances where you
 can ignore the problem and let Perl deal with it for you.
 
 =head2 G_NOARGS
@@ -315,7 +315,7 @@ from the stack.
 
 =back
 
-See I<Using G_EVAL> for details on using G_EVAL.
+See L</Using G_EVAL> for details on using G_EVAL.
 
 =head2 G_KEEPERR
 
@@ -350,7 +350,7 @@ may still set C<$@>.
 
 The G_KEEPERR flag was introduced in Perl version 5.002.
 
-See I<Using G_KEEPERR> for an example of a situation that warrants the
+See L</Using G_KEEPERR> for an example of a situation that warrants the
 use of this flag.
 
 =head2 Determining the Context
@@ -363,7 +363,7 @@ in a scalar context, or C<G_VOID> if in a void context (i.e., the
 return value will not be used).  An older version of this macro is
 called C<GIMME>; in a void context it returns C<G_SCALAR> instead of
 C<G_VOID>.  An example of using the C<GIMME_V> macro is shown in
-section I<Using GIMME_V>.
+section L</Using GIMME_V>.
 
 =head1 EXAMPLES
 
@@ -379,7 +379,7 @@ have made use of only the I<call_pv> function.  This has been done
 to keep the code simpler and ease you into the topic.  Wherever
 possible, if the choice is between using I<call_pv> and
 I<call_sv>, you should always try to use I<call_sv>.  See
-I<Using call_sv> for details.
+L</Using call_sv> for details.
 
 =head2 No Parameters, Nothing Returned
 
@@ -466,8 +466,9 @@ The C function required to call I<LeftString> would look like this:
         SAVETMPS;
 
         PUSHMARK(SP);
-        XPUSHs(sv_2mortal(newSVpv(a, 0)));
-        XPUSHs(sv_2mortal(newSViv(b)));
+        EXTEND(SP, 2);
+        PUSHs(sv_2mortal(newSVpv(a, 0)));
+        PUSHs(sv_2mortal(newSViv(b)));
         PUTBACK;
 
         call_pv("LeftString", G_DISCARD);
@@ -512,7 +513,7 @@ subroutine, it knows how big to make it.
 
 The C<PUSHMARK> macro tells Perl to make a mental note of the current
 stack pointer. Even if you aren't passing any parameters (like the
-example shown in the section I<No Parameters, Nothing Returned>) you
+example shown in the section L</No Parameters, Nothing Returned>) you
 must still call the C<PUSHMARK> macro before you can call any of the
 I<call_*> functions--Perl still needs to know that there are no
 parameters.
@@ -525,12 +526,16 @@ local copy, I<not> the global copy.
 
 =item 4.
 
-Next, we come to XPUSHs. This is where the parameters actually get
-pushed onto the stack. In this case we are pushing a string and an
-integer.
+Next, we come to EXTEND and PUSHs. This is where the parameters
+actually get pushed onto the stack. In this case we are pushing a
+string and an integer.
+
+Alternatively you can use the XPUSHs() macro, which combines a
+C<EXTEND(SP, 1)> and C<PUSHs()>.  This is less efficient if you're
+pushing multiple values.
 
 See L<perlguts/"XSUBs and the Argument Stack"> for details
-on how the XPUSH macros work.
+on how the PUSH macros work.
 
 =item 5.
 
@@ -559,7 +564,7 @@ beginning of the code makes sure that no other mortals are destroyed.
 Think of these macros as working a bit like C<{> and C<}> in Perl
 to limit the scope of local variables.
 
-See the section I<Using Perl to Dispose of Temporaries> for details of
+See the section L</Using Perl to Dispose of Temporaries> for details of
 an alternative to using these macros.
 
 =item 6.
@@ -600,8 +605,9 @@ function required to call it is now a bit more complex.
         SAVETMPS;
 
         PUSHMARK(SP);
-        XPUSHs(sv_2mortal(newSViv(a)));
-        XPUSHs(sv_2mortal(newSViv(b)));
+        EXTEND(SP, 2);
+        PUSHs(sv_2mortal(newSViv(a)));
+        PUSHs(sv_2mortal(newSViv(b)));
         PUTBACK;
 
         count = call_pv("Adder", G_SCALAR);
@@ -661,10 +667,31 @@ Here is the complete list of POP macros available, along with the types
 they return.
 
     POPs       SV
-    POPp       pointer
-    POPn       double
-    POPi       integer
+    POPp       pointer (PV)
+    POPpbytex   pointer to bytes (PV)
+    POPn       double (NV)
+    POPi       integer (IV)
+    POPu        unsigned integer (UV)
     POPl       long
+    POPul       unsigned long
+
+Since these macros have side-effects don't use them as arguments to
+macros that may evaluate their argument several times, for example:
+
+  /* Bad idea, don't do this */
+  STRLEN len;
+  const char *s = SvPV(POPs, len);
+
+Instead, use a temporary:
+
+  STRLEN len;
+  SV *sv = POPs;
+  const char *s = SvPV(sv, len);
+
+or a macro that guarantees it will evaluate its arguments only once:
+
+  STRLEN len;
+  const char *s = SvPVx(POPs, len);
 
 =item 5.
 
@@ -704,8 +731,9 @@ and this is the C function
         SAVETMPS;
 
         PUSHMARK(SP);
-        XPUSHs(sv_2mortal(newSViv(a)));
-        XPUSHs(sv_2mortal(newSViv(b)));
+        EXTEND(SP, 2);
+        PUSHs(sv_2mortal(newSViv(a)));
+        PUSHs(sv_2mortal(newSViv(b)));
         PUTBACK;
 
         count = call_pv("AddSubtract", G_ARRAY);
@@ -749,7 +777,7 @@ order.
 
 =back
 
-=head2 Returning a List in Scalar Context
+=head2 Returning a List in Scalar Context
 
 Say the Perl subroutine in the previous section was called in a scalar
 context, like this
@@ -767,8 +795,9 @@ context, like this
         SAVETMPS;
 
         PUSHMARK(SP);
-        XPUSHs(sv_2mortal(newSViv(a)));
-        XPUSHs(sv_2mortal(newSViv(b)));
+        EXTEND(SP, 2);
+        PUSHs(sv_2mortal(newSViv(a)));
+        PUSHs(sv_2mortal(newSViv(b)));
         PUTBACK;
 
         count = call_pv("AddSubtract", G_SCALAR);
@@ -835,8 +864,9 @@ and here is a C function to call it.
         svb = sv_2mortal(newSViv(b));
 
         PUSHMARK(SP);
-        XPUSHs(sva);
-        XPUSHs(svb);
+        EXTEND(SP, 2);
+        PUSHs(sva);
+        PUSHs(svb);
         PUTBACK;
 
         count = call_pv("Inc", G_DISCARD);
@@ -887,13 +917,15 @@ and some C to call it
     {
         dSP;
         int count;
+        SV *err_tmp;
 
         ENTER;
         SAVETMPS;
 
         PUSHMARK(SP);
-        XPUSHs(sv_2mortal(newSViv(a)));
-        XPUSHs(sv_2mortal(newSViv(b)));
+        EXTEND(SP, 2);
+        PUSHs(sv_2mortal(newSViv(a)));
+        PUSHs(sv_2mortal(newSViv(b)));
         PUTBACK;
 
         count = call_pv("Subtract", G_EVAL|G_SCALAR);
@@ -901,9 +933,10 @@ and some C to call it
         SPAGAIN;
 
         /* Check the eval first */
-        if (SvTRUE(ERRSV))
+        err_tmp = ERRSV;
+        if (SvTRUE(err_tmp))
         {
-            printf ("Uh oh - %s\n", SvPV_nolen(ERRSV));
+            printf ("Uh oh - %s\n", SvPV_nolen(err_tmp));
             POPs;
         }
         else
@@ -943,9 +976,10 @@ I<Subtract>.
 
 The code
 
-    if (SvTRUE(ERRSV))
+    err_tmp = ERRSV;
+    if (SvTRUE(err_tmp))
     {
-        printf ("Uh oh - %s\n", SvPV_nolen(ERRSV));
+        printf ("Uh oh - %s\n", SvPV_nolen(err_tmp));
         POPs;
     }
 
@@ -953,14 +987,16 @@ is the direct equivalent of this bit of Perl
 
     print "Uh oh - $@\n" if $@;
 
-C<PL_errgv> is a perl global of type C<GV *> that points to the
-symbol table entry containing the error.  C<ERRSV> therefore
-refers to the C equivalent of C<$@>.
+C<PL_errgv> is a perl global of type C<GV *> that points to the symbol
+table entry containing the error.  C<ERRSV> therefore refers to the C
+equivalent of C<$@>.  We use a local temporary, C<err_tmp>, since
+C<ERRSV> is a macro that calls a function, and C<SvTRUE(ERRSV)> would
+end up calling that function multiple times.
 
 =item 3.
 
 Note that the stack is popped using C<POPs> in the block where
-C<SvTRUE(ERRSV)> is true.  This is necessary because whenever a
+C<SvTRUE(err_tmp)> is true.  This is necessary because whenever a
 I<call_*> function invoked with G_EVAL|G_SCALAR returns an error,
 the top of the stack holds the value I<undef>. Because we want the
 program to continue after detecting this error, it is essential that
@@ -1010,7 +1046,8 @@ will preserve the error and restore reliable error handling.
 In all the previous examples I have 'hard-wired' the name of the Perl
 subroutine to be called from C.  Most of the time though, it is more
 convenient to be able to specify the name of the Perl subroutine from
-within the Perl script.
+within the Perl script, and you'll want to use
+L<call_sv|perlapi/call_sv>.
 
 Consider the Perl code below
 
@@ -1132,6 +1169,7 @@ originally requested in the call to C<SaveSub1>.
 To get around these problems it is necessary to take a full copy of the
 SV.  The code below shows C<SaveSub2> modified to do that.
 
+    /* this isn't thread-safe */
     static SV * keepSub = (SV*)NULL;
 
     void
@@ -1160,6 +1198,11 @@ operation using C<newSVsv>.  Thereafter, whenever C<SaveSub2> is called,
 the existing SV, C<keepSub>, is overwritten with the new value using
 C<SvSetSV>.
 
+Note: using a static or global variable to store the SV isn't
+thread-safe.  You can either use the C<MY_CXT> mechanism documented in
+L<perlxs/Safely Storing Static Data in XS> which is fast, or store the
+values in perl global variables, using get_sv(), which is much slower.
+
 =head2 Using call_argv
 
 Here is a Perl subroutine which prints whatever parameters are passed
@@ -1259,8 +1302,9 @@ the C<PrintID> and C<Display> methods from C.
         int            index
         CODE:
         PUSHMARK(SP);
-        XPUSHs(ref);
-        XPUSHs(sv_2mortal(newSViv(index)));
+        EXTEND(SP, 2);
+        PUSHs(ref);
+        PUSHs(sv_2mortal(newSViv(index)));
         PUTBACK;
 
         call_method(method, G_DISCARD);
@@ -1565,8 +1609,9 @@ and C<asynch_read_if> could look like this
             croak("Internal error...\n");
 
         PUSHMARK(SP);
-        XPUSHs(sv_2mortal(newSViv(fh)));
-        XPUSHs(sv_2mortal(newSVpv(buffer, 0)));
+        EXTEND(SP, 2);
+        PUSHs(sv_2mortal(newSViv(fh)));
+        PUSHs(sv_2mortal(newSVpv(buffer, 0)));
         PUTBACK;
 
         /* Call the Perl sub */
@@ -1787,7 +1832,7 @@ values in some cases. What we want is to be able to access the stack in
 a random order. The C<ST> macro as used when coding an XSUB is ideal
 for this purpose.
 
-The code below is the example given in the section I<Returning a List
+The code below is the example given in the section L</Returning a List
 of Values> recoded to use C<ST> instead of C<POP*>.
 
     static void
@@ -1803,8 +1848,9 @@ of Values> recoded to use C<ST> instead of C<POP*>.
         SAVETMPS;
 
         PUSHMARK(SP);
-        XPUSHs(sv_2mortal(newSViv(a)));
-        XPUSHs(sv_2mortal(newSViv(b)));
+        EXTEND(SP, 2);
+        PUSHs(sv_2mortal(newSViv(a)));
+        PUSHs(sv_2mortal(newSViv(b)));
         PUTBACK;
 
         count = call_pv("AddSubtract", G_ARRAY);
@@ -1863,7 +1909,9 @@ done inside our C code:
 
  ...
 
- SV *cvrv = eval_pv("sub { print 'You will not find me cluttering any namespace!' }", TRUE);
+ SV *cvrv = eval_pv("sub {
+                    print 'You will not find me cluttering any namespace!'
+                    }", TRUE);
 
  ...
 
@@ -1933,4 +1981,4 @@ and Larry Wall.
 
 =head1 DATE
 
-Version 1.3, 14th Apr 1997
+Last updated for perl 5.23.1.
index 064af64..6bd38c1 100644 (file)
@@ -275,122 +275,122 @@ is not a complete listing, but only excerpts.
 
 =item 1
 
 entering main::BEGIN
-   entering Config::BEGIN
-    Package lib/Exporter.pm.
-    Package lib/Carp.pm.
-   Package lib/Config.pm.
-   entering Config::TIEHASH
-   entering Exporter::import
-    entering Exporter::export
 entering Config::myconfig
-   entering Config::FETCH
-   entering Config::FETCH
-   entering Config::FETCH
-   entering Config::FETCH
+ entering main::BEGIN
+  entering Config::BEGIN
+   Package lib/Exporter.pm.
+   Package lib/Carp.pm.
+  Package lib/Config.pm.
+  entering Config::TIEHASH
+  entering Exporter::import
+   entering Exporter::export
+ entering Config::myconfig
+  entering Config::FETCH
+  entering Config::FETCH
+  entering Config::FETCH
+  entering Config::FETCH
 
 =item 2
 
 entering main::BEGIN
-   entering Config::BEGIN
-    Package lib/Exporter.pm.
-    Package lib/Carp.pm.
-   exited Config::BEGIN
-   Package lib/Config.pm.
-   entering Config::TIEHASH
-   exited Config::TIEHASH
-   entering Exporter::import
-    entering Exporter::export
-    exited Exporter::export
-   exited Exporter::import
 exited main::BEGIN
 entering Config::myconfig
-   entering Config::FETCH
-   exited Config::FETCH
-   entering Config::FETCH
-   exited Config::FETCH
-   entering Config::FETCH
+ entering main::BEGIN
+  entering Config::BEGIN
+   Package lib/Exporter.pm.
+   Package lib/Carp.pm.
+  exited Config::BEGIN
+  Package lib/Config.pm.
+  entering Config::TIEHASH
+  exited Config::TIEHASH
+  entering Exporter::import
+   entering Exporter::export
+   exited Exporter::export
+  exited Exporter::import
+ exited main::BEGIN
+ entering Config::myconfig
+  entering Config::FETCH
+  exited Config::FETCH
+  entering Config::FETCH
+  exited Config::FETCH
+  entering Config::FETCH
 
 =item 3
 
 in  $=main::BEGIN() from /dev/null:0
-   in  $=Config::BEGIN() from lib/Config.pm:2
-    Package lib/Exporter.pm.
-    Package lib/Carp.pm.
-   Package lib/Config.pm.
-   in  $=Config::TIEHASH('Config') from lib/Config.pm:644
-   in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
-    in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from li
 in  @=Config::myconfig() from /dev/null:0
-   in  $=Config::FETCH(ref(Config), 'package') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'baserev') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'PERL_VERSION') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'PERL_SUBVERSION') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'osname') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'osvers') from lib/Config.pm:574
+ in  $=main::BEGIN() from /dev/null:0
+  in  $=Config::BEGIN() from lib/Config.pm:2
+   Package lib/Exporter.pm.
+   Package lib/Carp.pm.
+  Package lib/Config.pm.
+  in  $=Config::TIEHASH('Config') from lib/Config.pm:644
+  in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
+   in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from li
+ in  @=Config::myconfig() from /dev/null:0
+  in  $=Config::FETCH(ref(Config), 'package') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'baserev') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'PERL_VERSION') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'PERL_SUBVERSION') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'osname') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'osvers') from lib/Config.pm:574
 
 =item 4
 
 in  $=main::BEGIN() from /dev/null:0
-   in  $=Config::BEGIN() from lib/Config.pm:2
-    Package lib/Exporter.pm.
-    Package lib/Carp.pm.
-   out $=Config::BEGIN() from lib/Config.pm:0
-   Package lib/Config.pm.
-   in  $=Config::TIEHASH('Config') from lib/Config.pm:644
-   out $=Config::TIEHASH('Config') from lib/Config.pm:644
-   in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
-    in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/
-    out $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/
-   out $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
 out $=main::BEGIN() from /dev/null:0
 in  @=Config::myconfig() from /dev/null:0
-   in  $=Config::FETCH(ref(Config), 'package') from lib/Config.pm:574
-   out $=Config::FETCH(ref(Config), 'package') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'baserev') from lib/Config.pm:574
-   out $=Config::FETCH(ref(Config), 'baserev') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'PERL_VERSION') from lib/Config.pm:574
-   out $=Config::FETCH(ref(Config), 'PERL_VERSION') from lib/Config.pm:574
-   in  $=Config::FETCH(ref(Config), 'PERL_SUBVERSION') from lib/Config.pm:574
+ in  $=main::BEGIN() from /dev/null:0
+  in  $=Config::BEGIN() from lib/Config.pm:2
+   Package lib/Exporter.pm.
+   Package lib/Carp.pm.
+  out $=Config::BEGIN() from lib/Config.pm:0
+  Package lib/Config.pm.
+  in  $=Config::TIEHASH('Config') from lib/Config.pm:644
+  out $=Config::TIEHASH('Config') from lib/Config.pm:644
+  in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
+   in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/
+   out $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/
+  out $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
+ out $=main::BEGIN() from /dev/null:0
+ in  @=Config::myconfig() from /dev/null:0
+  in  $=Config::FETCH(ref(Config), 'package') from lib/Config.pm:574
+  out $=Config::FETCH(ref(Config), 'package') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'baserev') from lib/Config.pm:574
+  out $=Config::FETCH(ref(Config), 'baserev') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'PERL_VERSION') from lib/Config.pm:574
+  out $=Config::FETCH(ref(Config), 'PERL_VERSION') from lib/Config.pm:574
+  in  $=Config::FETCH(ref(Config), 'PERL_SUBVERSION') from lib/Config.pm:574
 
 =item 5
 
 in  $=main::BEGIN() from /dev/null:0
-   in  $=Config::BEGIN() from lib/Config.pm:2
-    Package lib/Exporter.pm.
-    Package lib/Carp.pm.
-   out $=Config::BEGIN() from lib/Config.pm:0
-   Package lib/Config.pm.
-   in  $=Config::TIEHASH('Config') from lib/Config.pm:644
-   out $=Config::TIEHASH('Config') from lib/Config.pm:644
-   in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
-    in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/E
-    out $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/E
-   out $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
 out $=main::BEGIN() from /dev/null:0
 in  @=Config::myconfig() from /dev/null:0
-   in  $=Config::FETCH('Config=HASH(0x1aa444)', 'package') from lib/Config.pm:574
-   out $=Config::FETCH('Config=HASH(0x1aa444)', 'package') from lib/Config.pm:574
-   in  $=Config::FETCH('Config=HASH(0x1aa444)', 'baserev') from lib/Config.pm:574
-   out $=Config::FETCH('Config=HASH(0x1aa444)', 'baserev') from lib/Config.pm:574
+ in  $=main::BEGIN() from /dev/null:0
+  in  $=Config::BEGIN() from lib/Config.pm:2
+   Package lib/Exporter.pm.
+   Package lib/Carp.pm.
+  out $=Config::BEGIN() from lib/Config.pm:0
+  Package lib/Config.pm.
+  in  $=Config::TIEHASH('Config') from lib/Config.pm:644
+  out $=Config::TIEHASH('Config') from lib/Config.pm:644
+  in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
+   in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/E
+   out $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/E
+  out $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
+ out $=main::BEGIN() from /dev/null:0
+ in  @=Config::myconfig() from /dev/null:0
+  in  $=Config::FETCH('Config=HASH(0x1aa444)', 'package') from lib/Config.pm:574
+  out $=Config::FETCH('Config=HASH(0x1aa444)', 'package') from lib/Config.pm:574
+  in  $=Config::FETCH('Config=HASH(0x1aa444)', 'baserev') from lib/Config.pm:574
+  out $=Config::FETCH('Config=HASH(0x1aa444)', 'baserev') from lib/Config.pm:574
 
 =item 6
 
 in  $=CODE(0x15eca4)() from /dev/null:0
-   in  $=CODE(0x182528)() from lib/Config.pm:2
-    Package lib/Exporter.pm.
-   out $=CODE(0x182528)() from lib/Config.pm:0
-   scalar context return from CODE(0x182528): undef
-   Package lib/Config.pm.
-   in  $=Config::TIEHASH('Config') from lib/Config.pm:628
-   out $=Config::TIEHASH('Config') from lib/Config.pm:628
-   scalar context return from Config::TIEHASH:   empty hash
-   in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
-    in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/Exporter.pm:171
-    out $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/Exporter.pm:171
-    scalar context return from Exporter::export: ''
-   out $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
-   scalar context return from Exporter::import: ''
+ in  $=CODE(0x15eca4)() from /dev/null:0
+  in  $=CODE(0x182528)() from lib/Config.pm:2
+   Package lib/Exporter.pm.
+  out $=CODE(0x182528)() from lib/Config.pm:0
+  scalar context return from CODE(0x182528): undef
+  Package lib/Config.pm.
+  in  $=Config::TIEHASH('Config') from lib/Config.pm:628
+  out $=Config::TIEHASH('Config') from lib/Config.pm:628
+  scalar context return from Config::TIEHASH:   empty hash
+  in  $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
+   in  $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/Exporter.pm:171
+   out $=Exporter::export('Config', 'main', 'myconfig', 'config_vars') from lib/Exporter.pm:171
+   scalar context return from Exporter::export: ''
+  out $=Exporter::import('Config', 'myconfig', 'config_vars') from /dev/null:0
+  scalar context return from Exporter::import: ''
 
 =back
 
@@ -594,6 +594,7 @@ will be lost.
  SANY            no         Match any one character.
  ANYOF           sv 1       Match character in (or not in) this class,
                             single char match only
+ ANYOFD          sv 1       Like ANYOF, but /d is in effect
  ANYOFL          sv 1       Like ANYOF, but /l is in effect
 
  # POSIX Character Classes:
@@ -628,7 +629,8 @@ will be lost.
  # Literals
 
  EXACT           str        Match this string (preceded by length).
- EXACTL          str        Like EXACT, but /l is in effect.
+ EXACTL          str        Like EXACT, but /l is in effect (used so
+                            locale-related warnings can be checked for).
  EXACTF          str        Match this non-UTF-8 string (not guaranteed
                             to be folded) using /id rules (w/len).
  EXACTFL         str        Match this string (not guaranteed to be
@@ -919,19 +921,19 @@ usage statistics after compiling your code when C<< $ENV{PERL_DEBUG_MSTATS}
 $ENV{PERL_DEBUG_MSTATS} >= 1 >>.  The report format is similar to
 the following example:
 
 $ PERL_DEBUG_MSTATS=2 perl -e "require Carp"
 Memory allocation statistics after compilation: (buckets 4(4)..8188(8192)
-     14216 free:   130   117    28     7     9   0   2     2   1 0 0
+ $ PERL_DEBUG_MSTATS=2 perl -e "require Carp"
+ Memory allocation statistics after compilation: (buckets 4(4)..8188(8192)
+    14216 free:   130   117    28     7     9   0   2     2   1 0 0
                437    61    36     0     5
-     60924 used:   125   137   161    55     7   8   6    16   2 0 1
+    60924 used:   125   137   161    55     7   8   6    16   2 0 1
                 74   109   304    84    20
 Total sbrk(): 77824/21:119. Odd ends: pad+heads+chain+tail: 0+636+0+2048.
 Memory allocation statistics after execution:   (buckets 4(4)..8188(8192)
-     30888 free:   245    78    85    13     6   2   1     3   2 0 1
+ Total sbrk(): 77824/21:119. Odd ends: pad+heads+chain+tail: 0+636+0+2048.
+ Memory allocation statistics after execution:   (buckets 4(4)..8188(8192)
+    30888 free:   245    78    85    13     6   2   1     3   2 0 1
                315   162    39    42    11
-    175816 used:   265   176  1112   111    26  22  11    27   2 1 1
+   175816 used:   265   176  1112   111    26  22  11    27   2 1 1
                196   178  1066   798    39
 Total sbrk(): 215040/47:145. Odd ends: pad+heads+chain+tail: 0+2192+0+6144.
+ Total sbrk(): 215040/47:145. Odd ends: pad+heads+chain+tail: 0+2192+0+6144.
 
 It is possible to ask for such a statistic at arbitrary points in
 your execution using the mstat() function out of the standard
@@ -971,7 +973,7 @@ of two buckets "above".
 For example, suppose under the previous example, the memory footprints
 were
 
-     free:    8     16    32    64    128  256 512 1024 2048 4096 8192
+   free:    8     16    32    64    128  256 512 1024 2048 4096 8192
           4     12    24    48    80
 
 With a non-C<DEBUGGING> perl, the buckets starting from C<128> have
index cc4f505..2558ed2 100644 (file)
@@ -154,26 +154,40 @@ DB<1>h
 
  List/search source lines:               Control script execution:
   l [ln|sub]  List source code            T           Stack trace
-  - or .      List previous/current line  s [expr]    Single step [in expr]
-  v [line]    View around line            n [expr]    Next, steps over subs
+  - or .      List previous/current line  s [expr]    Single step
+                                                               [in expr]
+  v [line]    View around line            n [expr]    Next, steps over
+                                                                    subs
   f filename  View source in file         <CR/Enter>  Repeat last n or s
-  /pattern/ ?patt?   Search forw/backw    r           Return from subroutine
-  M           Show module versions        c [ln|sub]  Continue until position
- Debugger controls:                       L           List break/watch/actions
-  o [...]     Set debugger options        t [expr]    Toggle trace [trace expr]
-  <[<]|{[{]|>[>] [cmd] Do pre/post-prompt b [ln|event|sub] [cnd] Set breakpoint
-  ! [N|pat]   Redo a previous command     B ln|*      Delete a/all breakpoints
+  /pattern/ ?patt?   Search forw/backw    r           Return from
+                                                              subroutine
+  M           Show module versions        c [ln|sub]  Continue until
+                                                                position
+ Debugger controls:                       L           List break/watch/
+                                                                 actions
+  o [...]     Set debugger options        t [expr]    Toggle trace
+                                                            [trace expr]
+  <[<]|{[{]|>[>] [cmd] Do pre/post-prompt b [ln|event|sub] [cnd] Set
+                                                              breakpoint
+  ! [N|pat]   Redo a previous command     B ln|*      Delete a/all
+                                                             breakpoints
   H [-num]    Display last num commands   a [ln] cmd  Do cmd before line
-  = [a val]   Define/list an alias        A ln|*      Delete a/all actions
-  h [db_cmd]  Get help on command         w expr      Add a watch expression
-  h h         Complete help page          W expr|*    Delete a/all watch exprs
-  |[|]db_cmd  Send output to pager        ![!] syscmd Run cmd in a subprocess
+  = [a val]   Define/list an alias        A ln|*      Delete a/all
+                                                                 actions
+  h [db_cmd]  Get help on command         w expr      Add a watch
+                                                              expression
+  h h         Complete help page          W expr|*    Delete a/all watch
+                                                                   exprs
+  |[|]db_cmd  Send output to pager        ![!] syscmd Run cmd in a
+                                                              subprocess
   q or ^D     Quit                        R           Attempt a restart
  Data Examination:     expr     Execute perl code, also see: s,n,t expr
-  x|m expr       Evals expr in list context, dumps the result or lists methods.
+  x|m expr       Evals expr in list context, dumps the result or lists
+                                                                methods.
   p expr         Print expression (uses script's current package).
   S [[!]pat]     List subroutine names [not] matching pattern
-  V [Pk [Vars]]  List Variables in Package.  Vars can be ~pattern or !pattern.
+  V [Pk [Vars]]  List Variables in Package.  Vars can be ~pattern or
+                                                               !pattern.
   X [Vars]       Same as "V current_package [Vars]".
   y [n [Vars]]   List lexicals in higher scope <n>.  Vars same as V.
  For more help, type h cmd_letter, or run man perldebug for all docs. 
@@ -335,25 +349,25 @@ Let's make a quick object and x-plode it, first we'll start the debugger:
 it wants some form of input from STDIN, so we give it something non-committal,
 a zero:
 
      > perl -de 0
      Default die handler restored.
+ > perl -de 0
+ Default die handler restored.
 
      Loading DB routines from perl5db.pl version 1.07
      Editor support available.
+ Loading DB routines from perl5db.pl version 1.07
+ Editor support available.
 
      Enter h or `h h' for help, or `man perldebug' for more help.
+ Enter h or `h h' for help, or `man perldebug' for more help.
 
-       main::(-e:1):   0                       
+ main::(-e:1):   0
 
 Now build an on-the-fly object over a couple of lines (note the backslash):
 
      DB<1> $obj = bless({'unique_id'=>'123', 'attr'=> \
      cont:   {'col' => 'black', 'things' => [qw(this that etc)]}}, 'MY_class')
+ DB<1> $obj = bless({'unique_id'=>'123', 'attr'=> \
cont:         {'col' => 'black', 'things' => [qw(this that etc)]}}, 'MY_class')
 
 And let's have a look at it:
 
        DB<2> x $obj
      0  MY_class=HASH(0x828ad98)
+ 0  MY_class=HASH(0x828ad98)
                'attr' => HASH(0x828ad68)
        'col' => 'black'
        'things' => ARRAY(0x828abb8)
@@ -366,38 +380,38 @@ And let's have a look at it:
 Useful, huh?  You can eval nearly anything in there, and experiment with bits
 of code or regexes until the cows come home:
 
      DB<3> @data = qw(this that the other atheism leather theory scythe)
+ DB<3> @data = qw(this that the other atheism leather theory scythe)
 
      DB<4> p 'saw -> '.($cnt += map { print "\t:\t$_\n" } grep(/the/, sort @data))
      atheism
      leather
      other
      scythe
      the
-       theory  
      saw -> 6
+ DB<4> p 'saw -> '.($cnt += map { print "\t:\t$_\n" } grep(/the/, sort @data))
+ atheism
+ leather
+ other
+ scythe
+ the
+ theory
+ saw -> 6
 
 If you want to see the command History, type an 'B<H>':
 
      DB<5> H
      4: p 'saw -> '.($cnt += map { print "\t:\t$_\n" } grep(/the/, sort @data))
      3: @data = qw(this that the other atheism leather theory scythe)
      2: x $obj
      1: $obj = bless({'unique_id'=>'123', 'attr'=>
      {'col' => 'black', 'things' => [qw(this that etc)]}}, 'MY_class')
      DB<5>
+ DB<5> H
+ 4: p 'saw -> '.($cnt += map { print "\t:\t$_\n" } grep(/the/, sort @data))
+ 3: @data = qw(this that the other atheism leather theory scythe)
+ 2: x $obj
+ 1: $obj = bless({'unique_id'=>'123', 'attr'=>
+ {'col' => 'black', 'things' => [qw(this that etc)]}}, 'MY_class')
+ DB<5>
 
 And if you want to repeat any previous command, use the exclamation: 'B<!>':
 
      DB<5> !4
      p 'saw -> '.($cnt += map { print "$_\n" } grep(/the/, sort @data))
      atheism
      leather
      other
      scythe
      the
-       theory  
      saw -> 12
+ DB<5> !4
+ p 'saw -> '.($cnt += map { print "$_\n" } grep(/the/, sort @data))
+ atheism
+ leather
+ other
+ scythe
+ the
+ theory
+ saw -> 12
 
 For more on references see L<perlref> and L<perlreftut>
 
@@ -407,50 +421,50 @@ For more on references see L<perlref> and L<perlreftut>
 Here's a simple program which converts between Celsius and Fahrenheit, it too
 has a problem:
 
-       #!/usr/bin/perl -w
-       use strict;
-
-       my $arg = $ARGV[0] || '-c20';
-
-       if ($arg =~ /^\-(c|f)((\-|\+)*\d+(\.\d+)*)$/) {
-               my ($deg, $num) = ($1, $2);
-               my ($in, $out) = ($num, $num);
-               if ($deg eq 'c') {
-                       $deg = 'f';
-                       $out = &c2f($num);
-               } else {
-                       $deg = 'c';
-                       $out = &f2c($num);
-               }
-               $out = sprintf('%0.2f', $out);
-               $out =~ s/^((\-|\+)*\d+)\.0+$/$1/;
-               print "$out $deg\n";
-       } else {
-               print "Usage: $0 -[c|f] num\n";
-       }
-       exit;
+ #!/usr/bin/perl -w
+ use strict;
 
-       sub f2c {
-               my $f = shift;
-               my $c = 5 * $f - 32 / 9;
-               return $c;
-       }
+ my $arg = $ARGV[0] || '-c20';
 
-       sub c2f {
-               my $c = shift;
-               my $f = 9 * $c / 5 + 32;
-               return $f;
+ if ($arg =~ /^\-(c|f)((\-|\+)*\d+(\.\d+)*)$/) {
+       my ($deg, $num) = ($1, $2);
+       my ($in, $out) = ($num, $num);
+       if ($deg eq 'c') {
+               $deg = 'f';
+               $out = &c2f($num);
+       } else {
+               $deg = 'c';
+               $out = &f2c($num);
        }
+       $out = sprintf('%0.2f', $out);
+       $out =~ s/^((\-|\+)*\d+)\.0+$/$1/;
+       print "$out $deg\n";
+ } else {
+       print "Usage: $0 -[c|f] num\n";
+ }
+ exit;
+
+ sub f2c {
+       my $f = shift;
+       my $c = 5 * $f - 32 / 9;
+       return $c;
+ }
+
+ sub c2f {
+       my $c = shift;
+       my $f = 9 * $c / 5 + 32;
+       return $f;
+ }
 
 
 For some reason, the Fahrenheit to Celsius conversion fails to return the
 expected output.  This is what it does:
 
      > temp -c0.72
      33.30 f
+ > temp -c0.72
+ 33.30 f
 
      > temp -f33.3
      162.94 c
+ > temp -f33.3
+ 162.94 c
 
 Not very consistent!  We'll set a breakpoint in the code manually and run it
 under the debugger to see what's going on.  A breakpoint is a flag, to which
@@ -600,28 +614,28 @@ Actions, watch variables, stack traces etc.: on the TODO list.
 Ever wanted to know what a regex looked like?  You'll need perl compiled with
 the DEBUGGING flag for this one:
 
-       > perl -Dr -e '/^pe(a)*rl$/i'
-       Compiling REx `^pe(a)*rl$'
-       size 17 first at 2
-       rarest char
-        at 0
-          1: BOL(2)
-          2: EXACTF <pe>(4)
-          4: CURLYN[1] {0,32767}(14)
-          6:   NOTHING(8)
-          8:   EXACTF <a>(0)
-         12:   WHILEM(0)
-         13: NOTHING(14)
-         14: EXACTF <rl>(16)
-         16: EOL(17)
-         17: END(0)
-       floating `'$ at 4..2147483647 (checking floating) stclass `EXACTF <pe>'
-anchored(BOL) minlen 4
-       Omitting $` $& $' support.
-
-       EXECUTING...
-
-       Freeing REx: `^pe(a)*rl$'  
+  > perl -Dr -e '/^pe(a)*rl$/i'
+  Compiling REx `^pe(a)*rl$'
+  size 17 first at 2
+  rarest char
+   at 0
+     1: BOL(2)
+     2: EXACTF <pe>(4)
+     4: CURLYN[1] {0,32767}(14)
+     6:   NOTHING(8)
+     8:   EXACTF <a>(0)
+    12:   WHILEM(0)
+    13: NOTHING(14)
+    14: EXACTF <rl>(16)
+    16: EOL(17)
+    17: END(0)
+  floating `'$ at 4..2147483647 (checking floating) stclass
+    `EXACTF <pe>' anchored(BOL) minlen 4
+  Omitting $` $& $' support.
+
+  EXECUTING...
+
+  Freeing REx: `^pe(a)*rl$'
 
 Did you really want to know? :-)
 For more gory details on getting regular expressions to work, have a look at
@@ -644,7 +658,7 @@ To watch the tail of a dynamically growing logfile, (from the command line):
 Wrapping all die calls in a handler routine can be useful to see how, and from
 where, they're being called, L<perlvar> has more information:
 
-       BEGIN { $SIG{__DIE__} = sub { require Carp; Carp::confess(@_) } }
+    BEGIN { $SIG{__DIE__} = sub { require Carp; Carp::confess(@_) } }
 
 Various useful techniques for the redirection of STDOUT and STDERR filehandles
 are explained in L<perlopentut> and L<perlfaq8>.
index 8ad8349..5762235 100644 (file)
@@ -5,7 +5,8 @@ perldebug - Perl debugging
 
 =head1 DESCRIPTION
 
-First of all, have you tried using the B<-w> switch?
+First of all, have you tried using L<C<use strict;>|strict> and
+L<C<use warnings;>|warnings>?
 
 
 If you're new to the Perl debugger, you may prefer to read
@@ -990,9 +991,11 @@ X<backtrace> X<stack, backtrace>
 Here's an example of what a stack backtrace via C<T> command might
 look like:
 
-    $ = main::infested called from file 'Ambulation.pm' line 10
-    @ = Ambulation::legs(1, 2, 3, 4) called from file 'camel_flea' line 7
-    $ = main::pests('bactrian', 4) called from file 'camel_flea' line 4
+ $ = main::infested called from file 'Ambulation.pm' line 10
+ @ = Ambulation::legs(1, 2, 3, 4) called from file 'camel_flea'
+                                                          line 7
+ $ = main::pests('bactrian', 4) called from file 'camel_flea'
+                                                          line 4
 
 The left-hand character up there indicates the context in which the
 function was called, with C<$> and C<@> meaning scalar or list
@@ -1015,17 +1018,17 @@ an C<eval> frame.
 
 This shows the sorts of output the C<l> command can produce:
 
-    DB<<13>> l
 101:                @i{@i} = ();
 102:b               @isa{@i,$pack} = ()
 103                     if(exists $i{$prevpack} || exists $isa{$pack});
 104             }
 105
 106             next
 107==>              if(exists $isa{$pack});
 108
 109:a           if ($extra-- > 0) {
 110:                %isa = ($pack,1);
+   DB<<13>> l
101:        @i{@i} = ();
102:b       @isa{@i,$pack} = ()
103             if(exists $i{$prevpack} || exists $isa{$pack});
104     }
+ 105
106     next
107==>      if(exists $isa{$pack});
+ 108
109:a   if ($extra-- > 0) {
110:        %isa = ($pack,1);
 
 Breakable lines are marked with C<:>.  Lines with breakpoints are
 marked by C<b> and those with actions by C<a>.  The line that's
@@ -1197,7 +1200,7 @@ See L<perldebguts/"Debugging Perl Memory Usage"> for the details.
 
 =head1 SEE ALSO
 
-You did try the B<-w> switch, didn't you?
+You do have C<use strict> and C<use warnings> enabled, don't you?
 
 L<perldebtut>,
 L<perldebguts>,
index bb1cb24..ab02a04 100644 (file)
 
 =head1 NAME
 
-perldelta - what is new for perl v5.23.2
+perldelta - what is new for perl v5.23.3
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.23.1 release and the 5.23.2
+This document describes differences between the 5.23.2 release and the 5.23.3
 release.
 
-If you are upgrading from an earlier release such as 5.23.0, first read
-L<perl5231delta>, which describes differences between 5.23.0 and 5.23.1.
+If you are upgrading from an earlier release such as 5.23.1, first read
+L<perl5232delta>, which describes differences between 5.23.1 and 5.23.2.
 
-=head1 Incompatible Changes
+=head1 Core Enhancements
 
-=head2 Nested declarations are now disallowed
+=head2 C<qr/(?[ ])/> now works in UTF-8 locales
 
-A C<my>, C<our>, or C<state> declaration is no longer allowed inside
-of another C<my>, C<our>, or C<state> declaration.
+L<Extended Bracketed Character Classes|perlrecharclass/Extended Bracketed Character Classes>
+now will successfully compile when S<C<use locale>> is in effect.  The compiled
+pattern will use standard Unicode rules.  If the runtime locale is not a
+UTF-8 one, a warning is raised and standard Unicode rules are used
+anyway.  No tainting is done since the outcome does not actually depend
+on the locale.
 
-For example, these are now fatal:
+=head1 Incompatible Changes
 
-   my ($x, my($y));
-   our (my $x);
+=head2 An off by one issue in C<$Carp::MaxArgNums> has been fixed
 
-L<[perl #125587]|https://rt.perl.org/Ticket/Display.html?id=125587>
+C<$Carp::MaxArgNums> is supposed to be the number of arguments to display.
+Prior to this version, it was instead showing C<$Carp::MaxArgNums> + 1 arguments,
+contrary to the documentation.
 
-L<[perl #121058]|https://rt.perl.org/Ticket/Display.html?id=121058>
+=head1 Modules and Pragmata
+
+=head2 Updated Modules and Pragmata
 
-=head1 Deprecations
+=over 4
 
-=head2 sysread(), syswrite(), recv() and send() are deprecated on
-:utf8 handles
+=item *
 
-The sysread(), recv(), syswrite() and send() operators
-are deprecated on handles that have the C<:utf8> layer, either
-explicitly, or implicitly, eg., with the C<:encoding(UTF-16LE)> layer.
+L<B> has been upgraded from version 1.58 to 1.59.
 
-Both sysread() and recv() currently use only the C<:utf8> flag for the
-stream, ignoring the actual layers.  Since sysread() and recv() do no
-UTF-8 validation they can end up creating invalidly encoded scalars.
+=item *
 
-Similarly, syswrite() and send() use only the C<:utf8> flag, otherwise
-ignoring any layers.  If the flag is set, both write the value UTF-8
-encoded, even if the layer is some different encoding, such as the
-example above.
+L<bignum> has been upgraded from version 0.39 to 0.40.
 
-Ideally, all of these operators would completely ignore the C<:utf8>
-state, working only with bytes, but this would result in silently
-breaking existing code.  To avoid this a future version of perl will
-throw an exception when any of sysread(), recv(), syswrite() or send()
-are called on handle with the C<:utf8> layer.
+=item *
 
-=head1 Performance Enhancements
+L<Carp> has been upgraded from version 1.36 to 1.37.
 
-=over 4
+=item *
+
+L<Compress::Raw::Zlib> has been upgraded from version 2.068 to 2.068_01.
 
 =item *
 
-Creating Perl debugger data structures (see L<perldebguts/"Debugger Internals">)
-for XSUBs and const subs has been removed.  This removed one glob/scalar combo
-for each unique C<.c> file that XSUBs and const subs came from.  On startup
-(C<perl -e"0">) about half a dozen glob/scalar debugger combos were created.
-Loading XS modules created more glob/scalar combos.  These things were created
-regardless if the perl debugger was being used or not, unlike for pure perl
-subs, and ignores that the perl debugger can not debug C code.
+L<DynaLoader> has been upgraded from version 1.33 to 1.34.
 
 =item *
 
-Single arguments in list assign are now slightly faster:
+L<Encode> has been upgraded from version 2.76 to 2.77.
 
-  ($x) = (...);
-  (...) = ($x);
+=item *
 
-=back
+L<encoding> has been upgraded from version 2.16 to 2.17.
 
-=head1 Modules and Pragmata
+=item *
 
-=head2 Updated Modules and Pragmata
+L<English> has been upgraded from version 1.09 to 1.10.
 
-=over 4
+=item *
+
+L<Errno> has been upgraded from version 1.23 to 1.24.
 
 =item *
 
-The PathTools module collection has been upgraded from version 3.55 to
-3.56.
+L<experimental> has been upgraded from version 0.013 to 0.014.
 
-Minor optimizations.
-L<[perl #125712]|https://rt.perl.org/Ticket/Display.html?id=125712>
+=item *
+
+L<ExtUtils::MakeMaker> has been upgraded from version 7.04_01 to 7.10.
 
 =item *
 
-L<Attribute::Handlers> has been upgraded from version 0.97 to 0.99.
+L<ExtUtils::ParseXS> has been upgraded from version 3.29 to 3.30.
 
 =item *
 
-L<CPAN::Meta::YAML> has been upgraded from version 0.016 to 0.017.
+L<ExtUtils::Typemaps> has been upgraded from version 3.29 to 3.30.
 
 =item *
 
-L<Encode> has been upgraded from version 2.75 to 2.76.
+L<File::Find> has been upgraded from version 1.30 to 1.31.
 
 =item *
 
-L<ExtUtils::ParseXS> has been upgraded from version 3.28 to 3.29.
+L<File::Glob> has been upgraded from version 1.24 to 1.25.
 
 =item *
 
-L<ExtUtils::Typemaps> has been upgraded from version 3.28 to 3.29.
+L<File::Spec> has been upgraded from version 3.57 to 3.58.
 
 =item *
 
-L<File::Find> has been upgraded from version 1.29 to 1.30.
+L<Hash::Util::FieldHash> has been upgraded from version 1.15 to 1.17.
 
 =item *
 
-L<File::Spec> has been upgraded from version 3.56 to 3.57.
+L<if> has been upgraded from version 0.0604 to 0.0605.
 
 =item *
 
-L<Filter::Util::Call> has been upgraded from version 1.54 to 1.55.
+L<locale> has been upgraded from version 1.06 to 1.07.
 
 =item *
 
-L<Hash::Util> has been upgraded from version 0.18 to 0.19.
+L<Locale::Codes> has been upgraded from version 3.35 to 3.36.
 
-C<unlock_hashref_recurse> and C<unlock_hash_recurse> didn't
-actually unlock parts of the data structures...
+=item *
 
-...now they do.
+L<Module::CoreList> has been upgraded from version 5.20150820 to 5.20150920.
 
 =item *
 
-L<Module::CoreList> has been upgraded from version 5.20150720 to 5.20150820.
+L<mro> has been upgraded from version 1.17 to 1.18.
 
 =item *
 
-L<perlfaq> has been upgraded from version 5.021009 to 5.021010.
+L<Pod::Perldoc> has been upgraded from version 3.25 to 3.25_01.
 
 =item *
 
-L<POSIX> has been upgraded from version 1.55 to 1.56.
+L<POSIX> has been upgraded from version 1.56 to 1.57.
 
 =item *
 
-L<Term::Cap> has been upgraded from version 1.15 to 1.17.
+L<Socket> has been upgraded from version 2.020 to 2.020_01.
 
 =item *
 
-L<Unicode::UCD> has been upgraded from version 0.61 to 0.62.
+L<Test> has been upgraded from version 1.26 to 1.27.
 
-=back
+=item *
 
-=head1 Documentation
+L<Thread::Queue> has been upgraded from version 3.05 to 3.06.
 
-=head2 Changes to Existing Documentation
+=item *
 
-=head3 L<perlpolicy>
+L<threads> has been upgraded from version 2.02 to 2.03.
 
-=over 4
+=item *
+
+L<Time::HiRes> has been upgraded from version 1.9726 to 1.9727_02.
 
 =item *
 
-This note has been added to perlpolicy:
+L<Unicode::UCD> has been upgraded from version 0.62 to 0.63.
+
+=item *
 
-  While civility is required, kindness is encouraged; if you have any doubt
-  about whether you are being civil, simply ask yourself, "Am I being kind?"
-  and aspire to that.
+L<Win32> has been upgraded from version 0.51 to 0.52.
 
 =back
 
-=head3 L<perlvar>
+=head2 New Modules and Pragmata
 
 =over 4
 
 =item *
 
-Use of C<$OLD_PERL_VERSION> is now discouraged.
+L<Amiga::ARexx> has been added, as version 0.02
 
-=back
+=item *
 
-=head1 Diagnostics
+L<Amiga::Exec> has been added, as version 0.01
 
-The following additions or changes have been made to diagnostic output,
-including warnings and fatal error messages.  For the complete list of
-diagnostic messages, see L<perldiag>.
+=back
 
-=head2 New Diagnostics
+=head1 Documentation
 
-=head3 New Errors
+=head2 Changes to Existing Documentation
+
+=head3 L<perlcall>
 
 =over 4
 
 =item *
 
-L<Can't redeclare "%s" in "%s"|perldiag/"Can't redeclare "%s" in "%s"">
+A number of cleanups have been made to perlcall, including:
 
-(F) A "my", "our" or "state" declaration was found within another declaration,
-such as C<my ($x, my($y), $z)> or C<our (my $x)>.
+=over 4
 
-=back
+=item *
 
-=head3 New Warnings
+use EXTEND(SP, n) and PUSHs() instead of XPUSHs() where applicable
+and update prose to match
 
-=over 4
+=item *
+
+add POPu, POPul and POPpbytex to the "complete list of POP macros"
+and clarify the documentation for some of the existing entries, and
+a note about side-effects
 
 =item *
 
-L<%s() is deprecated on :utf8 handles|perldiag/"%s() is deprecated on :utf8 handles">
+add API documentation for POPu and POPul
 
-(W deprecated) The sysread(), recv(), syswrite() and send() operators
-are deprecated on handles that have the C<:utf8> layer, either
-explicitly, or implicitly, eg., with the C<:encoding(UTF-16LE)> layer.
+=item *
 
-Both sysread() and recv() currently use only the C<:utf8> flag for the
-stream, ignoring the actual layers.  Since sysread() and recv() do no
-UTF-8 validation they can end up creating invalidly encoded scalars.
+use ERRSV more efficiently
 
-Similarly, syswrite() and send() use only the C<:utf8> flag, otherwise
-ignoring any layers.  If the flag is set, both write the value UTF-8
-encoded, even if the layer is some different encoding, such as the
-example above.
+=item *
 
-Ideally, all of these operators would completely ignore the C<:utf8>
-state, working only with bytes, but this would result in silently
-breaking existing code.  To avoid this a future version of perl will
-throw an exception when any of sysread(), recv(), syswrite() or send()
-are called on handle with the C<:utf8> layer.
+approaches to thread-safety storage of SVs.
+
+=back
 
 =back
 
-=head2 Changes to Existing Diagnostics
+=head3 L<perlunicode>
 
 =over 4
 
 =item *
 
-The diagnostic C<< Hexadecimal float: internal error >> has been changed to
-C<< Hexadecimal float: internal error (%s) >> to include more information.
+Discourage use of 'In' prefix for Unicode Block property.
 
 =back
 
-=head1 Configuration and Compilation
+=head1 Diagnostics
+
+The following additions or changes have been made to diagnostic output,
+including warnings and fatal error messages.  For the complete list of
+diagnostic messages, see L<perldiag>.
+
+=head2 New Diagnostics
+
+=head3 New Errors
 
 =over 4
 
 =item *
 
-F<Configure> should handle spaces in paths a little better.
+L<%s must not be a named sequence in transliteration operator|perldiag/"%s must not be a named sequence in transliteration operator">
+
+(F) Transliteration (C<tr///> and C<y///>) transliterates individual
+characters.  But a named sequence by definition is more than an
+individual charater, and hence doing this operation on it doesn't make
+sense.
 
 =back
 
@@ -257,22 +257,53 @@ F<Configure> should handle spaces in paths a little better.
 
 =item *
 
-A new test (F<t/op/aassign.t>) has been added to test the list assignment operator
-C<OP_AASSIGN>.
+Parallel building has been added to the dmake C<makefile.mk> makefile. All
+Win32 compilers are supported.
 
 =back
 
-=head1 Internal Changes
+=head1 Platform Support
+
+=head2 Platform-Specific Notes
 
 =over 4
 
-=item *
+=item EBCDIC C<cmp()> and C<sort()> fixed for UTF-EBCDIC strings
+
+Comparing two strings that were both encoded in UTF-8 (or more
+precisely, UTF-EBCDIC) did not work properly until now.  Since C<sort()>
+uses C<cmp()>, this fixes that as well.
+
+=item EBCDIC C<tr///> and C<yr///> fixed for C<\N{}>, and C<S<use utf8>> ranges
+
+Perl v5.22 introduced the concept of portable ranges to regular
+expression patterns.  A portable range matches the same set of
+characters no matter what platform is being run on.  This concept is now
+extended to C<tr///>.  See
+C<L<trE<sol>E<sol>E<sol>|perlop/trE<sol>SEARCHLISTE<sol>REPLACEMENTLISTE<sol>cdsr>>.
 
-C<PL_sawalias> and C<GPf_ALIASED_SV> have been removed.
+There were also some problems with these operations under S<C<use
+utf8>>, which are now fixed
+
+=item Win32
+
+=over
 
 =item *
 
-C<GvASSIGN_GENERATION> and C<GvASSIGN_GENERATION_set> have been removed.
+Parallel building has been added to the dmake C<makefile.mk> makefile. All
+Win32 compilers are supported.
+
+=back
+
+=item AmigaOS
+
+The AmigaOS port has been reintegrated into the main tree, based off of
+Perl 5.22.1.
+
+=item clang++
+
+Don't add -shared when the compiler is clang++
 
 =back
 
@@ -282,50 +313,48 @@ C<GvASSIGN_GENERATION> and C<GvASSIGN_GENERATION_set> have been removed.
 
 =item *
 
-Perl can again be compiled with any Unicode version.  This used to
-(mostly) work, but was lost in v5.18 through v5.20.  The property
-C<Name_Alias> did not exist prior to Unicode 5.0.  L<Unicode::UCD>
-incorrectly said it did.  This has been fixed.
+C<qr/(?[ () ])/> no longer segfaults, giving a syntax error message instead.
+[perl #125805]
 
 =item *
 
-Very large code-points (beyond Unicode) in regular expressions no
-longer cause a buffer overflow in some cases when converted to UTF-8.
-L<[perl #125826]|https://rt.perl.org/Ticket/Display.html?id=125826>
+Regular expression possessive quantifier v5.20 regression now fixed.
+C<qr/>I<PAT>C<{>I<min>,I<max>C<}+>C</> is supposed to behave identically
+to C<qr/(?E<gt>>I<PAT>C<{>I<min>,I<max>C<})/>.  Since v5.20, this didn't
+work if I<min> and I<max> were equal.  [perl #125825]
 
 =item *
 
-The integer overflow check for the range operator (...) in list
-context now correctly handles the case where the size of the range is
-larger than the address space.  This could happen on 32-bits with
--Duse64bitint.
-L<[perl #125781]|https://rt.perl.org/Ticket/Display.html?id=125781>
+C<< BEGIN <> >> no longer segfaults and properly produces an error
+message.  [perl #125341]
 
 =item *
 
-A crash with C<< %::=(); J->${\"::"} >> has been fixed.
-L<[perl #125541]|https://rt.perl.org/Ticket/Display.html?id=125541>
+In C<tr///> an illegal backwards range like C<tr/\x{101}-\x{100}//> was
+not always detected, giving incorrect results.  This is now fixed.
 
 =back
 
 =head1 Acknowledgements
 
-Perl 5.23.2 represents approximately 4 weeks of development since Perl 5.23.1
-and contains approximately 22,000 lines of changes across 240 files from 23
+Perl 5.23.3 represents approximately 4 weeks of development since Perl 5.23.2
+and contains approximately 150,000 lines of changes across 550 files from 30
 authors.
 
 Excluding auto-generated files, documentation and release tools, there were
-approximately 17,000 lines of changes to 140 .pm, .t, .c and .h files.
+approximately 120,000 lines of changes to 410 .pm, .t, .c and .h files.
 
 Perl continues to flourish into its third decade thanks to a vibrant community
 of users and developers. The following people are known to have contributed the
-improvements that became Perl 5.23.2:
-
-Aaron Priven, Aristotle Pagaltzis, Chris 'BinGOs' Williams, Craig A. Berry,
-Dagfinn Ilmari Mannsåker, Daniel Dragan, David Mitchell, Ed J, Father
-Chrysostomos, H.Merijn Brand, Ivan Pozdeev, James E Keenan, Jarkko Hietaniemi,
-Karen Etheridge, Karl Williamson, Ludovic E. R. Tolhurst-Cleaver, Lukas Mai,
-Matthew Horsfall, Reini Urban, Ricardo Signes, Sisyphus, Steve Hay, Tony Cook.
+improvements that became Perl 5.23.3:
+
+Aaron Crane, Alexander D'Archangel, Andy Broad, Chris 'BinGOs' Williams, Craig
+A. Berry, Dan Collins, Daniel Dragan, David Mitchell, Father Chrysostomos,
+James E Keenan, Jan Dubois, Jarkko Hietaniemi, Jerry D. Hedden, John SJ
+Anderson, Karen Etheridge, Karl Williamson, Lukas Mai, Matthew Horsfall,
+Nicolas R., Peter John Acklam, Peter Martini, Ricardo Signes, Shlomi Fish,
+Steffen Müller, Steve Hay, Sullivan Beck, Thomas Sibley, Todd Rinaldo, Tony
+Cook, Zachary Storer.
 
 The list above is almost certainly incomplete as it is automatically generated
 from version control history. In particular, it does not include the names of
index 2effeeb..b89ba40 100644 (file)
@@ -3532,6 +3532,13 @@ They're written like C<$foo[1][2][3]>, as in C.
 follow some unpack specification producing a numeric value.
 See L<perlfunc/pack>.
 
+=item %s must not be a named sequence in transliteration operator
+
+(F) Transliteration (C<tr///> and C<y///>) transliterates individual
+characters.  But a named sequence by definition is more than an
+individual charater, and hence doing this operation on it doesn't make
+sense.
+
 =item "my sub" not yet implemented
 
 (F) Lexically scoped subroutines are not yet implemented.  Don't try
@@ -6501,7 +6508,7 @@ discovered.  See L<perlre>.
 
 =item Useless use of attribute "const"
 
-(W misc) The "const" attribute has no effect except
+(W misc) The C<const> attribute has no effect except
 on anonymous closure prototypes.  You applied it to
 a subroutine via L<attributes.pm|attributes>.  This is only useful
 inside an attribute handler for an anonymous subroutine.
@@ -6610,14 +6617,13 @@ is deprecated.  See L<perlvar/"$[">.
 form if you wish to use an empty line as the terminator of the
 here-document.
 
-=item Use of \b{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale
+=item Use of %s for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale
 
 (W locale)  You are matching a regular expression using locale rules,
-and a Unicode boundary is being matched, but the locale is not a Unicode
-one.  This doesn't make sense.  Perl will continue, assuming a Unicode
-(UTF-8) locale, but the results could well be wrong except if the locale
-happens to be ISO-8859-1 (Latin1) where this message is spurious and can
-be ignored.
+and the specified construct was encountered.  This construct is only
+valid for UTF-8 locales, which the current locale isn't.  This doesn't
+make sense.  Perl will continue, assuming a Unicode (UTF-8) locale, but
+the results are likely to be wrong.
 
 =item Use of /c modifier is meaningless in s///
 
index ef93657..2b60351 100644 (file)
@@ -4,22 +4,22 @@ perldtrace - Perl's support for DTrace
 
 =head1 SYNOPSIS
 
   # dtrace -Zn 'perl::sub-entry, perl::sub-return { trace(copyinstr(arg0)) }'
   dtrace: description 'perl::sub-entry, perl::sub-return ' matched 10 probes
-
   # perl -E 'sub outer { inner(@_) } sub inner { say shift } outer("hello")'
   hello
-
   (dtrace output)
   CPU     ID                    FUNCTION:NAME
-      0  75915       Perl_pp_entersub:sub-entry   BEGIN
-      0  75915       Perl_pp_entersub:sub-entry   import
-      0  75922      Perl_pp_leavesub:sub-return   import
-      0  75922      Perl_pp_leavesub:sub-return   BEGIN
-      0  75915       Perl_pp_entersub:sub-entry   outer
-      0  75915       Perl_pp_entersub:sub-entry   inner
-      0  75922      Perl_pp_leavesub:sub-return   inner
-      0  75922      Perl_pp_leavesub:sub-return   outer
+ # dtrace -Zn 'perl::sub-entry, perl::sub-return { trace(copyinstr(arg0)) }'
+ dtrace: description 'perl::sub-entry, perl::sub-return ' matched 10 probes
+
+ # perl -E 'sub outer { inner(@_) } sub inner { say shift } outer("hello")'
+ hello
+
+ (dtrace output)
+ CPU     ID                    FUNCTION:NAME
+   0  75915       Perl_pp_entersub:sub-entry   BEGIN
+   0  75915       Perl_pp_entersub:sub-entry   import
+   0  75922      Perl_pp_leavesub:sub-return   import
+   0  75922      Perl_pp_leavesub:sub-return   BEGIN
+   0  75915       Perl_pp_entersub:sub-entry   outer
+   0  75915       Perl_pp_entersub:sub-entry   inner
+   0  75922      Perl_pp_leavesub:sub-return   inner
+   0  75922      Perl_pp_leavesub:sub-return   outer
 
 =head1 DESCRIPTION
 
@@ -72,10 +72,10 @@ refer to the subroutine that is being invoked; there is currently
 no way to get ahold of any information about the subroutine's
 I<caller> from a DTrace action.
 
   :*perl*::sub-entry {
-        printf("%s::%s entered at %s line %d\n",
-               copyinstr(arg3), copyinstr(arg0), copyinstr(arg1), arg2);
   }
+ :*perl*::sub-entry {
+     printf("%s::%s entered at %s line %d\n",
+           copyinstr(arg3), copyinstr(arg0), copyinstr(arg1), arg2);
+ }
 
 =item sub-return(SUBNAME, FILE, LINE, PACKAGE)
 
@@ -84,10 +84,10 @@ refer to the subroutine that is returning; there is currently no
 way to get ahold of any information about the subroutine's I<caller>
 from a DTrace action.
 
   :*perl*::sub-return {
-        printf("%s::%s returned at %s line %d\n",
-               copyinstr(arg3), copyinstr(arg0), copyinstr(arg1), arg2);
   }
+ :*perl*::sub-return {
+     printf("%s::%s returned at %s line %d\n",
+           copyinstr(arg3), copyinstr(arg0), copyinstr(arg1), arg2);
+ }
 
 =item phase-change(NEWPHASE, OLDPHASE)
 
@@ -96,10 +96,10 @@ as tracing changes to Perl's C<${^GLOBAL_PHASE}> variable, especially
 since the values for C<NEWPHASE> and C<OLDPHASE> are the strings that
 C<${^GLOBAL_PHASE}> reports.
 
   :*perl*::phase-change {
-        printf("Phase changed from %s to %s\n",
-            copyinstr(arg1), copyinstr(arg0));
   }
+ :*perl*::phase-change {
+     printf("Phase changed from %s to %s\n",
+         copyinstr(arg1), copyinstr(arg0));
+ }
 
 =item op-entry(OPNAME)
 
@@ -108,9 +108,9 @@ is fired before the opcode is executed. When the Perl debugger is
 enabled, the DTrace probe is fired I<after> the debugger hooks (but
 still before the opcode itself is executed).
 
   :*perl*::op-entry {
-        printf("About to execute opcode %s\n", copyinstr(arg0));
   }
+ :*perl*::op-entry {
+     printf("About to execute opcode %s\n", copyinstr(arg0));
+ }
 
 =item loading-file(FILENAME)
 
@@ -119,9 +119,9 @@ C<use>, C<require>, or C<do>. This probe fires before the file is
 read from disk. The filename argument is converted to local filesystem
 paths instead of providing C<Module::Name>-style names.
 
   :*perl*:loading-file {
-        printf("About to load %s\n", copyinstr(arg0));
   }
+ :*perl*:loading-file {
+     printf("About to load %s\n", copyinstr(arg0));
+ }
 
 =item loaded-file(FILENAME)
 
@@ -131,9 +131,9 @@ is read from disk and its contents evaluated. The filename argument
 is converted to local filesystem paths instead of providing
 C<Module::Name>-style names.
 
   :*perl*:loaded-file {
-        printf("Successfully loaded %s\n", copyinstr(arg0));
   }
+ :*perl*:loaded-file {
+     printf("Successfully loaded %s\n", copyinstr(arg0));
+ }
 
 =back
 
@@ -143,64 +143,64 @@ C<Module::Name>-style names.
 
 =item Most frequently called functions
 
   # dtrace -qZn 'sub-entry { @[strjoin(strjoin(copyinstr(arg3),"::"),copyinstr(arg0))] = count() } END {trunc(@, 10)}'
+ # dtrace -qZn 'sub-entry { @[strjoin(strjoin(copyinstr(arg3),"::"),copyinstr(arg0))] = count() } END {trunc(@, 10)}'
 
   Class::MOP::Attribute::slots                                    400
   Try::Tiny::catch                                                411
   Try::Tiny::try                                                  411
   Class::MOP::Instance::inline_slot_access                        451
   Class::MOP::Class::Immutable::Trait:::around                    472
   Class::MOP::Mixin::AttributeCore::has_initializer               496
   Class::MOP::Method::Wrapped::__ANON__                           544
   Class::MOP::Package::_package_stash                             737
   Class::MOP::Class::initialize                                  1128
   Class::MOP::get_metaclass_by_name                              1204
+ Class::MOP::Attribute::slots                                    400
+ Try::Tiny::catch                                                411
+ Try::Tiny::try                                                  411
+ Class::MOP::Instance::inline_slot_access                        451
+ Class::MOP::Class::Immutable::Trait:::around                    472
+ Class::MOP::Mixin::AttributeCore::has_initializer               496
+ Class::MOP::Method::Wrapped::__ANON__                           544
+ Class::MOP::Package::_package_stash                             737
+ Class::MOP::Class::initialize                                  1128
+ Class::MOP::get_metaclass_by_name                              1204
 
 =item Trace function calls
 
   # dtrace -qFZn 'sub-entry, sub-return { trace(copyinstr(arg0)) }'
-
   0  -> Perl_pp_entersub                        BEGIN
   0  <- Perl_pp_leavesub                        BEGIN
   0  -> Perl_pp_entersub                        BEGIN
   0    -> Perl_pp_entersub                      import
   0    <- Perl_pp_leavesub                      import
   0  <- Perl_pp_leavesub                        BEGIN
   0  -> Perl_pp_entersub                        BEGIN
   0    -> Perl_pp_entersub                      dress
   0    <- Perl_pp_leavesub                      dress
   0    -> Perl_pp_entersub                      dirty
   0    <- Perl_pp_leavesub                      dirty
   0    -> Perl_pp_entersub                      whiten
   0    <- Perl_pp_leavesub                      whiten
   0  <- Perl_dounwind                           BEGIN
+ # dtrace -qFZn 'sub-entry, sub-return { trace(copyinstr(arg0)) }'
+
+ 0  -> Perl_pp_entersub                        BEGIN
+ 0  <- Perl_pp_leavesub                        BEGIN
+ 0  -> Perl_pp_entersub                        BEGIN
+ 0    -> Perl_pp_entersub                      import
+ 0    <- Perl_pp_leavesub                      import
+ 0  <- Perl_pp_leavesub                        BEGIN
+ 0  -> Perl_pp_entersub                        BEGIN
+ 0    -> Perl_pp_entersub                      dress
+ 0    <- Perl_pp_leavesub                      dress
+ 0    -> Perl_pp_entersub                      dirty
+ 0    <- Perl_pp_leavesub                      dirty
+ 0    -> Perl_pp_entersub                      whiten
+ 0    <- Perl_pp_leavesub                      whiten
+ 0  <- Perl_dounwind                           BEGIN
 
 =item Function calls during interpreter cleanup
 
   # dtrace -Zn 'phase-change /copyinstr(arg0) == "END"/ { self->ending = 1 } sub-entry /self->ending/ { trace(copyinstr(arg0)) }'
+ # dtrace -Zn 'phase-change /copyinstr(arg0) == "END"/ { self->ending = 1 } sub-entry /self->ending/ { trace(copyinstr(arg0)) }'
 
   CPU     ID                    FUNCTION:NAME
-      1  77214       Perl_pp_entersub:sub-entry   END
-      1  77214       Perl_pp_entersub:sub-entry   END
-      1  77214       Perl_pp_entersub:sub-entry   cleanup
-      1  77214       Perl_pp_entersub:sub-entry   _force_writable
-      1  77214       Perl_pp_entersub:sub-entry   _force_writable
+ CPU     ID                    FUNCTION:NAME
+   1  77214       Perl_pp_entersub:sub-entry   END
+   1  77214       Perl_pp_entersub:sub-entry   END
+   1  77214       Perl_pp_entersub:sub-entry   cleanup
+   1  77214       Perl_pp_entersub:sub-entry   _force_writable
+   1  77214       Perl_pp_entersub:sub-entry   _force_writable
 
 =item System calls at compile time
 
   # dtrace -qZn 'phase-change /copyinstr(arg0) == "START"/ { self->interesting = 1 } phase-change /copyinstr(arg0) == "RUN"/ { self->interesting = 0 } syscall::: /self->interesting/ { @[probefunc] = count() } END { trunc(@, 3) }'
+ # dtrace -qZn 'phase-change /copyinstr(arg0) == "START"/ { self->interesting = 1 } phase-change /copyinstr(arg0) == "RUN"/ { self->interesting = 0 } syscall::: /self->interesting/ { @[probefunc] = count() } END { trunc(@, 3) }'
 
   lseek                                                           310
   read                                                            374
   stat64                                                         1056
+ lseek                                                           310
+ read                                                            374
+ stat64                                                         1056
 
 =item Perl functions that execute the most opcodes
 
   # dtrace -qZn 'sub-entry { self->fqn = strjoin(copyinstr(arg3), strjoin("::", copyinstr(arg0))) } op-entry /self->fqn != ""/ { @[self->fqn] = count() } END { trunc(@, 3) }'
+ # dtrace -qZn 'sub-entry { self->fqn = strjoin(copyinstr(arg3), strjoin("::", copyinstr(arg0))) } op-entry /self->fqn != ""/ { @[self->fqn] = count() } END { trunc(@, 3) }'
 
   warnings::unimport                                             4589
   Exporter::Heavy::_rebuild_cache                                5039
   Exporter::import                                              14578
+ warnings::unimport                                             4589
+ Exporter::Heavy::_rebuild_cache                                5039
+ Exporter::import                                              14578
 
 =back
 
index 485109f..1759ad1 100644 (file)
@@ -5792,7 +5792,7 @@ subclasses, like C<isa> does.
 Instead, use C<blessed> (in the L<Scalar::Util> module) for boolean
 checks, C<isa> for specific class checks and C<reftype> (also from
 L<Scalar::Util>) for type checks.  (See L<perlobj> for details and a
-C<blessed/isa> example.)
+C<blessed>/C<isa> example.)
 
 See also L<perlref>.
 
@@ -7410,10 +7410,11 @@ value to format.
 Here are some more examples; be aware that when using an explicit
 index, the C<$> may need escaping:
 
-  printf "%2\$d %d\n",    12, 34;      # will print "34 12\n"
-  printf "%2\$d %d %d\n", 12, 34;      # will print "34 12 34\n"
-  printf "%3\$d %d %d\n", 12, 34, 56;  # will print "56 12 34\n"
-  printf "%2\$*3\$d %d\n", 12, 34, 3;  # will print " 34 12\n"
+ printf "%2\$d %d\n",      12, 34;     # will print "34 12\n"
+ printf "%2\$d %d %d\n",   12, 34;     # will print "34 12 34\n"
+ printf "%3\$d %d %d\n",   12, 34, 56; # will print "56 12 34\n"
+ printf "%2\$*3\$d %d\n",  12, 34,  3; # will print " 34 12\n"
+ printf "%*1\$.*f\n",       4,  5, 10; # will print "5.0000\n"
 
 =back
 
index cd8a1d6..a6a927b 100644 (file)
@@ -37,7 +37,7 @@ For the Perl Artistic License, see L<perlartistic>.
                      Version 1, February 1989
 
   Copyright (C) 1989 Free Software Foundation, Inc.
-                     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+                51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
@@ -69,16 +69,16 @@ For the Perl Artistic License, see L<perlartistic>.
  you have.  You must make sure that they, too, receive or can get the
  source code.  And you must tell them their rights.
 
-   We protect your rights with two steps: (1) copyright the software, and
- (2) offer you this license which gives you legal permission to copy,
- distribute and/or modify the software.
+   We protect your rights with two steps: (1) copyright the software,
+ and (2) offer you this license which gives you legal permission to
copy, distribute and/or modify the software.
 
    Also, for each author's protection and ours, we want to make certain
  that everyone understands that there is no warranty for this free
- software.  If the software is modified by someone else and passed on, we
- want its recipients to know that what they have is not the original, so
- that any problems introduced by others will not reflect on the original
- authors' reputations.
+ software.  If the software is modified by someone else and passed on,
+ we want its recipients to know that what they have is not the original,
+ so that any problems introduced by others will not reflect on the
original authors' reputations.
 
    The precise terms and conditions for copying, distribution and
  modification follow.
@@ -91,52 +91,53 @@ For the Perl Artistic License, see L<perlartistic>.
  distributed under the terms of this General Public License.  The
  "Program", below, refers to any such program or work, and a "work based
  on the Program" means either the Program or any work containing the
- Program or a portion of it, either verbatim or with modifications.  Each
- licensee is addressed as "you".
-
-   1. You may copy and distribute verbatim copies of the Program's source
- code as you receive it, in any medium, provided that you conspicuously and
- appropriately publish on each copy an appropriate copyright notice and
- disclaimer of warranty; keep intact all the notices that refer to this
- General Public License and to the absence of any warranty; and give any
- other recipients of the Program a copy of this General Public License
- along with the Program.  You may charge a fee for the physical act of
- transferring a copy.
-
-   2. You may modify your copy or copies of the Program or any portion of
- it, and copy and distribute such modifications under the terms of Paragraph
- 1 above, provided that you also do the following:
+ Program or a portion of it, either verbatim or with modifications.
Each licensee is addressed as "you".
+
+   1. You may copy and distribute verbatim copies of the Program's
+ source code as you receive it, in any medium, provided that you
+ conspicuously and appropriately publish on each copy an appropriate
+ copyright notice and disclaimer of warranty; keep intact all the
+ notices that refer to this General Public License and to the absence of
+ any warranty; and give any other recipients of the Program a copy of
+ this General Public License along with the Program.  You may charge a
fee for the physical act of transferring a copy.
+
+   2. You may modify your copy or copies of the Program or any portion
+ of it, and copy and distribute such modifications under the terms of
Paragraph 1 above, provided that you also do the following:
 
      a) cause the modified files to carry prominent notices stating that
      you changed the files and the date of any change; and
 
      b) cause the whole of any work that you distribute or publish, that
-     in whole or in part contains the Program or any part thereof, either
-     with or without modifications, to be licensed at no charge to all
-     third parties under the terms of this General Public License (except
-     that you may choose to grant warranty protection to some or all
-     third parties, at your option).
-
-     c) If the modified program normally reads commands interactively when
-     run, you must cause it, when started running for such interactive use
-     in the simplest and most usual way, to print or display an
-     announcement including an appropriate copyright notice and a notice
-     that there is no warranty (or else, saying that you provide a
-     warranty) and that users may redistribute the program under these
-     conditions, and telling the user how to view a copy of this General
-     Public License.
+     in whole or in part contains the Program or any part thereof,
+     either with or without modifications, to be licensed at no charge
+     to all third parties under the terms of this General Public License
+     (except that you may choose to grant warranty protection to some or
+     all third parties, at your option).
+
+     c) If the modified program normally reads commands interactively
+     when run, you must cause it, when started running for such
+     interactive use in the simplest and most usual way, to print or
+     display an announcement including an appropriate copyright notice
+     and a notice that there is no warranty (or else, saying that you
+     provide a warranty) and that users may redistribute the program
+     under these conditions, and telling the user how to view a copy of
+     this General Public License.
 
      d) You may charge a fee for the physical act of transferring a
      copy, and you may at your option offer warranty protection in
      exchange for a fee.
 
  Mere aggregation of another independent work with the Program (or its
- derivative) on a volume of a storage or distribution medium does not bring
- the other work under the scope of these terms.
+ derivative) on a volume of a storage or distribution medium does not
bring the other work under the scope of these terms.
 
-   3. You may copy and distribute the Program (or a portion or derivative of
- it, under Paragraph 2) in object code or executable form under the terms of
- Paragraphs 1 and 2 above provided that you also do one of the following:
+   3. You may copy and distribute the Program (or a portion or
+ derivative of it, under Paragraph 2) in object code or executable form
+ under the terms of Paragraphs 1 and 2 above provided that you also do
+ one of the following:
 
      a) accompany it with the complete corresponding machine-readable
      source code, which must be distributed under the terms of
@@ -144,8 +145,8 @@ For the Perl Artistic License, see L<perlartistic>.
 
      b) accompany it with a written offer, valid for at least three
      years, to give any third party free (except for a nominal charge
-     for the cost of distribution) a complete machine-readable copy of the
-     corresponding source code, to be distributed under the terms of
+     for the cost of distribution) a complete machine-readable copy of
+     the corresponding source code, to be distributed under the terms of
      Paragraphs 1 and 2 above; or,
 
      c) accompany it with the information you received as to where the
@@ -154,74 +155,75 @@ For the Perl Artistic License, see L<perlartistic>.
      received the program in object code or executable form alone.)
 
  Source code for a work means the preferred form of the work for making
- modifications to it.  For an executable file, complete source code means
- all the source code for all modules it contains; but, as a special
- exception, it need not include source code for modules which are standard
libraries that accompany the operating system on which the executable
- file runs, or for standard header files or definitions files that
- accompany that operating system.
+ modifications to it.  For an executable file, complete source code
+ means all the source code for all modules it contains; but, as a
+ special exception, it need not include source code for modules which
are standard libraries that accompany the operating system on which the
+ executable file runs, or for standard header files or definitions files
that accompany that operating system.
 
    4. You may not copy, modify, sublicense, distribute or transfer the
  Program except as expressly provided under this General Public License.
- Any attempt otherwise to copy, modify, sublicense, distribute or transfer
- the Program is void, and will automatically terminate your rights to use
- the Program under this License.  However, parties who have received
- copies, or rights to use copies, from you under this General Public
- License will not have their licenses terminated so long as such parties
- remain in full compliance.
+ Any attempt otherwise to copy, modify, sublicense, distribute or
+ transfer the Program is void, and will automatically terminate your
+ rights to use the Program under this License.  However, parties who
+ have received copies, or rights to use copies, from you under this
+ General Public License will not have their licenses terminated so long
as such parties remain in full compliance.
 
-   5. By copying, distributing or modifying the Program (or any work based
- on the Program) you indicate your acceptance of this license to do so,
- and all its terms and conditions.
+   5. By copying, distributing or modifying the Program (or any work
+ based on the Program) you indicate your acceptance of this license to
do so, and all its terms and conditions.
 
    6. Each time you redistribute the Program (or any work based on the
- Program), the recipient automatically receives a license from the original
- licensor to copy, distribute or modify the Program subject to these
- terms and conditions.  You may not impose any further restrictions on the
- recipients' exercise of the rights granted herein.
+ Program), the recipient automatically receives a license from the
+ original licensor to copy, distribute or modify the Program subject to
+ these terms and conditions.  You may not impose any further
+ restrictions on the recipients' exercise of the rights granted herein.
 
-   7. The Free Software Foundation may publish revised and/or new versions
- of the General Public License from time to time.  Such new versions will
- be similar in spirit to the present version, but may differ in detail to
- address new problems or concerns.
+   7. The Free Software Foundation may publish revised and/or new
+ versions of the General Public License from time to time.  Such new
+ versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
 
  Each version is given a distinguishing version number.  If the Program
  specifies a version number of the license which applies to it and "any
- later version", you have the option of following the terms and conditions
- either of that version or of any later version published by the Free
- Software Foundation.  If the Program does not specify a version number of
- the license, you may choose any version ever published by the Free Software
- Foundation.
+ later version", you have the option of following the terms and
+ conditions either of that version or of any later version published by
+ the Free Software Foundation.  If the Program does not specify a
+ version number of the license, you may choose any version ever
published by the Free Software Foundation.
 
    8. If you wish to incorporate parts of the Program into other free
- programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
- Software Foundation, write to the Free Software Foundation; we sometimes
- make exceptions for this.  Our decision will be guided by the two goals
- of preserving the free status of all derivatives of our free software and
- of promoting the sharing and reuse of software generally.
+ programs whose distribution conditions are different, write to the
author to ask for permission.  For software which is copyrighted by the
+ Free Software Foundation, write to the Free Software Foundation; we
+ sometimes make exceptions for this.  Our decision will be guided by the
+ two goals of preserving the free status of all derivatives of our free
software and of promoting the sharing and reuse of software generally.
 
                             NO WARRANTY
 
-   9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
- FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
- OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
- PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
- OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
- TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
- PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
- REPAIR OR CORRECTION.
-
-   10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
- WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
- REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
- INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
- OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
- TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
- YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
- PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES.
+   9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
+ WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+ EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+ OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
+ EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
+ WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+   10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+ WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+ AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
+ FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+ CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+ PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+ RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+ FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
+ SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGES.
 
                      END OF TERMS AND CONDITIONS
 
@@ -232,18 +234,19 @@ For the Perl Artistic License, see L<perlartistic>.
  free software which everyone can redistribute and change under these
  terms.
 
-   To do so, attach the following notices to the program.  It is safest to
attach them to the start of each source file to most effectively convey
- the exclusion of warranty; and each file should have at least the
- "copyright" line and a pointer to where the full notice is found.
+   To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
+ convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
 
-     <one line to give the program's name and a brief idea of what it does.>
+     <one line to give the program's name and a brief idea of what it
+     does.>
      Copyright (C) 19yy  <name of author>
 
-     This program is free software; you can redistribute it and/or modify
-     it under the terms of the GNU General Public License as published by
-     the Free Software Foundation; either version 1, or (at your option)
-     any later version.
+     This program is free software; you can redistribute it and/or
+     modify it under the terms of the GNU General Public License as
+     published by the Free Software Foundation; either version 1, or (at
+     your option) any later version.
 
      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -256,15 +259,17 @@ For the Perl Artistic License, see L<perlartistic>.
      02110-1301 USA
 
 
- Also add information on how to contact you by electronic and paper mail.
+ Also add information on how to contact you by electronic and paper
+ mail.
 
  If the program is interactive, make it output a short notice like this
  when it starts in an interactive mode:
 
      Gnomovision version 69, Copyright (C) 19xx name of author
-     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
-     This is free software, and you are welcome to redistribute it
-     under certain conditions; type 'show c' for details.
+     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type
+     'show w'.  This is free software, and you are welcome to
+     redistribute it under certain conditions; type 'show c' for
+     details.
 
  The hypothetical commands 'show w' and 'show c' should show the
  appropriate parts of the General Public License.  Of course, the
index a58d7ad..345200f 100644 (file)
@@ -2150,7 +2150,7 @@ code like
 
 creates two scopes: the first starts at the C<(> and has C<full == 1>,
 the second starts at the C<{> and has C<full == 0>.  Both end at the
-C<}>, so calls to C<start> and C<pre/post_end> will match.  Anything
+C<}>, so calls to C<start> and C<pre>/C<post_end> will match.  Anything
 pushed onto the save stack by this hook will be popped just before the
 scope ends (between the C<pre_> and C<post_end> hooks, in fact).
 
@@ -2190,7 +2190,7 @@ is probably the best way, so the effect is lexically scoped; however it
 is also possible to use the C<BhkDISABLE> and C<BhkENABLE> macros to
 temporarily switch entries on and off.  You should also be aware that
 generally speaking at least one scope will have opened before your
-extension is loaded, so you will see some C<pre/post_end> pairs that
+extension is loaded, so you will see some C<pre>/C<post_end> pairs that
 didn't have a matching C<start>.
 
 =head1 Examining internal data structures with the C<dump> functions
@@ -2946,7 +2946,7 @@ Since just passing an SV to an XS function and copying the data of
 the SV is not enough to copy the UTF8 flags, even less right is just
 passing a S<C<char *>> to an XS function.
 
-For full generality, use the L<perlapi/DO_UTF8> macro to see if the
+For full generality, use the L<C<DO_UTF8>|perlapi/DO_UTF8> macro to see if the
 string in an SV is to be I<treated> as UTF-8.  This takes into account
 if the call to the XS function is being made from within the scope of
 L<S<C<use bytes>>|bytes>.  If so, the underlying bytes that comprise the
index 46161ef..70f4265 100644 (file)
@@ -810,7 +810,7 @@ The side effects are:
 
 =over 4
 
-=item 1)
+=item *
 
 These select Unicode rules.  That means that in double-quotish strings,
 the string is always converted to UTF-8 to force a Unicode
@@ -819,7 +819,7 @@ to non-UTF8, if possible).  In regular expression patterns, the
 conversion isn't done, but if the character set modifier would
 otherwise be C</d>, it is changed to C</u>.
 
-=item 2)
+=item *
 
 If you use the form C<\N{I<character name>}>, the L<charnames> module
 gets automatically loaded.  This may not be suitable for the test level
index 498a58d..5a3fb25 100644 (file)
@@ -299,7 +299,7 @@ Also, the range 'A' - 'Z' in ASCII is an unbroken sequence of 26 upper
 case alphabetic characters.  That is not true in EBCDIC.  Nor for 'a' to
 'z'.  But '0' - '9' is an unbroken range in both systems.  Don't assume
 anything about other ranges.  (Note that special handling of ranges in
-regular expression patterns makes it appear to Perl
+regular expression patterns and transliterations makes it appear to Perl
 code that the aforementioned ranges are all unbroken.)
 
 Many of the comments in the existing code ignore the possibility of
index b979295..b9e369f 100644 (file)
@@ -540,6 +540,9 @@ the strings?).
  Steve     5.20.1       2014-Sep-14
  Steve     5.20.2-RC1   2015-Jan-31
  Steve     5.20.2       2015-Feb-14
+ Steve     5.20.3-RC1   2015-Aug-22
+ Steve     5.20.3-RC2   2015-Aug-29
+ Steve     5.20.3       2015-Sep-12
 
  Ricardo   5.21.0       2014-May-27     The 5.21 development track
  Matthew H 5.21.1       2014-Jun-20
@@ -561,6 +564,7 @@ the strings?).
  Ricardo   5.23.0       2015-Jun-20     The 5.23 development track
  Matthew   5.23.1       2015-Jul-20
  Matthew   5.23.2       2015-Aug-20
+ Peter     5.23.3       2015-Sep-20
 
 =head2 SELECTED RELEASE SIZES
 
index 49c605b..33362c1 100644 (file)
@@ -978,8 +978,6 @@ or firewall machine), fill this in with your real address instead.
 
     my $paddr;
 
-    $SIG{CHLD} = \&REAPER;
-
     for ( ; $paddr = accept(Client, Server); close Client) {
         my($port, $iaddr) = sockaddr_in($paddr);
         my $name = gethostbyaddr($iaddr, AF_INET);
index a95ecc8..6d0ae03 100644 (file)
@@ -232,7 +232,7 @@ from C<File>. An C<File::MP3> B<is-a> I<more specific> type of C<File>.
 All mp3 files are files, but not all files are mp3 files.
 
 We often refer to inheritance relationships as B<parent-child> or
-C<superclass/subclass> relationships. Sometimes we say that the child
+C<superclass>/C<subclass> relationships. Sometimes we say that the child
 has an B<is-a> relationship with its parent class.
 
 C<File> is a B<superclass> of C<File::MP3>, and C<File::MP3> is a
index b7ebbb1..1691614 100644 (file)
@@ -2372,11 +2372,7 @@ double-quoted strings.  But there is no interpolation, so C<"$"> and
 C<"@"> are treated as literals.  A hyphen at the beginning or end, or
 preceded by a backslash is considered a literal.  Escape sequence
 details are in L<the table near the beginning of this section|/Quote and
-Quote-like Operators>.  It is a bug in Perl v5.22 that something like
-
- tr/\N{U+20}-\N{U+7E}foobar//
-
-does not treat that range as fully Unicode.
+Quote-like Operators>.
 
 Note that C<tr> does B<not> do regular expression character classes such as
 C<\d> or C<\pL>.  The C<tr> operator is not equivalent to the C<L<tr(1)>>
@@ -2387,11 +2383,41 @@ C<\l> string-interpolation escapes on the right side of a substitution
 operator will perform correct case-mappings, but C<tr[a-z][A-Z]> will not
 (except sometimes on legacy 7-bit data).
 
-Note also that the whole range idea is rather unportable between
-character sets--and even within character sets they may cause results
-you probably didn't expect.  A sound principle is to use only ranges
-that begin from and end at either alphabets of equal case (a-e, A-E),
-or digits (0-4).  Anything else is unsafe.  If in doubt, spell out the
+Most ranges are unportable between character sets, but certain ones
+signal Perl to do special handling to make them portable.  There are two
+classes of portable ranges.  The first are any subsets of the ranges
+C<A-Z>, C<a-z>, and C<0-9>, when expressed as literal characters.
+
+  tr/h-k/H-K/
+
+capitalizes the letters C<"h">, C<"i">, C<"j">, and C<"k"> and nothing
+else, no matter what the platform's character set is.  In contrast, all
+of
+
+  tr/\x68-\x6B/\x48-\x4B/
+  tr/h-\x6B/H-\x4B/
+  tr/\x68-k/\x48-K/
+
+do the same capitalizations as the previous example when run on ASCII
+platforms, but something completely different on EBCDIC ones.
+
+The second class of portable ranges is invoked when one or both of the
+range's end points are expressed as C<\N{...}>
+
+ $string =~ tr/\N{U+20}-\N{U+7E}//d;
+
+removes from C<$string> all the platform's characters which are
+equivalent to any of Unicode U+0020, U+0021, ... U+007D, U+007E.  This
+is a portable range, and has the same effect on every platform it is
+run on.  It turns out that in this example, these are the ASCII
+printable characters.  So after this is run, C<$string> has only
+controls and characters which have no ASCII equivalents.
+
+But, even for portable ranges, it is not generally obvious what is
+included without having to look things up.  A sound principle is to use
+only ranges that begin from and end at either ASCII alphabetics of equal
+case (C<b-e>, C<b-E>), or digits (C<1-4>).  Anything else is unclear
+(and unportable unless C<\N{...}> is used).  If in doubt, spell out the
 character sets in full.
 
 Options:
index ad9d493..5884a54 100644 (file)
@@ -11,7 +11,7 @@ where appropriate, there are many other people who might benefit from a few
 perl specific pointers.  If you want the condensed version, perhaps the best
 advice comes from the renowned Japanese Samurai, Miyamoto Musashi, who said:
 
   "Do Not Engage in Useless Activity"
+ "Do Not Engage in Useless Activity"
 
 in 1645.
 
@@ -110,8 +110,8 @@ Here are a few examples to demonstrate usage of Perl's benchmarking tools.
 
 I'm sure most of us have seen code which looks like, (or worse than), this:
 
   if ( $obj->{_ref}->{_myscore} >= $obj->{_ref}->{_yourscore} ) {
-        ...
+ if ( $obj->{_ref}->{_myscore} >= $obj->{_ref}->{_yourscore} ) {
+     ...
 
 This sort of code can be a real eyesore to read, as well as being very
 sensitive to typos, and it's much clearer to dereference the variable
@@ -124,31 +124,31 @@ comparative code in a file and running a C<Benchmark> test.
 
 # dereference
 
   #!/usr/bin/perl
+ #!/usr/bin/perl
 
   use strict;
   use warnings;
+ use strict;
+ use warnings;
 
   use Benchmark;
+ use Benchmark;
 
   my $ref = {
-            'ref'   => {
-                _myscore    => '100 + 1',
-                _yourscore  => '102 - 1',
-            },
   };
+ my $ref = {
+         'ref'   => {
+             _myscore    => '100 + 1',
+             _yourscore  => '102 - 1',
+         },
+ };
 
   timethese(1000000, {
-            'direct'       => sub {
-                my $x = $ref->{ref}->{_myscore} . $ref->{ref}->{_yourscore} ;
-            },
-            'dereference'  => sub {
-                my $ref  = $ref->{ref};
-                my $myscore = $ref->{_myscore};
-                my $yourscore = $ref->{_yourscore};
-                my $x = $myscore . $yourscore;
-            },
   });
+ timethese(1000000, {
+         'direct'       => sub {
+           my $x = $ref->{ref}->{_myscore} . $ref->{ref}->{_yourscore} ;
+         },
+         'dereference'  => sub {
+             my $ref  = $ref->{ref};
+             my $myscore = $ref->{_myscore};
+             my $yourscore = $ref->{_yourscore};
+             my $x = $myscore . $yourscore;
+         },
+ });
 
 It's essential to run any timing measurements a sufficient number of times so
 the numbers settle on a numerical average, otherwise each run will naturally
@@ -157,11 +157,11 @@ contention for C<CPU> resources and network bandwidth for instance.  Running
 the above code for one million iterations, we can take a look at the report
 output by the C<Benchmark> module, to see which approach is the most effective.
 
   $> perl dereference
+ $> perl dereference
 
   Benchmark: timing 1000000 iterations of dereference, direct...
   dereference:  2 wallclock secs ( 1.59 usr +  0.00 sys =  1.59 CPU) @ 628930.82/s (n=1000000)
-        direct:  1 wallclock secs ( 1.20 usr +  0.00 sys =  1.20 CPU) @ 833333.33/s (n=1000000)
+ Benchmark: timing 1000000 iterations of dereference, direct...
+ dereference:  2 wallclock secs ( 1.59 usr +  0.00 sys =  1.59 CPU) @ 628930.82/s (n=1000000)
+     direct:  1 wallclock secs ( 1.20 usr +  0.00 sys =  1.20 CPU) @ 833333.33/s (n=1000000)
 
 The difference is clear to see and the dereferencing approach is slower.  While
 it managed to execute an average of 628,930 times a second during our test, the
@@ -178,11 +178,11 @@ always be much more flexible, C<tr>, an oft underused tool, can still be a
 useful.  One scenario might be replace all vowels with another character.  The
 regex solution might look like this:
 
   $str =~ s/[aeiou]/x/g
+ $str =~ s/[aeiou]/x/g
 
 The C<tr> alternative might look like this:
 
   $str =~ tr/aeiou/xxxxx/
+ $str =~ tr/aeiou/xxxxx/
 
 We can put that into a test file which we can run to check which approach is
 the fastest, using a global C<$STR> variable to assign to the C<my $str>
@@ -191,27 +191,27 @@ noticing it's assigned only the once.
 
 # regex-transliterate
 
   #!/usr/bin/perl
+ #!/usr/bin/perl
 
   use strict;
   use warnings;
+ use strict;
+ use warnings;
 
   use Benchmark;
+ use Benchmark;
 
   my $STR = "$$-this and that";
+ my $STR = "$$-this and that";
 
   timethese( 1000000, {
           'sr'  => sub { my $str = $STR; $str =~ s/[aeiou]/x/g; return $str; },
           'tr'  => sub { my $str = $STR; $str =~ tr/aeiou/xxxxx/; return $str; },
   });
+ timethese( 1000000, {
+ 'sr'  => sub { my $str = $STR; $str =~ s/[aeiou]/x/g; return $str; },
+ 'tr'  => sub { my $str = $STR; $str =~ tr/aeiou/xxxxx/; return $str; },
+ });
 
 Running the code gives us our results:
 
   $> perl regex-transliterate
+ $> perl regex-transliterate
 
   Benchmark: timing 1000000 iterations of sr, tr...
-            sr:  2 wallclock secs ( 1.19 usr +  0.00 sys =  1.19 CPU) @ 840336.13/s (n=1000000)
-            tr:  0 wallclock secs ( 0.49 usr +  0.00 sys =  0.49 CPU) @ 2040816.33/s (n=1000000)
+ Benchmark: timing 1000000 iterations of sr, tr...
+         sr:  2 wallclock secs ( 1.19 usr +  0.00 sys =  1.19 CPU) @ 840336.13/s (n=1000000)
+         tr:  0 wallclock secs ( 0.49 usr +  0.00 sys =  0.49 CPU) @ 2040816.33/s (n=1000000)
 
 The C<tr> version is a clear winner.  One solution is flexible, the other is
 fast - and it's appropriately the programmer's choice which to use.
@@ -227,117 +227,118 @@ report on the contents.
 
 # wordmatch
 
-    #!/usr/bin/perl
+ #!/usr/bin/perl
+
+ use strict;
+ use warnings;
+
+ =head1 NAME
+
+ filewords - word analysis of input file
+
+ =head1 SYNOPSIS
+
+     filewords -f inputfilename [-d]
 
-    use strict;
-    use warnings;
+ =head1 DESCRIPTION
 
-    =head1 NAME
-
-    filewords - word analysis of input file
-
-    =head1 SYNOPSIS
-
-        filewords -f inputfilename [-d]
+ This program parses the given filename, specified with C<-f>, and
+ displays a simple analysis of the words found therein.  Use the C<-d>
+ switch to enable debugging messages.
 
-    =head1 DESCRIPTION
+ =cut
 
-    This program parses the given filename, specified with C<-f>, and displays a
-    simple analysis of the words found therein.  Use the C<-d> switch to enable
-    debugging messages.
+ use FileHandle;
+ use Getopt::Long;
 
-    =cut
+ my $debug   =  0;
+ my $file    = '';
 
-    use FileHandle;
-    use Getopt::Long;
+ my $result = GetOptions (
+     'debug'         => \$debug,
+     'file=s'        => \$file,
+ );
+ die("invalid args") unless $result;
 
-    my $debug   =  0;
-    my $file    = '';
+ unless ( -f $file ) {
+     die("Usage: $0 -f filename [-d]");
+ }
+ my $FH = FileHandle->new("< $file")
+                               or die("unable to open file($file): $!");
 
-    my $result = GetOptions (
-        'debug'         => \$debug,
-        'file=s'        => \$file,
-    );
-    die("invalid args") unless $result;
+ my $i_LINES = 0;
+ my $i_WORDS = 0;
+ my %count   = ();
 
-    unless ( -f $file ) {
-        die("Usage: $0 -f filename [-d]");
-    }
-    my $FH = FileHandle->new("< $file") or die("unable to open file($file): $!");
+ my @lines = <$FH>;
+ foreach my $line ( @lines ) {
+     $i_LINES++;
+     $line =~ s/\n//;
+     my @words = split(/ +/, $line);
+     my $i_words = scalar(@words);
+     $i_WORDS = $i_WORDS + $i_words;
+     debug("line: $i_LINES supplying $i_words words: @words");
+     my $i_word = 0;
+     foreach my $word ( @words ) {
+         $i_word++;
+         $count{$i_LINES}{spec} += matches($i_word, $word, '[^a-zA-Z0-9]');
+         $count{$i_LINES}{only} += matches($i_word, $word, '^[^a-zA-Z0-9]+$');
+         $count{$i_LINES}{cons} += matches($i_word, $word, '^[(?i:bcdfghjklmnpqrstvwxyz)]+$');
+         $count{$i_LINES}{vows} += matches($i_word, $word, '^[(?i:aeiou)]+$');
+         $count{$i_LINES}{caps} += matches($i_word, $word, '^[(A-Z)]+$');
+     }
+ }
 
-    my $i_LINES = 0;
-    my $i_WORDS = 0;
-    my %count   = ();
+ print report( %count );
 
-    my @lines = <$FH>;
-    foreach my $line ( @lines ) {
-        $i_LINES++;
-        $line =~ s/\n//;
-        my @words = split(/ +/, $line);
-        my $i_words = scalar(@words);
-        $i_WORDS = $i_WORDS + $i_words;
-        debug("line: $i_LINES supplying $i_words words: @words");
-        my $i_word = 0;
-        foreach my $word ( @words ) {
-            $i_word++;
-            $count{$i_LINES}{spec} += matches($i_word, $word, '[^a-zA-Z0-9]');
-            $count{$i_LINES}{only} += matches($i_word, $word, '^[^a-zA-Z0-9]+$');
-            $count{$i_LINES}{cons} += matches($i_word, $word, '^[(?i:bcdfghjklmnpqrstvwxyz)]+$');
-            $count{$i_LINES}{vows} += matches($i_word, $word, '^[(?i:aeiou)]+$');
-            $count{$i_LINES}{caps} += matches($i_word, $word, '^[(A-Z)]+$');
-        }
-    }
+ sub matches {
+     my $i_wd  = shift;
+     my $word  = shift;
+     my $regex = shift;
+     my $has = 0;
 
-    print report( %count );
+     if ( $word =~ /($regex)/ ) {
+         $has++ if $1;
+     }
 
-    sub matches {
-        my $i_wd  = shift;
-        my $word  = shift;
-        my $regex = shift;
-        my $has = 0;
+     debug("word: $i_wd ".($has ? 'matches' : 'does not match')." chars: /$regex/");
 
-        if ( $word =~ /($regex)/ ) {
-            $has++ if $1;
-        }
+     return $has;
+ }
 
-        debug("word: $i_wd ".($has ? 'matches' : 'does not match')." chars: /$regex/");
+ sub report {
+     my %report = @_;
+     my %rep;
 
-        return $has;
-    }
+     foreach my $line ( keys %report ) {
+         foreach my $key ( keys %{ $report{$line} } ) {
+             $rep{$key} += $report{$line}{$key};
+         }
+     }
 
-    sub report {
-        my %report = @_;
-        my %rep;
+     my $report = qq|
+ $0 report for $file:
+ lines in file: $i_LINES
+ words in file: $i_WORDS
+ words with special (non-word) characters: $i_spec
+ words with only special (non-word) characters: $i_only
+ words with only consonants: $i_cons
+ words with only capital letters: $i_caps
+ words with only vowels: $i_vows
+ |;
 
-        foreach my $line ( keys %report ) {
-            foreach my $key ( keys %{ $report{$line} } ) {
-                $rep{$key} += $report{$line}{$key};
-            }
-        }
-
-        my $report = qq|
-    $0 report for $file:
-    lines in file: $i_LINES
-    words in file: $i_WORDS
-    words with special (non-word) characters: $i_spec
-    words with only special (non-word) characters: $i_only
-    words with only consonants: $i_cons
-    words with only capital letters: $i_caps
-    words with only vowels: $i_vows
-    |;
-
-        return $report;
-    }
-
-    sub debug {
-        my $message = shift;
-
-        if ( $debug ) {
-            print STDERR "DBG: $message\n";
-        }
-    }
-
-    exit 0;
+     return $report;
+ }
+
+ sub debug {
+     my $message = shift;
+
+     if ( $debug ) {
+         print STDERR "DBG: $message\n";
+     }
+ }
+
+ exit 0;
 
 =head2 Devel::DProf
 
@@ -351,18 +352,18 @@ L<Devel::DProf> first, to set a baseline for Perl profiling tools.  Run the
 above program under the control of C<Devel::DProf> by using the C<-d> switch on
 the command-line.
 
   $> perl -d:DProf wordmatch -f perl5db.pl
+ $> perl -d:DProf wordmatch -f perl5db.pl
 
   <...multiple lines snipped...>
+ <...multiple lines snipped...>
 
   wordmatch report for perl5db.pl:
   lines in file: 9428
   words in file: 50243
   words with special (non-word) characters: 20480
   words with only special (non-word) characters: 7790
   words with only consonants: 4801
   words with only capital letters: 1316
   words with only vowels: 1701
+ wordmatch report for perl5db.pl:
+ lines in file: 9428
+ words in file: 50243
+ words with special (non-word) characters: 20480
+ words with only special (non-word) characters: 7790
+ words with only consonants: 4801
+ words with only capital letters: 1316
+ words with only vowels: 1701
 
 C<Devel::DProf> produces a special file, called F<tmon.out> by default, and
 this file is read by the C<dprofpp> program, which is already installed as part
@@ -371,27 +372,27 @@ it will read the F<tmon.out> file in the current directory and produce a human
 readable statistics report of the run of your program.  Note that this may take
 a little time.
 
   $> dprofpp
-
   Total Elapsed Time = 2.951677 Seconds
-      User+System Time = 2.871677 Seconds
   Exclusive Times
   %Time ExclSec CumulS #Calls sec/call Csec/c  Name
-     102.   2.945  3.003 251215   0.0000 0.0000  main::matches
-     2.40   0.069  0.069 260643   0.0000 0.0000  main::debug
-     1.74   0.050  0.050      1   0.0500 0.0500  main::report
-     1.04   0.030  0.049      4   0.0075 0.0123  main::BEGIN
-     0.35   0.010  0.010      3   0.0033 0.0033  Exporter::as_heavy
-     0.35   0.010  0.010      7   0.0014 0.0014  IO::File::BEGIN
-     0.00       - -0.000      1        -      -  Getopt::Long::FindOption
-     0.00       - -0.000      1        -      -  Symbol::BEGIN
-     0.00       - -0.000      1        -      -  Fcntl::BEGIN
-     0.00       - -0.000      1        -      -  Fcntl::bootstrap
-     0.00       - -0.000      1        -      -  warnings::BEGIN
-     0.00       - -0.000      1        -      -  IO::bootstrap
-     0.00       - -0.000      1        -      -  Getopt::Long::ConfigDefaults
-     0.00       - -0.000      1        -      -  Getopt::Long::Configure
-     0.00       - -0.000      1        -      -  Symbol::gensym
+ $> dprofpp
+
+ Total Elapsed Time = 2.951677 Seconds
+   User+System Time = 2.871677 Seconds
+ Exclusive Times
+ %Time ExclSec CumulS #Calls sec/call Csec/c  Name
+  102.   2.945  3.003 251215   0.0000 0.0000  main::matches
+  2.40   0.069  0.069 260643   0.0000 0.0000  main::debug
+  1.74   0.050  0.050      1   0.0500 0.0500  main::report
+  1.04   0.030  0.049      4   0.0075 0.0123  main::BEGIN
+  0.35   0.010  0.010      3   0.0033 0.0033  Exporter::as_heavy
+  0.35   0.010  0.010      7   0.0014 0.0014  IO::File::BEGIN
+  0.00       - -0.000      1        -      -  Getopt::Long::FindOption
+  0.00       - -0.000      1        -      -  Symbol::BEGIN
+  0.00       - -0.000      1        -      -  Fcntl::BEGIN
+  0.00       - -0.000      1        -      -  Fcntl::bootstrap
+  0.00       - -0.000      1        -      -  warnings::BEGIN
+  0.00       - -0.000      1        -      -  IO::bootstrap
+  0.00       - -0.000      1        -      -  Getopt::Long::ConfigDefaults
+  0.00       - -0.000      1        -      -  Getopt::Long::Configure
+  0.00       - -0.000      1        -      -  Symbol::gensym
 
 C<dprofpp> will produce some quite detailed reporting on the activity of the
 C<wordmatch> program.  The wallclock, user and system, times are at the top of
@@ -407,40 +408,40 @@ C<Devel::Profiler>, a drop-in Perl-only replacement for C<Devel::DProf>.  The
 usage is very slightly different in that instead of using the special C<-d:>
 flag, you pull C<Devel::Profiler> in directly as a module using C<-M>.
 
   $> perl -MDevel::Profiler wordmatch -f perl5db.pl
+ $> perl -MDevel::Profiler wordmatch -f perl5db.pl
 
   <...multiple lines snipped...>
+ <...multiple lines snipped...>
 
   wordmatch report for perl5db.pl:
   lines in file: 9428
   words in file: 50243
   words with special (non-word) characters: 20480
   words with only special (non-word) characters: 7790
   words with only consonants: 4801
   words with only capital letters: 1316
   words with only vowels: 1701
+ wordmatch report for perl5db.pl:
+ lines in file: 9428
+ words in file: 50243
+ words with special (non-word) characters: 20480
+ words with only special (non-word) characters: 7790
+ words with only consonants: 4801
+ words with only capital letters: 1316
+ words with only vowels: 1701
 
 
 C<Devel::Profiler> generates a tmon.out file which is compatible with the
 C<dprofpp> program, thus saving the construction of a dedicated statistics
 reader program.  C<dprofpp> usage is therefore identical to the above example.
 
   $> dprofpp
-
   Total Elapsed Time =   20.984 Seconds
-      User+System Time =   19.981 Seconds
   Exclusive Times
   %Time ExclSec CumulS #Calls sec/call Csec/c  Name
-     49.0   9.792 14.509 251215   0.0000 0.0001  main::matches
-     24.4   4.887  4.887 260643   0.0000 0.0000  main::debug
-     0.25   0.049  0.049      1   0.0490 0.0490  main::report
-     0.00   0.000  0.000      1   0.0000 0.0000  Getopt::Long::GetOptions
-     0.00   0.000  0.000      2   0.0000 0.0000  Getopt::Long::ParseOptionSpec
-     0.00   0.000  0.000      1   0.0000 0.0000  Getopt::Long::FindOption
-     0.00   0.000  0.000      1   0.0000 0.0000  IO::File::new
-     0.00   0.000  0.000      1   0.0000 0.0000  IO::Handle::new
-     0.00   0.000  0.000      1   0.0000 0.0000  Symbol::gensym
-     0.00   0.000  0.000      1   0.0000 0.0000  IO::File::open
+ $> dprofpp
+
+ Total Elapsed Time =   20.984 Seconds
+   User+System Time =   19.981 Seconds
+ Exclusive Times
+ %Time ExclSec CumulS #Calls sec/call Csec/c  Name
+  49.0   9.792 14.509 251215   0.0000 0.0001  main::matches
+  24.4   4.887  4.887 260643   0.0000 0.0000  main::debug
+  0.25   0.049  0.049      1   0.0490 0.0490  main::report
+  0.00   0.000  0.000      1   0.0000 0.0000  Getopt::Long::GetOptions
+  0.00   0.000  0.000      2   0.0000 0.0000  Getopt::Long::ParseOptionSpec
+  0.00   0.000  0.000      1   0.0000 0.0000  Getopt::Long::FindOption
+  0.00   0.000  0.000      1   0.0000 0.0000  IO::File::new
+  0.00   0.000  0.000      1   0.0000 0.0000  IO::Handle::new
+  0.00   0.000  0.000      1   0.0000 0.0000  Symbol::gensym
+  0.00   0.000  0.000      1   0.0000 0.0000  IO::File::open
 
 Interestingly we get slightly different results, which is mostly because the
 algorithm which generates the report is different, even though the output file
@@ -453,11 +454,12 @@ cons, before using them.  Interestingly, the numbers of calls for each
 subroutine are identical in the two reports, it's the percentages which differ.
 As the author of C<Devel::Proviler> writes:
 
-    ...running HTML::Template's test suite under Devel::DProf shows output()
-    taking NO time but Devel::Profiler shows around 10% of the time is in output().
-    I don't know which to trust but my gut tells me something is wrong with
-    Devel::DProf.  HTML::Template::output() is a big routine that's called for
-    every test. Either way, something needs fixing.
+ ...running HTML::Template's test suite under Devel::DProf shows
+ output() taking NO time but Devel::Profiler shows around 10% of the
+ time is in output().  I don't know which to trust but my gut tells me
+ something is wrong with Devel::DProf.  HTML::Template::output() is a
+ big routine that's called for every test. Either way, something needs
+ fixing.
 
 YMMV.
 
@@ -470,50 +472,50 @@ produces a line-by-line listing to show how many times each line was called,
 and how long each line took to execute.  It is called by supplying the familiar
 C<-d> flag to Perl at runtime.
 
   $> perl -d:SmallProf wordmatch -f perl5db.pl
+ $> perl -d:SmallProf wordmatch -f perl5db.pl
 
   <...multiple lines snipped...>
+ <...multiple lines snipped...>
 
   wordmatch report for perl5db.pl:
   lines in file: 9428
   words in file: 50243
   words with special (non-word) characters: 20480
   words with only special (non-word) characters: 7790
   words with only consonants: 4801
   words with only capital letters: 1316
   words with only vowels: 1701
+ wordmatch report for perl5db.pl:
+ lines in file: 9428
+ words in file: 50243
+ words with special (non-word) characters: 20480
+ words with only special (non-word) characters: 7790
+ words with only consonants: 4801
+ words with only capital letters: 1316
+ words with only vowels: 1701
 
 C<Devel::SmallProf> writes it's output into a file called F<smallprof.out>, by
 default.  The format of the file looks like this:
 
   <num> <time> <ctime> <line>:<text>
+ <num> <time> <ctime> <line>:<text>
 
 When the program has terminated, the output may be examined and sorted using
 any standard text filtering utilities.  Something like the following may be
 sufficient:
 
   $> cat smallprof.out | grep \d*: | sort -k3 | tac | head -n20
-
   251215   1.65674   7.68000    75: if ( $word =~ /($regex)/ ) {
   251215   0.03264   4.40000    79: debug("word: $i_wd ".($has ? 'matches' :
   251215   0.02693   4.10000    81: return $has;
   260643   0.02841   4.07000   128: if ( $debug ) {
   260643   0.02601   4.04000   126: my $message = shift;
   251215   0.02641   3.91000    73: my $has = 0;
   251215   0.03311   3.71000    70: my $i_wd  = shift;
   251215   0.02699   3.69000    72: my $regex = shift;
   251215   0.02766   3.68000    71: my $word  = shift;
-     50243   0.59726   1.00000    59:  $count{$i_LINES}{cons} =
-     50243   0.48175   0.92000    61:  $count{$i_LINES}{spec} =
-     50243   0.00644   0.89000    56:  my $i_cons = matches($i_word, $word,
-     50243   0.48837   0.88000    63:  $count{$i_LINES}{caps} =
-     50243   0.00516   0.88000    58:  my $i_caps = matches($i_word, $word, '^[(A-
-     50243   0.00631   0.81000    54:  my $i_spec = matches($i_word, $word, '[^a-
-     50243   0.00496   0.80000    57:  my $i_vows = matches($i_word, $word,
-     50243   0.00688   0.80000    53:  $i_word++;
-     50243   0.48469   0.79000    62:  $count{$i_LINES}{only} =
-     50243   0.48928   0.77000    60:  $count{$i_LINES}{vows} =
-     50243   0.00683   0.75000    55:  my $i_only = matches($i_word, $word, '^[^a-
+ $> cat smallprof.out | grep \d*: | sort -k3 | tac | head -n20
+
+ 251215   1.65674   7.68000    75: if ( $word =~ /($regex)/ ) {
+ 251215   0.03264   4.40000    79: debug("word: $i_wd ".($has ? 'matches' :
+ 251215   0.02693   4.10000    81: return $has;
+ 260643   0.02841   4.07000   128: if ( $debug ) {
+ 260643   0.02601   4.04000   126: my $message = shift;
+ 251215   0.02641   3.91000    73: my $has = 0;
+ 251215   0.03311   3.71000    70: my $i_wd  = shift;
+ 251215   0.02699   3.69000    72: my $regex = shift;
+ 251215   0.02766   3.68000    71: my $word  = shift;
+  50243   0.59726   1.00000    59:  $count{$i_LINES}{cons} =
+  50243   0.48175   0.92000    61:  $count{$i_LINES}{spec} =
+  50243   0.00644   0.89000    56:  my $i_cons = matches($i_word, $word,
+  50243   0.48837   0.88000    63:  $count{$i_LINES}{caps} =
+  50243   0.00516   0.88000    58:  my $i_caps = matches($i_word, $word, '^[(A-
+  50243   0.00631   0.81000    54:  my $i_spec = matches($i_word, $word, '[^a-
+  50243   0.00496   0.80000    57:  my $i_vows = matches($i_word, $word,
+  50243   0.00688   0.80000    53:  $i_word++;
+  50243   0.48469   0.79000    62:  $count{$i_LINES}{only} =
+  50243   0.48928   0.77000    60:  $count{$i_LINES}{vows} =
+  50243   0.00683   0.75000    55:  my $i_only = matches($i_word, $word, '^[^a-
 
 You can immediately see a slightly different focus to the subroutine profiling
 modules, and we start to see exactly which line of code is taking the most
@@ -530,35 +532,35 @@ to getting a faster line profiler, than is possible with for example
 C<Devel::SmallProf>, because it's written in C<C>.  To use C<Devel::FastProf>,
 supply the C<-d> argument to Perl:
 
   $> perl -d:FastProf wordmatch -f perl5db.pl
+ $> perl -d:FastProf wordmatch -f perl5db.pl
 
   <...multiple lines snipped...>
+ <...multiple lines snipped...>
 
   wordmatch report for perl5db.pl:
   lines in file: 9428
   words in file: 50243
   words with special (non-word) characters: 20480
   words with only special (non-word) characters: 7790
   words with only consonants: 4801
   words with only capital letters: 1316
   words with only vowels: 1701
+ wordmatch report for perl5db.pl:
+ lines in file: 9428
+ words in file: 50243
+ words with special (non-word) characters: 20480
+ words with only special (non-word) characters: 7790
+ words with only consonants: 4801
+ words with only capital letters: 1316
+ words with only vowels: 1701
 
 C<Devel::FastProf> writes statistics to the file F<fastprof.out> in the current
 directory.  The output file, which can be specified, can be interpreted by using
 the C<fprofpp> command-line program.
 
   $> fprofpp | head -n20
+ $> fprofpp | head -n20
 
   # fprofpp output format is:
   # filename:line time count: source
   wordmatch:75 3.93338 251215: if ( $word =~ /($regex)/ ) {
   wordmatch:79 1.77774 251215: debug("word: $i_wd ".($has ? 'matches' : 'does not match')." chars: /$regex/");
   wordmatch:81 1.47604 251215: return $has;
   wordmatch:126 1.43441 260643: my $message = shift;
   wordmatch:128 1.42156 260643: if ( $debug ) {
   wordmatch:70 1.36824 251215: my $i_wd  = shift;
   wordmatch:71 1.36739 251215: my $word  = shift;
   wordmatch:72 1.35939 251215: my $regex = shift;
+ # fprofpp output format is:
+ # filename:line time count: source
+ wordmatch:75 3.93338 251215: if ( $word =~ /($regex)/ ) {
+ wordmatch:79 1.77774 251215: debug("word: $i_wd ".($has ? 'matches' : 'does not match')." chars: /$regex/");
+ wordmatch:81 1.47604 251215: return $has;
+ wordmatch:126 1.43441 260643: my $message = shift;
+ wordmatch:128 1.42156 260643: if ( $debug ) {
+ wordmatch:70 1.36824 251215: my $i_wd  = shift;
+ wordmatch:71 1.36739 251215: my $word  = shift;
+ wordmatch:72 1.35939 251215: my $regex = shift;
 
 Straightaway we can see that the number of times each line has been called is
 identical to the C<Devel::SmallProf> output, and the sequence is only very
@@ -583,16 +585,16 @@ available for Perl.  The list of coolness just goes on.  Enough of that, let's
 see how to it works - just use the familiar C<-d> switch to plug it in and run
 the code.
 
   $> perl -d:NYTProf wordmatch -f perl5db.pl
+ $> perl -d:NYTProf wordmatch -f perl5db.pl
 
   wordmatch report for perl5db.pl:
   lines in file: 9427
   words in file: 50243
   words with special (non-word) characters: 20480
   words with only special (non-word) characters: 7790
   words with only consonants: 4801
   words with only capital letters: 1316
   words with only vowels: 1701
+ wordmatch report for perl5db.pl:
+ lines in file: 9427
+ words in file: 50243
+ words with special (non-word) characters: 20480
+ words with only special (non-word) characters: 7790
+ words with only consonants: 4801
+ words with only capital letters: 1316
+ words with only vowels: 1701
 
 C<NYTProf> will generate a report database into the file F<nytprof.out> by
 default.  Human readable reports can be generated from here by using the
@@ -600,69 +602,69 @@ supplied C<nytprofhtml> (HTML output) and C<nytprofcsv> (CSV output) programs.
 We've used the Unix system C<html2text> utility to convert the
 F<nytprof/index.html> file for convenience here.
 
   $> html2text nytprof/index.html
-
   Performance Profile Index
   For wordmatch
-      Run on Fri Sep 26 13:46:39 2008
   Reported on Fri Sep 26 13:47:23 2008
-
-             Top 15 Subroutines -- ordered by exclusive time
   |Calls |P |F |Inclusive|Exclusive|Subroutine                          |
   |      |  |  |Time     |Time     |                                    |
   |251215|5 |1 |13.09263 |10.47692 |main::              |matches        |
   |260642|2 |1 |2.71199  |2.71199  |main::              |debug          |
   |1     |1 |1 |0.21404  |0.21404  |main::              |report         |
   |2     |2 |2 |0.00511  |0.00511  |XSLoader::          |load (xsub)    |
   |14    |14|7 |0.00304  |0.00298  |Exporter::          |import         |
   |3     |1 |1 |0.00265  |0.00254  |Exporter::          |as_heavy       |
   |10    |10|4 |0.00140  |0.00140  |vars::              |import         |
   |13    |13|1 |0.00129  |0.00109  |constant::          |import         |
   |1     |1 |1 |0.00360  |0.00096  |FileHandle::        |import         |
   |3     |3 |3 |0.00086  |0.00074  |warnings::register::|import         |
   |9     |3 |1 |0.00036  |0.00036  |strict::            |bits           |
   |13    |13|13|0.00032  |0.00029  |strict::            |import         |
   |2     |2 |2 |0.00020  |0.00020  |warnings::          |import         |
   |2     |1 |1 |0.00020  |0.00020  |Getopt::Long::      |ParseOptionSpec|
   |7     |7 |6 |0.00043  |0.00020  |strict::            |unimport       |
-
   For more information see the full list of 189 subroutines.
+ $> html2text nytprof/index.html
+
+ Performance Profile Index
+ For wordmatch
+   Run on Fri Sep 26 13:46:39 2008
+ Reported on Fri Sep 26 13:47:23 2008
+
+          Top 15 Subroutines -- ordered by exclusive time
+ |Calls |P |F |Inclusive|Exclusive|Subroutine                          |
+ |      |  |  |Time     |Time     |                                    |
+ |251215|5 |1 |13.09263 |10.47692 |main::              |matches        |
+ |260642|2 |1 |2.71199  |2.71199  |main::              |debug          |
+ |1     |1 |1 |0.21404  |0.21404  |main::              |report         |
+ |2     |2 |2 |0.00511  |0.00511  |XSLoader::          |load (xsub)    |
+ |14    |14|7 |0.00304  |0.00298  |Exporter::          |import         |
+ |3     |1 |1 |0.00265  |0.00254  |Exporter::          |as_heavy       |
+ |10    |10|4 |0.00140  |0.00140  |vars::              |import         |
+ |13    |13|1 |0.00129  |0.00109  |constant::          |import         |
+ |1     |1 |1 |0.00360  |0.00096  |FileHandle::        |import         |
+ |3     |3 |3 |0.00086  |0.00074  |warnings::register::|import         |
+ |9     |3 |1 |0.00036  |0.00036  |strict::            |bits           |
+ |13    |13|13|0.00032  |0.00029  |strict::            |import         |
+ |2     |2 |2 |0.00020  |0.00020  |warnings::          |import         |
+ |2     |1 |1 |0.00020  |0.00020  |Getopt::Long::      |ParseOptionSpec|
+ |7     |7 |6 |0.00043  |0.00020  |strict::            |unimport       |
+
+ For more information see the full list of 189 subroutines.
 
 The first part of the report already shows the critical information regarding
 which subroutines are using the most time.  The next gives some statistics
 about the source files profiled.
 
-            Source Code Files -- ordered by exclusive time then name
   |Stmts  |Exclusive|Avg.   |Reports                     |Source File         |
   |       |Time     |       |                            |                    |
   |2699761|15.66654 |6e-06  |line   .    block   .    sub|wordmatch           |
   |35     |0.02187  |0.00062|line   .    block   .    sub|IO/Handle.pm        |
   |274    |0.01525  |0.00006|line   .    block   .    sub|Getopt/Long.pm      |
   |20     |0.00585  |0.00029|line   .    block   .    sub|Fcntl.pm            |
   |128    |0.00340  |0.00003|line   .    block   .    sub|Exporter/Heavy.pm   |
   |42     |0.00332  |0.00008|line   .    block   .    sub|IO/File.pm          |
   |261    |0.00308  |0.00001|line   .    block   .    sub|Exporter.pm         |
   |323    |0.00248  |8e-06  |line   .    block   .    sub|constant.pm         |
   |12     |0.00246  |0.00021|line   .    block   .    sub|File/Spec/Unix.pm   |
   |191    |0.00240  |0.00001|line   .    block   .    sub|vars.pm             |
   |77     |0.00201  |0.00003|line   .    block   .    sub|FileHandle.pm       |
   |12     |0.00198  |0.00016|line   .    block   .    sub|Carp.pm             |
   |14     |0.00175  |0.00013|line   .    block   .    sub|Symbol.pm           |
   |15     |0.00130  |0.00009|line   .    block   .    sub|IO.pm               |
   |22     |0.00120  |0.00005|line   .    block   .    sub|IO/Seekable.pm      |
   |198    |0.00085  |4e-06  |line   .    block   .    sub|warnings/register.pm|
   |114    |0.00080  |7e-06  |line   .    block   .    sub|strict.pm           |
   |47     |0.00068  |0.00001|line   .    block   .    sub|warnings.pm         |
   |27     |0.00054  |0.00002|line   .    block   .    sub|overload.pm         |
   |9      |0.00047  |0.00005|line   .    block   .    sub|SelectSaver.pm      |
   |13     |0.00045  |0.00003|line   .    block   .    sub|File/Spec.pm        |
   |2701595|15.73869 |       |Total                       |
   |128647 |0.74946  |       |Average                     |
   |       |0.00201  |0.00003|Median                      |
   |       |0.00121  |0.00003|Deviation                   |
-
   Report produced by the NYTProf 2.03 Perl profiler, developed by Tim Bunce and
   Adam Kaplan.
+         Source Code Files -- ordered by exclusive time then name
+ |Stmts  |Exclusive|Avg.   |Reports                     |Source File         |
+ |       |Time     |       |                            |                    |
+ |2699761|15.66654 |6e-06  |line   .    block   .    sub|wordmatch           |
+ |35     |0.02187  |0.00062|line   .    block   .    sub|IO/Handle.pm        |
+ |274    |0.01525  |0.00006|line   .    block   .    sub|Getopt/Long.pm      |
+ |20     |0.00585  |0.00029|line   .    block   .    sub|Fcntl.pm            |
+ |128    |0.00340  |0.00003|line   .    block   .    sub|Exporter/Heavy.pm   |
+ |42     |0.00332  |0.00008|line   .    block   .    sub|IO/File.pm          |
+ |261    |0.00308  |0.00001|line   .    block   .    sub|Exporter.pm         |
+ |323    |0.00248  |8e-06  |line   .    block   .    sub|constant.pm         |
+ |12     |0.00246  |0.00021|line   .    block   .    sub|File/Spec/Unix.pm   |
+ |191    |0.00240  |0.00001|line   .    block   .    sub|vars.pm             |
+ |77     |0.00201  |0.00003|line   .    block   .    sub|FileHandle.pm       |
+ |12     |0.00198  |0.00016|line   .    block   .    sub|Carp.pm             |
+ |14     |0.00175  |0.00013|line   .    block   .    sub|Symbol.pm           |
+ |15     |0.00130  |0.00009|line   .    block   .    sub|IO.pm               |
+ |22     |0.00120  |0.00005|line   .    block   .    sub|IO/Seekable.pm      |
+ |198    |0.00085  |4e-06  |line   .    block   .    sub|warnings/register.pm|
+ |114    |0.00080  |7e-06  |line   .    block   .    sub|strict.pm           |
+ |47     |0.00068  |0.00001|line   .    block   .    sub|warnings.pm         |
+ |27     |0.00054  |0.00002|line   .    block   .    sub|overload.pm         |
+ |9      |0.00047  |0.00005|line   .    block   .    sub|SelectSaver.pm      |
+ |13     |0.00045  |0.00003|line   .    block   .    sub|File/Spec.pm        |
+ |2701595|15.73869 |       |Total                       |
+ |128647 |0.74946  |       |Average                     |
+ |       |0.00201  |0.00003|Median                      |
+ |       |0.00121  |0.00003|Deviation                   |
+
+ Report produced by the NYTProf 2.03 Perl profiler, developed by Tim Bunce and
+ Adam Kaplan.
 
 At this point, if you're using the I<html> report, you can click through the
 various links to bore down into each subroutine and each line of code.  Because
@@ -671,72 +673,72 @@ reports built for each source file, we'll just display a part of the
 corresponding F<wordmatch-line.html> file, sufficient to give an idea of the
 sort of output you can expect from this cool tool.
 
   $> html2text nytprof/wordmatch-line.html
-
   Performance Profile -- -block view-.-line view-.-sub view-
   For wordmatch
   Run on Fri Sep 26 13:46:39 2008
   Reported on Fri Sep 26 13:47:22 2008
-
   File wordmatch
-
-     Subroutines -- ordered by exclusive time
   |Calls |P|F|Inclusive|Exclusive|Subroutine    |
   |      | | |Time     |Time     |              |
   |251215|5|1|13.09263 |10.47692 |main::|matches|
   |260642|2|1|2.71199  |2.71199  |main::|debug  |
   |1     |1|1|0.21404  |0.21404  |main::|report |
   |0     |0|0|0        |0        |main::|BEGIN  |
-
-
   |Line|Stmts.|Exclusive|Avg.   |Code                                           |
   |    |      |Time     |       |                                               |
   |1   |      |         |       |#!/usr/bin/perl                                |
   |2   |      |         |       |                                               |
   |    |      |         |       |use strict;                                    |
   |3   |3     |0.00086  |0.00029|# spent 0.00003s making 1 calls to strict::    |
   |    |      |         |       |import                                         |
   |    |      |         |       |use warnings;                                  |
   |4   |3     |0.01563  |0.00521|# spent 0.00012s making 1 calls to warnings::  |
   |    |      |         |       |import                                         |
   |5   |      |         |       |                                               |
   |6   |      |         |       |=head1 NAME                                    |
   |7   |      |         |       |                                               |
   |8   |      |         |       |filewords - word analysis of input file        |
   <...snip...>
   |62  |1     |0.00445  |0.00445|print report( %count );                        |
   |    |      |         |       |# spent 0.21404s making 1 calls to main::report|
   |63  |      |         |       |                                               |
   |    |      |         |       |# spent 23.56955s (10.47692+2.61571) within    |
   |    |      |         |       |main::matches which was called 251215 times,   |
   |    |      |         |       |avg 0.00005s/call: # 50243 times               |
   |    |      |         |       |(2.12134+0.51939s) at line 57 of wordmatch, avg|
   |    |      |         |       |0.00005s/call # 50243 times (2.17735+0.54550s) |
   |64  |      |         |       |at line 56 of wordmatch, avg 0.00005s/call #   |
   |    |      |         |       |50243 times (2.10992+0.51797s) at line 58 of   |
   |    |      |         |       |wordmatch, avg 0.00005s/call # 50243 times     |
   |    |      |         |       |(2.12696+0.51598s) at line 55 of wordmatch, avg|
   |    |      |         |       |0.00005s/call # 50243 times (1.94134+0.51687s) |
   |    |      |         |       |at line 54 of wordmatch, avg 0.00005s/call     |
   |    |      |         |       |sub matches {                                  |
   <...snip...>
   |102 |      |         |       |                                               |
   |    |      |         |       |# spent 2.71199s within main::debug which was  |
   |    |      |         |       |called 260642 times, avg 0.00001s/call: #      |
   |    |      |         |       |251215 times (2.61571+0s) by main::matches at  |
   |103 |      |         |       |line 74 of wordmatch, avg 0.00001s/call # 9427 |
   |    |      |         |       |times (0.09628+0s) at line 50 of wordmatch, avg|
   |    |      |         |       |0.00001s/call                                  |
   |    |      |         |       |sub debug {                                    |
   |104 |260642|0.58496  |2e-06  |my $message = shift;                           |
   |105 |      |         |       |                                               |
   |106 |260642|1.09917  |4e-06  |if ( $debug ) {                                |
   |107 |      |         |       |print STDERR "DBG: $message\n";                |
   |108 |      |         |       |}                                              |
   |109 |      |         |       |}                                              |
   |110 |      |         |       |                                               |
   |111 |1     |0.01501  |0.01501|exit 0;                                        |
   |112 |      |         |       |                                               |
+ $> html2text nytprof/wordmatch-line.html
+
+ Performance Profile -- -block view-.-line view-.-sub view-
+ For wordmatch
+ Run on Fri Sep 26 13:46:39 2008
+ Reported on Fri Sep 26 13:47:22 2008
+
+ File wordmatch
+
+  Subroutines -- ordered by exclusive time
+ |Calls |P|F|Inclusive|Exclusive|Subroutine    |
+ |      | | |Time     |Time     |              |
+ |251215|5|1|13.09263 |10.47692 |main::|matches|
+ |260642|2|1|2.71199  |2.71199  |main::|debug  |
+ |1     |1|1|0.21404  |0.21404  |main::|report |
+ |0     |0|0|0        |0        |main::|BEGIN  |
+
+
+ |Line|Stmts.|Exclusive|Avg.   |Code                                           |
+ |    |      |Time     |       |                                               |
+ |1   |      |         |       |#!/usr/bin/perl                                |
+ |2   |      |         |       |                                               |
+ |    |      |         |       |use strict;                                    |
+ |3   |3     |0.00086  |0.00029|# spent 0.00003s making 1 calls to strict::    |
+ |    |      |         |       |import                                         |
+ |    |      |         |       |use warnings;                                  |
+ |4   |3     |0.01563  |0.00521|# spent 0.00012s making 1 calls to warnings::  |
+ |    |      |         |       |import                                         |
+ |5   |      |         |       |                                               |
+ |6   |      |         |       |=head1 NAME                                    |
+ |7   |      |         |       |                                               |
+ |8   |      |         |       |filewords - word analysis of input file        |
+ <...snip...>
+ |62  |1     |0.00445  |0.00445|print report( %count );                        |
+ |    |      |         |       |# spent 0.21404s making 1 calls to main::report|
+ |63  |      |         |       |                                               |
+ |    |      |         |       |# spent 23.56955s (10.47692+2.61571) within    |
+ |    |      |         |       |main::matches which was called 251215 times,   |
+ |    |      |         |       |avg 0.00005s/call: # 50243 times               |
+ |    |      |         |       |(2.12134+0.51939s) at line 57 of wordmatch, avg|
+ |    |      |         |       |0.00005s/call # 50243 times (2.17735+0.54550s) |
+ |64  |      |         |       |at line 56 of wordmatch, avg 0.00005s/call #   |
+ |    |      |         |       |50243 times (2.10992+0.51797s) at line 58 of   |
+ |    |      |         |       |wordmatch, avg 0.00005s/call # 50243 times     |
+ |    |      |         |       |(2.12696+0.51598s) at line 55 of wordmatch, avg|
+ |    |      |         |       |0.00005s/call # 50243 times (1.94134+0.51687s) |
+ |    |      |         |       |at line 54 of wordmatch, avg 0.00005s/call     |
+ |    |      |         |       |sub matches {                                  |
+ <...snip...>
+ |102 |      |         |       |                                               |
+ |    |      |         |       |# spent 2.71199s within main::debug which was  |
+ |    |      |         |       |called 260642 times, avg 0.00001s/call: #      |
+ |    |      |         |       |251215 times (2.61571+0s) by main::matches at  |
+ |103 |      |         |       |line 74 of wordmatch, avg 0.00001s/call # 9427 |
+ |    |      |         |       |times (0.09628+0s) at line 50 of wordmatch, avg|
+ |    |      |         |       |0.00001s/call                                  |
+ |    |      |         |       |sub debug {                                    |
+ |104 |260642|0.58496  |2e-06  |my $message = shift;                           |
+ |105 |      |         |       |                                               |
+ |106 |260642|1.09917  |4e-06  |if ( $debug ) {                                |
+ |107 |      |         |       |print STDERR "DBG: $message\n";                |
+ |108 |      |         |       |}                                              |
+ |109 |      |         |       |}                                              |
+ |110 |      |         |       |                                               |
+ |111 |1     |0.01501  |0.01501|exit 0;                                        |
+ |112 |      |         |       |                                               |
 
 Oodles of very useful information in there - this seems to be the way forward.
 
@@ -757,7 +759,7 @@ Firstly, an often overlooked point when sorting large amounts of data, one can
 attempt to reduce the data set to be dealt with and in many cases C<grep()> can
 be quite useful as a simple filter:
 
   @data = sort grep { /$filter/ } @incoming
+ @data = sort grep { /$filter/ } @incoming
 
 A command such as this can vastly reduce the volume of material to actually
 sort through in the first place, and should not be too lightly disregarded
@@ -769,30 +771,30 @@ million lines, is 50M in size, and a snippet of it looks like this:
 
 # logfile
 
   188.209-65-87.adsl-dyn.isp.belgacom.be - - [08/Feb/2007:12:57:16 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
   188.209-65-87.adsl-dyn.isp.belgacom.be - - [08/Feb/2007:12:57:16 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
   151.56.71.198 - - [08/Feb/2007:12:57:41 +0000] "GET /suse-on-vaio.html HTTP/1.1" 200 2858 "http://www.linux-on-laptops.com/sony.html" "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
   151.56.71.198 - - [08/Feb/2007:12:57:42 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/suse-on-vaio.html" "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
   151.56.71.198 - - [08/Feb/2007:12:57:43 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
   217.113.68.60 - - [08/Feb/2007:13:02:15 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
   217.113.68.60 - - [08/Feb/2007:13:02:16 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
   debora.to.isac.cnr.it - - [08/Feb/2007:13:03:58 +0000] "GET /suse-on-vaio.html HTTP/1.1" 200 2858 "http://www.linux-on-laptops.com/sony.html" "Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.0 (like Gecko)"
   debora.to.isac.cnr.it - - [08/Feb/2007:13:03:58 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/suse-on-vaio.html" "Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.0 (like Gecko)"
   debora.to.isac.cnr.it - - [08/Feb/2007:13:03:58 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.0 (like Gecko)"
   195.24.196.99 - - [08/Feb/2007:13:26:48 +0000] "GET / HTTP/1.0" 200 3309 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9"
   195.24.196.99 - - [08/Feb/2007:13:26:58 +0000] "GET /data/css HTTP/1.0" 404 206 "http://www.rfi.net/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9"
   195.24.196.99 - - [08/Feb/2007:13:26:59 +0000] "GET /favicon.ico HTTP/1.0" 404 209 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9"
   crawl1.cosmixcorp.com - - [08/Feb/2007:13:27:57 +0000] "GET /robots.txt HTTP/1.0" 200 179 "-" "voyager/1.0"
   crawl1.cosmixcorp.com - - [08/Feb/2007:13:28:25 +0000] "GET /links.html HTTP/1.0" 200 3413 "-" "voyager/1.0"
   fhm226.internetdsl.tpnet.pl - - [08/Feb/2007:13:37:32 +0000] "GET /suse-on-vaio.html HTTP/1.1" 200 2858 "http://www.linux-on-laptops.com/sony.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
   fhm226.internetdsl.tpnet.pl - - [08/Feb/2007:13:37:34 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/suse-on-vaio.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
   80.247.140.134 - - [08/Feb/2007:13:57:35 +0000] "GET / HTTP/1.1" 200 3309 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
   80.247.140.134 - - [08/Feb/2007:13:57:37 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
   pop.compuscan.co.za - - [08/Feb/2007:14:10:43 +0000] "GET / HTTP/1.1" 200 3309 "-" "www.clamav.net"
   livebot-207-46-98-57.search.live.com - - [08/Feb/2007:14:12:04 +0000] "GET /robots.txt HTTP/1.0" 200 179 "-" "msnbot/1.0 (+http://search.msn.com/msnbot.htm)"
   livebot-207-46-98-57.search.live.com - - [08/Feb/2007:14:12:04 +0000] "GET /html/oracle.html HTTP/1.0" 404 214 "-" "msnbot/1.0 (+http://search.msn.com/msnbot.htm)"
   dslb-088-064-005-154.pools.arcor-ip.net - - [08/Feb/2007:14:12:15 +0000] "GET / HTTP/1.1" 200 3309 "-" "www.clamav.net"
   196.201.92.41 - - [08/Feb/2007:14:15:01 +0000] "GET / HTTP/1.1" 200 3309 "-" "MOT-L7/08.B7.DCR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1"
+ 188.209-65-87.adsl-dyn.isp.belgacom.be - - [08/Feb/2007:12:57:16 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
+ 188.209-65-87.adsl-dyn.isp.belgacom.be - - [08/Feb/2007:12:57:16 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
+ 151.56.71.198 - - [08/Feb/2007:12:57:41 +0000] "GET /suse-on-vaio.html HTTP/1.1" 200 2858 "http://www.linux-on-laptops.com/sony.html" "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
+ 151.56.71.198 - - [08/Feb/2007:12:57:42 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/suse-on-vaio.html" "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
+ 151.56.71.198 - - [08/Feb/2007:12:57:43 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"
+ 217.113.68.60 - - [08/Feb/2007:13:02:15 +0000] "GET / HTTP/1.1" 304 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
+ 217.113.68.60 - - [08/Feb/2007:13:02:16 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
+ debora.to.isac.cnr.it - - [08/Feb/2007:13:03:58 +0000] "GET /suse-on-vaio.html HTTP/1.1" 200 2858 "http://www.linux-on-laptops.com/sony.html" "Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.0 (like Gecko)"
+ debora.to.isac.cnr.it - - [08/Feb/2007:13:03:58 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/suse-on-vaio.html" "Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.0 (like Gecko)"
+ debora.to.isac.cnr.it - - [08/Feb/2007:13:03:58 +0000] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (compatible; Konqueror/3.4; Linux) KHTML/3.4.0 (like Gecko)"
+ 195.24.196.99 - - [08/Feb/2007:13:26:48 +0000] "GET / HTTP/1.0" 200 3309 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9"
+ 195.24.196.99 - - [08/Feb/2007:13:26:58 +0000] "GET /data/css HTTP/1.0" 404 206 "http://www.rfi.net/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9"
+ 195.24.196.99 - - [08/Feb/2007:13:26:59 +0000] "GET /favicon.ico HTTP/1.0" 404 209 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9"
+ crawl1.cosmixcorp.com - - [08/Feb/2007:13:27:57 +0000] "GET /robots.txt HTTP/1.0" 200 179 "-" "voyager/1.0"
+ crawl1.cosmixcorp.com - - [08/Feb/2007:13:28:25 +0000] "GET /links.html HTTP/1.0" 200 3413 "-" "voyager/1.0"
+ fhm226.internetdsl.tpnet.pl - - [08/Feb/2007:13:37:32 +0000] "GET /suse-on-vaio.html HTTP/1.1" 200 2858 "http://www.linux-on-laptops.com/sony.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
+ fhm226.internetdsl.tpnet.pl - - [08/Feb/2007:13:37:34 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net/suse-on-vaio.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
+ 80.247.140.134 - - [08/Feb/2007:13:57:35 +0000] "GET / HTTP/1.1" 200 3309 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
+ 80.247.140.134 - - [08/Feb/2007:13:57:37 +0000] "GET /data/css HTTP/1.1" 404 206 "http://www.rfi.net" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"
+ pop.compuscan.co.za - - [08/Feb/2007:14:10:43 +0000] "GET / HTTP/1.1" 200 3309 "-" "www.clamav.net"
+ livebot-207-46-98-57.search.live.com - - [08/Feb/2007:14:12:04 +0000] "GET /robots.txt HTTP/1.0" 200 179 "-" "msnbot/1.0 (+http://search.msn.com/msnbot.htm)"
+ livebot-207-46-98-57.search.live.com - - [08/Feb/2007:14:12:04 +0000] "GET /html/oracle.html HTTP/1.0" 404 214 "-" "msnbot/1.0 (+http://search.msn.com/msnbot.htm)"
+ dslb-088-064-005-154.pools.arcor-ip.net - - [08/Feb/2007:14:12:15 +0000] "GET / HTTP/1.1" 200 3309 "-" "www.clamav.net"
+ 196.201.92.41 - - [08/Feb/2007:14:15:01 +0000] "GET / HTTP/1.1" 200 3309 "-" "MOT-L7/08.B7.DCR MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1"
 
 The specific task here is to sort the 286,525 lines of this file by Response
 Code, Query, Browser, Referring Url, and lastly Date.  One solution might be to
@@ -801,69 +803,69 @@ command-line.
 
 # sort-apache-log
 
   #!/usr/bin/perl -n
-
   use strict;
   use warnings;
-
   my @data;
-
   LINE:
   while ( <> ) {
-        my $line = $_;
-        if (
-            $line =~ m/^(
-                ([\w\.\-]+)             # client
-                \s*-\s*-\s*\[
-                ([^]]+)                 # date
-                \]\s*"\w+\s*
-                (\S+)                   # query
-                [^"]+"\s*
-                (\d+)                   # status
-                \s+\S+\s+"[^"]*"\s+"
-                ([^"]*)                 # browser
-                "
-                .*
-            )$/x
-        ) {
-            my @chunks = split(/ +/, $line);
-            my $ip      = $1;
-            my $date    = $2;
-            my $query   = $3;
-            my $status  = $4;
-            my $browser = $5;
-
-            push(@data, [$ip, $date, $query, $status, $browser, $line]);
-        }
   }
-
   my @sorted = sort {
-        $a->[3] cmp $b->[3]
-                ||
-        $a->[2] cmp $b->[2]
-                ||
-        $a->[0] cmp $b->[0]
-                ||
-        $a->[1] cmp $b->[1]
-                ||
-        $a->[4] cmp $b->[4]
   } @data;
-
   foreach my $data ( @sorted ) {
-        print $data->[5];
   }
-
   exit 0;
+ #!/usr/bin/perl -n
+
+ use strict;
+ use warnings;
+
+ my @data;
+
+ LINE:
+ while ( <> ) {
+     my $line = $_;
+     if (
+         $line =~ m/^(
+             ([\w\.\-]+)             # client
+             \s*-\s*-\s*\[
+             ([^]]+)                 # date
+             \]\s*"\w+\s*
+             (\S+)                   # query
+             [^"]+"\s*
+             (\d+)                   # status
+             \s+\S+\s+"[^"]*"\s+"
+             ([^"]*)                 # browser
+             "
+             .*
+         )$/x
+     ) {
+         my @chunks = split(/ +/, $line);
+         my $ip      = $1;
+         my $date    = $2;
+         my $query   = $3;
+         my $status  = $4;
+         my $browser = $5;
+
+         push(@data, [$ip, $date, $query, $status, $browser, $line]);
+     }
+ }
+
+ my @sorted = sort {
+     $a->[3] cmp $b->[3]
+             ||
+     $a->[2] cmp $b->[2]
+             ||
+     $a->[0] cmp $b->[0]
+             ||
+     $a->[1] cmp $b->[1]
+             ||
+     $a->[4] cmp $b->[4]
+ } @data;
+
+ foreach my $data ( @sorted ) {
+     print $data->[5];
+ }
+
+ exit 0;
 
 When running this program, redirect C<STDOUT> so it is possible to check the
 output is correct from following test runs and use the system C<time> utility
 to check the overall runtime.
 
   $> time ./sort-apache-log logfile > out-sort
+ $> time ./sort-apache-log logfile > out-sort
 
   real    0m17.371s
   user    0m15.757s
   sys     0m0.592s
+ real    0m17.371s
+ user    0m15.757s
+ sys     0m0.592s
 
 The program took just over 17 wallclock seconds to run.  Note the different
 values C<time> outputs, it's important to always use the same one, and to not
@@ -896,59 +898,59 @@ input directly as it arrives too.  Otherwise, the code looks fairly similar:
 
 # sort-apache-log-schwarzian
 
   #!/usr/bin/perl -n
-
   use strict;
   use warnings;
-
   print
-
-        map $_->[0] =>
-
-        sort {
-            $a->[4] cmp $b->[4]
-                    ||
-            $a->[3] cmp $b->[3]
-                    ||
-            $a->[1] cmp $b->[1]
-                    ||
-            $a->[2] cmp $b->[2]
-                    ||
-            $a->[5] cmp $b->[5]
-        }
-        map  [ $_, m/^(
-            ([\w\.\-]+)             # client
-            \s*-\s*-\s*\[
-            ([^]]+)                 # date
-            \]\s*"\w+\s*
-            (\S+)                   # query
-            [^"]+"\s*
-            (\d+)                   # status
-            \s+\S+\s+"[^"]*"\s+"
-            ([^"]*)                 # browser
-            "
-            .*
-        )$/xo ]
-
-        => <>;
-
   exit 0;
+ #!/usr/bin/perl -n
+
+ use strict;
+ use warnings;
+
+ print
+
+     map $_->[0] =>
+
+     sort {
+         $a->[4] cmp $b->[4]
+                 ||
+         $a->[3] cmp $b->[3]
+                 ||
+         $a->[1] cmp $b->[1]
+                 ||
+         $a->[2] cmp $b->[2]
+                 ||
+         $a->[5] cmp $b->[5]
+     }
+     map  [ $_, m/^(
+         ([\w\.\-]+)             # client
+         \s*-\s*-\s*\[
+         ([^]]+)                 # date
+         \]\s*"\w+\s*
+         (\S+)                   # query
+         [^"]+"\s*
+         (\d+)                   # status
+         \s+\S+\s+"[^"]*"\s+"
+         ([^"]*)                 # browser
+         "
+         .*
+     )$/xo ]
+
+     => <>;
+
+ exit 0;
 
 Run the new code against the same logfile, as above, to check the new time.
 
   $> time ./sort-apache-log-schwarzian logfile > out-schwarz
+ $> time ./sort-apache-log-schwarzian logfile > out-schwarz
 
   real    0m9.664s
   user    0m8.873s
   sys     0m0.704s
+ real    0m9.664s
+ user    0m8.873s
+ sys     0m0.704s
 
 The time has been cut in half, which is a respectable speed improvement by any
 standard.  Naturally, it is important to check the output is consistent with
 the first program run, this is where the Unix system C<cksum> utility comes in.
 
   $> cksum out-sort out-schwarz
   3044173777 52029194 out-sort
   3044173777 52029194 out-schwarz
+ $> cksum out-sort out-schwarz
+ 3044173777 52029194 out-sort
+ 3044173777 52029194 out-schwarz
 
 BTW. Beware too of pressure from managers who see you speed a program up by 50%
 of the runtime once, only to get a request one month later to do the same again
@@ -965,7 +967,7 @@ any way an issue, this approach is wrong.
 
 A common sight is code which looks something like this:
 
   logger->debug( "A logging message via process-id: $$ INC: " . Dumper(\%INC) )
+ logger->debug( "A logging message via process-id: $$ INC: " . Dumper(\%INC) )
 
 The problem is that this code will always be parsed and executed, even when the
 debug level set in the logging configuration file is zero.  Once the debug()
@@ -975,46 +977,46 @@ the program will continue.  In the example given though, the C<\%INC> hash will
 already have been dumped, and the message string constructed, all of which work
 could be bypassed by a debug variable at the statement level, like this:
 
   logger->debug( "A logging message via process-id: $$ INC: " . Dumper(\%INC) ) if $DEBUG;
+ logger->debug( "A logging message via process-id: $$ INC: " . Dumper(\%INC) ) if $DEBUG;
 
 This effect can be demonstrated by setting up a test script with both forms,
 including a C<debug()> subroutine to emulate typical C<logger()> functionality.
 
 # ifdebug
 
   #!/usr/bin/perl
+ #!/usr/bin/perl
 
   use strict;
   use warnings;
+ use strict;
+ use warnings;
 
   use Benchmark;
   use Data::Dumper;
   my $DEBUG = 0;
+ use Benchmark;
+ use Data::Dumper;
+ my $DEBUG = 0;
 
   sub debug {
-        my $msg = shift;
+ sub debug {
+     my $msg = shift;
 
-        if ( $DEBUG ) {
-            print "DEBUG: $msg\n";
-        }
   };
+     if ( $DEBUG ) {
+         print "DEBUG: $msg\n";
+     }
+ };
 
   timethese(100000, {
-            'debug'       => sub {
-                debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) )
-            },
-            'ifdebug'  => sub {
-                debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) ) if $DEBUG
-            },
   });
+ timethese(100000, {
+         'debug'       => sub {
+             debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) )
+         },
+         'ifdebug'  => sub {
+             debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) ) if $DEBUG
+         },
+ });
 
 Let's see what C<Benchmark> makes of this:
 
   $> perl ifdebug
   Benchmark: timing 100000 iterations of constant, sub...
-       ifdebug:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU) @ 10000000.00/s (n=100000)
-                (warning: too few iterations for a reliable count)
-         debug: 14 wallclock secs (13.18 usr +  0.04 sys = 13.22 CPU) @ 7564.30/s (n=100000)
+ $> perl ifdebug
+ Benchmark: timing 100000 iterations of constant, sub...
+    ifdebug:  0 wallclock secs ( 0.01 usr +  0.00 sys =  0.01 CPU) @ 10000000.00/s (n=100000)
+             (warning: too few iterations for a reliable count)
+      debug: 14 wallclock secs (13.18 usr +  0.04 sys = 13.22 CPU) @ 7564.30/s (n=100000)
 
 In the one case the code, which does exactly the same thing as far as
 outputting any debugging information is concerned, in other words nothing,
@@ -1029,40 +1031,40 @@ time C<DEBUG> constant.
 
 # ifdebug-constant
 
   #!/usr/bin/perl
-
   use strict;
   use warnings;
-
   use Benchmark;
   use Data::Dumper;
   use constant
-        DEBUG => 0
   ;
-
   sub debug {
-        if ( DEBUG ) {
-            my $msg = shift;
-            print "DEBUG: $msg\n";
-        }
   };
-
   timethese(100000, {
-            'debug'       => sub {
-                debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) )
-            },
-            'constant'  => sub {
-                debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) ) if DEBUG
-            },
   });
+ #!/usr/bin/perl
+
+ use strict;
+ use warnings;
+
+ use Benchmark;
+ use Data::Dumper;
+ use constant
+     DEBUG => 0
+ ;
+
+ sub debug {
+     if ( DEBUG ) {
+         my $msg = shift;
+         print "DEBUG: $msg\n";
+     }
+ };
+
+ timethese(100000, {
+         'debug'       => sub {
+             debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) )
+         },
+         'constant'  => sub {
+             debug( "A $0 logging message via process-id: $$" . Dumper(\%INC) ) if DEBUG
+         },
+ });
 
 Running this program produces the following output:
 
   $> perl ifdebug-constant
   Benchmark: timing 100000 iterations of constant, sub...
-      constant:  0 wallclock secs (-0.00 usr +  0.00 sys = -0.00 CPU) @ -7205759403792793600000.00/s (n=100000)
-                (warning: too few iterations for a reliable count)
-           sub: 14 wallclock secs (13.09 usr +  0.00 sys = 13.09 CPU) @ 7639.42/s (n=100000)
+ $> perl ifdebug-constant
+ Benchmark: timing 100000 iterations of constant, sub...
+   constant:  0 wallclock secs (-0.00 usr +  0.00 sys = -0.00 CPU) @ -7205759403792793600000.00/s (n=100000)
+             (warning: too few iterations for a reliable count)
+        sub: 14 wallclock secs (13.09 usr +  0.00 sys = 13.09 CPU) @ 7639.42/s (n=100000)
 
 The C<DEBUG> constant wipes the floor with even the C<$debug> variable,
 clocking in at minus zero seconds, and generates a "warning: too few iterations
@@ -1070,26 +1072,26 @@ for a reliable count" message into the bargain.  To see what is really going
 on, and why we had too few iterations when we thought we asked for 100000, we
 can use the very useful C<B::Deparse> to inspect the new code:
 
   $> perl -MO=Deparse ifdebug-constant
-
   use Benchmark;
   use Data::Dumper;
   use constant ('DEBUG', 0);
   sub debug {
-        use warnings;
-        use strict 'refs';
-        0;
   }
   use warnings;
   use strict 'refs';
   timethese(100000, {'sub', sub {
-        debug "A $0 logging message via process-id: $$" . Dumper(\%INC);
   }
   , 'constant', sub {
-        0;
   }
   });
   ifdebug-constant syntax OK
+ $> perl -MO=Deparse ifdebug-constant
+
+ use Benchmark;
+ use Data::Dumper;
+ use constant ('DEBUG', 0);
+ sub debug {
+     use warnings;
+     use strict 'refs';
+     0;
+ }
+ use warnings;
+ use strict 'refs';
+ timethese(100000, {'sub', sub {
+     debug "A $0 logging message via process-id: $$" . Dumper(\%INC);
+ }
+ , 'constant', sub {
+     0;
+ }
+ });
+ ifdebug-constant syntax OK
 
 The output shows the constant() subroutine we're testing being replaced with
 the value of the C<DEBUG> constant: zero.  The line to be tested has been
@@ -1106,7 +1108,7 @@ principle can be written as: I<useful programs are slow> by their very
 definition.  It is of course possible to write a nearly instantaneous program,
 but it's not going to do very much, here's a very efficient one:
 
   $> perl -e 0
+ $> perl -e 0
 
 Optimizing that any further is a job for C<p5p>.
 
@@ -1134,43 +1136,43 @@ It's not possible to individually showcase all the performance related code for
 Perl here, naturally, but here's a short list of modules from the CPAN which
 deserve further attention.
 
   Apache::DProf
   Apache::SmallProf
   Benchmark
   DBIx::Profile
   Devel::AutoProfiler
   Devel::DProf
   Devel::DProfLB
   Devel::FastProf
   Devel::GraphVizProf
   Devel::NYTProf
   Devel::NYTProf::Apache
   Devel::Profiler
   Devel::Profile
   Devel::Profit
   Devel::SmallProf
   Devel::WxProf
   POE::Devel::Profiler
   Sort::Key
   Sort::Maker
+ Apache::DProf
+ Apache::SmallProf
+ Benchmark
+ DBIx::Profile
+ Devel::AutoProfiler
+ Devel::DProf
+ Devel::DProfLB
+ Devel::FastProf
+ Devel::GraphVizProf
+ Devel::NYTProf
+ Devel::NYTProf::Apache
+ Devel::Profiler
+ Devel::Profile
+ Devel::Profit
+ Devel::SmallProf
+ Devel::WxProf
+ POE::Devel::Profiler
+ Sort::Key
+ Sort::Maker
 
 =head2 URLS
 
 Very useful online reference material:
 
   http://www.ccl4.org/~nick/P/Fast_Enough/
+ http://www.ccl4.org/~nick/P/Fast_Enough/
 
   http://www-128.ibm.com/developerworks/library/l-optperl.html
+ http://www-128.ibm.com/developerworks/library/l-optperl.html
 
   http://perlbuzz.com/2007/11/bind-output-variables-in-dbi-for-speed-and-safety.html
+ http://perlbuzz.com/2007/11/bind-output-variables-in-dbi-for-speed-and-safety.html
 
   http://en.wikipedia.org/wiki/Performance_analysis
+ http://en.wikipedia.org/wiki/Performance_analysis
 
   http://apache.perl.org/docs/1.0/guide/performance.html
+ http://apache.perl.org/docs/1.0/guide/performance.html
 
   http://perlgolf.sourceforge.net/
+ http://perlgolf.sourceforge.net/
 
   http://www.sysarch.com/Perl/sort_paper.html
+ http://www.sysarch.com/Perl/sort_paper.html
 
 =head1 AUTHOR
 
index 35a8591..02536d9 100644 (file)
@@ -651,7 +651,8 @@ Assume very little about character sets.
 Assume nothing about numerical values (C<ord>, C<chr>) of characters.
 Do not use explicit code point ranges (like C<\xHH-\xHH)>.  However,
 starting in Perl v5.22, regular expression pattern bracketed character
-class ranges specified like C<qr/[\N{U+HH}-\N{U+HH}]/> are portable.
+class ranges specified like C<qr/[\N{U+HH}-\N{U+HH}]/> are portable,
+and starting in Perl v5.24, the same ranges are portable in C<tr///>.
 You can portably use symbolic character classes like C<[:print:]>.
 
 Do not assume that the alphabetic characters are encoded contiguously
@@ -660,7 +661,7 @@ however, guarantees that all subsets of C<qr/[A-Z]/>, C<qr/[a-z]/>, and
 C<qr/[0-9]/> behave as expected.  C<tr///> behaves the same for these
 ranges.  In patterns, any ranges specified with end points using the
 C<\N{...}> notations ensures character set portability, but it is a bug
-in Perl v5.22, that this isn't true of C<tr///>.
+in Perl v5.22, that this isn't true of C<tr///>, fixed in v5.24.
 
 Do not assume anything about the ordering of the characters.
 The lowercase letters may come before or after the uppercase letters;
index ce28771..f46de4c 100644 (file)
@@ -1106,8 +1106,12 @@ just three limitations:
 
 =item 1
 
-This construct cannot be used within the scope of
-C<use locale> (or the C<E<sol>l> regex modifier).
+When compiled within the scope of C<use locale> (or the C<E<sol>l> regex
+modifier), this construct assumes that the execution-time locale will be
+a UTF-8 one, and the generated pattern always uses Unicode rules.  What
+gets matched or not thus isn't dependent on the actual runtime locale, so
+tainting is not enabled.  But a C<locale> category warning is raised
+if the runtime locale turns out to not be UTF-8.
 
 =item 2
 
index 82a48f5..502ba42 100644 (file)
@@ -101,7 +101,7 @@ broken.
 
 =item * F<t/cmd/>
 
-Tests for basic control structures, C<if/else>, C<while>, subroutines,
+Tests for basic control structures, C<if>/C<else>, C<while>, subroutines,
 etc.
 
 =item * F<t/comp/>
index de2cc10..4a3e6fd 100644 (file)
@@ -513,9 +513,10 @@ evolving.  The current semantics and interface are subject to change.
 See L<attributes> and L<Attribute::Handlers>.
 
 The C<my> operator declares the listed variables to be lexically
-confined to the enclosing block, conditional (C<if/unless/elsif/else>),
-loop (C<for/foreach/while/until/continue>), subroutine, C<eval>,
-or C<do/require/use>'d file.  If more than one value is listed, the
+confined to the enclosing block, conditional
+(C<if>/C<unless>/C<elsif>/C<else>), loop
+(C<for>/C<foreach>/C<while>/C<until>/C<continue>), subroutine, C<eval>,
+or C<do>/C<require>/C<use>'d file.  If more than one value is listed, the
 list must be placed in parentheses.  All listed elements must be
 legal lvalues.  Only alphanumeric identifiers may be lexically
 scoped--magical built-ins like C<$/> must currently be C<local>ized
index 7954b7a..acb4392 100644 (file)
@@ -170,7 +170,7 @@ C<do { } while> construct.  See L<perlsyn/"Loop Control">.
 
 =item *
 
-The switch statement is called C<given/when> and only available in
+The switch statement is called C<given>/C<when> and only available in
 perl 5.10 or newer.  See L<perlsyn/"Switch Statements">.
 
 =item *
index edeb37d..a407faf 100644 (file)
@@ -592,7 +592,7 @@ C<L</General_Category>> property, this
 property can have more values added in a future Unicode release.  Those
 listed above comprised the complete set for many Unicode releases, but
 others were added in Unicode 6.3; you can always find what the
-current ones are in in L<perluniprops>.  And
+current ones are in L<perluniprops>.  And
 L<http://www.unicode.org/reports/tr9/> describes how to use them.
 
 =head3 B<Scripts>
@@ -697,30 +697,34 @@ with the nuts and bolts of Unicode.
 
 Block names are matched in the compound form, like C<\p{Block: Arrows}> or
 C<\p{Blk=Hebrew}>.  Unlike most other properties, only a few block names have a
-Unicode-defined short name.  But Perl does provide a (slight, no longer
-recommended) shortcut:  You can say, for example C<\p{In_Arrows}> or
-C<\p{In_Hebrew}>.
-
-For backwards compatibility, the C<In> prefix may be
-omitted if there is no naming conflict with a script or any other
-property, and you can even use an C<Is> prefix instead in those cases.
-But don't do this for new code because your code could break in new
-releases, and this has already happened: There was a time in very
-early Unicode releases when C<\p{Hebrew}> would have matched the
-I<block> Hebrew; now it doesn't.
-
-Using the C<In> prefix avoids this ambiguity, so far.  But new versions
-of Unicode continue to add new properties whose names begin with C<In>.
-There is a possibility that one of them someday will conflict with your
-usage.  Since this is just a Perl extension, Unicode's name will take
-precedence and your code will become broken.  Also, Unicode is free to
-add a script whose name begins with C<In>; that would cause problems.
-
-So it's clearer and best to use the compound form when specifying
-blocks.  And be sure that is what you really really want to do.  In most
-cases scripts are what you want instead.
-
-A complete list of blocks and their shortcuts is in L<perluniprops>.
+Unicode-defined short name.
+
+Perl also defines single form synonyms for the block property in cases
+where these do not conflict with something else.  But don't use any of
+these, because they are unstable.  Since these are Perl extensions, they
+are subordinate to official Unicode property names; Unicode doesn't know
+nor care about Perl's extensions.  It may happen that a name that
+currently means the Perl extension will later be changed without warning
+to mean a different Unicode property in a future version of the perl
+interpreter that uses a later Unicode release, and your code would no
+longer work.  The extensions are mentioned here for completeness:  Take
+the block name and prefix it with one of: C<In> (for example
+C<\p{Blk=Arrows}> can currently be written as C<\p{In_Arrows}>); or
+sometimes C<Is> (like C<\p{Is_Arrows}>); or sometimes no prefix at all
+(C<\p{Arrows}>).  As of this writing (Unicode 8.0) there are no
+conflicts with using the C<In_> prefix, but there are plenty with the
+other two forms.  For example, C<\p{Is_Hebrew}> and C<\p{Hebrew}> mean
+C<\p{Script=Hebrew}> which is NOT the same thing as C<\p{Blk=Hebrew}>.  Our
+advice used to be to use the C<In_> prefix as a single form way of
+specifying a block.  But Unicode 8.0 added properties whose names begin
+with C<In>, and it's now clear that it's only luck that's so far
+prevented a conflict.  Using C<In> is only marginally less typing than
+C<Blk:>, and the latter's meaning is clearer anyway, and guaranteed to
+never conflict.  So don't take chances.  Use C<\p{Blk=foo}> for new
+code.  And be sure that block is what you really really want to do.  In
+most cases scripts are what you want instead.
+
+A complete list of blocks is in L<perluniprops>.
 
 =head3 B<Other Properties>
 
index 342a596..005f23e 100644 (file)
@@ -1135,10 +1135,8 @@ After a match against some variable C<$var>:
 
 This variable was added in Perl v5.6.0.
 
-=item %LAST_MATCH_START
-
 =item %-
-X<%-> X<%LAST_MATCH_START>
+X<%->
 
 Similar to C<%+>, this variable allows access to the named capture groups
 in the last successful match in the currently active dynamic scope.  To
diff --git a/pp.c b/pp.c
index 6c50ed3..9dd3048 100644 (file)
--- a/pp.c
+++ b/pp.c
@@ -2464,7 +2464,7 @@ S_scomplement(pTHX_ SV *targ, SV *sv)
          while (tmps < send) {
            const UV c = utf8n_to_uvchr(tmps, send-tmps, &l, utf8flags);
            tmps += l;
-           targlen += UNISKIP(~c);
+           targlen += UVCHR_SKIP(~c);
            nchar++;
            if (c > 0xff)
                nwide++;
@@ -3558,7 +3558,8 @@ PP(pp_chr)
             && ((SvIOKp(top) && !SvIsUV(top) && SvIV_nomg(top) < 0)
                 ||
                 ((SvNOKp(top) || (SvOK(top) && !SvIsUV(top)))
-                 && SvNV_nomg(top) < 0.0))) {
+                 && SvNV_nomg(top) < 0.0)))
+        {
            if (ckWARN(WARN_UTF8)) {
                if (SvGMAGICAL(top)) {
                    SV *top2 = sv_newmortal();
@@ -3577,7 +3578,7 @@ PP(pp_chr)
     SvUPGRADE(TARG,SVt_PV);
 
     if (value > 255 && !IN_BYTES) {
-       SvGROW(TARG, (STRLEN)UNISKIP(value)+1);
+       SvGROW(TARG, (STRLEN)UVCHR_SKIP(value)+1);
        tmps = (char*)uvchr_to_utf8_flags((U8*)SvPVX(TARG), value, 0);
        SvCUR_set(TARG, tmps - SvPVX_const(TARG));
        *tmps = '\0';
@@ -4348,7 +4349,7 @@ PP(pp_quotemeta)
                    IN_LC_RUNTIME(LC_CTYPE)
                        ||
 #endif
-                       _isQUOTEMETA(TWO_BYTE_UTF8_TO_NATIVE(*s, *(s + 1))))
+                       _isQUOTEMETA(EIGHT_BIT_UTF8_TO_NATIVE(*s, *(s + 1))))
                    {
                        to_quote = TRUE;
                    }
diff --git a/pp.h b/pp.h
index 828b7a2..2d99a72 100644 (file)
--- a/pp.h
+++ b/pp.h
 =head1 Stack Manipulation Macros
 
 =for apidoc AmU||SP
-Stack pointer.  This is usually handled by C<xsubpp>.  See C<dSP> and
+Stack pointer.  This is usually handled by C<xsubpp>.  See C<L</dSP>> and
 C<SPAGAIN>.
 
 =for apidoc AmU||MARK
-Stack marker variable for the XSUB.  See C<dMARK>.
+Stack marker variable for the XSUB.  See C<L</dMARK>>.
 
 =for apidoc Am|void|PUSHMARK|SP
-Opening bracket for arguments on a callback.  See C<PUTBACK> and
+Opening bracket for arguments on a callback.  See C<L</PUTBACK>> and
 L<perlcall>.
 
 =for apidoc Ams||dSP
 Declares a local copy of perl's stack pointer for the XSUB, available via
-the C<SP> macro.  See C<SP>.
+the C<SP> macro.  See C<L</SP>>.
 
 =for apidoc ms||djSP
 
 Declare Just C<SP>.  This is actually identical to C<dSP>, and declares
 a local copy of perl's stack pointer, available via the C<SP> macro.
-See C<SP>.  (Available for backward source code compatibility with the
-old (Perl 5.005) thread model.)
+See C<L<perlapi/SP>>.  (Available for backward source code compatibility with
+the old (Perl 5.005) thread model.)
 
 =for apidoc Ams||dMARK
-Declare a stack marker variable, C<mark>, for the XSUB.  See C<MARK> and
-C<dORIGMARK>.
+Declare a stack marker variable, C<mark>, for the XSUB.  See C<L</MARK>> and
+C<L</dORIGMARK>>.
 
 =for apidoc Ams||dORIGMARK
-Saves the original stack mark for the XSUB.  See C<ORIGMARK>.
+Saves the original stack mark for the XSUB.  See C<L</ORIGMARK>>.
 
 =for apidoc AmU||ORIGMARK
-The original stack mark for the XSUB.  See C<dORIGMARK>.
+The original stack mark for the XSUB.  See C<L</dORIGMARK>>.
 
 =for apidoc Ams||SPAGAIN
 Refetch the stack pointer.  Used after a callback.  See L<perlcall>.
@@ -92,7 +92,7 @@ Refetch the stack pointer.  Used after a callback.  See L<perlcall>.
 /*
 =for apidoc Ams||PUTBACK
 Closing bracket for XSUB arguments.  This is usually handled by C<xsubpp>.
-See C<PUSHMARK> and L<perlcall> for other uses.
+See C<L</PUSHMARK>> and L<perlcall> for other uses.
 
 =for apidoc Amn|SV*|POPs
 Pops an SV off the stack.
@@ -113,9 +113,15 @@ Pops a double off the stack.
 =for apidoc Amn|IV|POPi
 Pops an integer off the stack.
 
+=for apidoc Amn|UV|POPu
+Pops an unsigned integer off the stack.
+
 =for apidoc Amn|long|POPl
 Pops a long off the stack.
 
+=for apidoc Amn|long|POPul
+Pops an unsigned long off the stack.
+
 =cut
 */
 
@@ -156,40 +162,40 @@ onto the stack.
 
 =for apidoc Am|void|PUSHs|SV* sv
 Push an SV onto the stack.  The stack must have room for this element.
-Does not handle 'set' magic.  Does not use C<TARG>.  See also C<PUSHmortal>,
-C<XPUSHs> and C<XPUSHmortal>.
+Does not handle 'set' magic.  Does not use C<TARG>.  See also
+C<L</PUSHmortal>>, C<L</XPUSHs>>, and C<L</XPUSHmortal>>.
 
 =for apidoc Am|void|PUSHp|char* str|STRLEN len
 Push a string onto the stack.  The stack must have room for this element.
 The C<len> indicates the length of the string.  Handles 'set' magic.  Uses
 C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to declare it.  Do not
 call multiple C<TARG>-oriented macros to return lists from XSUB's - see
-C<mPUSHp> instead.  See also C<XPUSHp> and C<mXPUSHp>.
+C<L</mPUSHp>> instead.  See also C<L</XPUSHp>> and C<L</mXPUSHp>>.
 
 =for apidoc Am|void|PUSHn|NV nv
 Push a double onto the stack.  The stack must have room for this element.
 Handles 'set' magic.  Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
 called to declare it.  Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mPUSHn> instead.  See also C<XPUSHn> and
-C<mXPUSHn>.
+return lists from XSUB's - see C<L</mPUSHn>> instead.  See also C<L</XPUSHn>>
+and C<L</mXPUSHn>>.
 
 =for apidoc Am|void|PUSHi|IV iv
 Push an integer onto the stack.  The stack must have room for this element.
 Handles 'set' magic.  Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
 called to declare it.  Do not call multiple C<TARG>-oriented macros to 
-return lists from XSUB's - see C<mPUSHi> instead.  See also C<XPUSHi> and
-C<mXPUSHi>.
+return lists from XSUB's - see C<L</mPUSHi>> instead.  See also C<L</XPUSHi>>
+and C<L</mXPUSHi>>.
 
 =for apidoc Am|void|PUSHu|UV uv
 Push an unsigned integer onto the stack.  The stack must have room for this
 element.  Handles 'set' magic.  Uses C<TARG>, so C<dTARGET> or C<dXSTARG>
 should be called to declare it.  Do not call multiple C<TARG>-oriented
-macros to return lists from XSUB's - see C<mPUSHu> instead.  See also
-C<XPUSHu> and C<mXPUSHu>.
+macros to return lists from XSUB's - see C<L</mPUSHu>> instead.  See also
+C<L</XPUSHu>> and C<L</mXPUSHu>>.
 
 =for apidoc Am|void|XPUSHs|SV* sv
 Push an SV onto the stack, extending the stack if necessary.  Does not
-handle 'set' magic.  Does not use C<TARG>.  See also C<XPUSHmortal>,
+handle 'set' magic.  Does not use C<TARG>.  See also C<L</XPUSHmortal>>,
 C<PUSHs> and C<PUSHmortal>.
 
 =for apidoc Am|void|XPUSHp|char* str|STRLEN len
@@ -197,76 +203,82 @@ Push a string onto the stack, extending the stack if necessary.  The C<len>
 indicates the length of the string.  Handles 'set' magic.  Uses C<TARG>, so
 C<dTARGET> or C<dXSTARG> should be called to declare it.  Do not call
 multiple C<TARG>-oriented macros to return lists from XSUB's - see
-C<mXPUSHp> instead.  See also C<PUSHp> and C<mPUSHp>.
+C<L</mXPUSHp>> instead.  See also C<L</PUSHp>> and C<L</mPUSHp>>.
 
 =for apidoc Am|void|XPUSHn|NV nv
 Push a double onto the stack, extending the stack if necessary.  Handles
 'set' magic.  Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to
 declare it.  Do not call multiple C<TARG>-oriented macros to return lists
-from XSUB's - see C<mXPUSHn> instead.  See also C<PUSHn> and C<mPUSHn>.
+from XSUB's - see C<L</mXPUSHn>> instead.  See also C<L</PUSHn>> and
+C<L</mPUSHn>>.
 
 =for apidoc Am|void|XPUSHi|IV iv
 Push an integer onto the stack, extending the stack if necessary.  Handles
 'set' magic.  Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be called to
 declare it.  Do not call multiple C<TARG>-oriented macros to return lists
-from XSUB's - see C<mXPUSHi> instead.  See also C<PUSHi> and C<mPUSHi>.
+from XSUB's - see C<L</mXPUSHi>> instead.  See also C<L</PUSHi>> and
+C<L</mPUSHi>>.
 
 =for apidoc Am|void|XPUSHu|UV uv
 Push an unsigned integer onto the stack, extending the stack if necessary.
 Handles 'set' magic.  Uses C<TARG>, so C<dTARGET> or C<dXSTARG> should be
 called to declare it.  Do not call multiple C<TARG>-oriented macros to
-return lists from XSUB's - see C<mXPUSHu> instead.  See also C<PUSHu> and
-C<mPUSHu>.
+return lists from XSUB's - see C<L</mXPUSHu>> instead.  See also C<L</PUSHu>> and
+C<L</mPUSHu>>.
 
 =for apidoc Am|void|mPUSHs|SV* sv
 Push an SV onto the stack and mortalizes the SV.  The stack must have room
-for this element.  Does not use C<TARG>.  See also C<PUSHs> and C<mXPUSHs>.
+for this element.  Does not use C<TARG>.  See also C<L</PUSHs>> and
+C<L</mXPUSHs>>.
 
 =for apidoc Am|void|PUSHmortal
 Push a new mortal SV onto the stack.  The stack must have room for this
-element.  Does not use C<TARG>.  See also C<PUSHs>, C<XPUSHmortal> and C<XPUSHs>.
+element.  Does not use C<TARG>.  See also C<L</PUSHs>>, C<L</XPUSHmortal>> and
+C<L</XPUSHs>>.
 
 =for apidoc Am|void|mPUSHp|char* str|STRLEN len
 Push a string onto the stack.  The stack must have room for this element.
 The C<len> indicates the length of the string.  Does not use C<TARG>.
-See also C<PUSHp>, C<mXPUSHp> and C<XPUSHp>.
+See also C<L</PUSHp>>, C<L</mXPUSHp>> and C<L</XPUSHp>>.
 
 =for apidoc Am|void|mPUSHn|NV nv
 Push a double onto the stack.  The stack must have room for this element.
-Does not use C<TARG>.  See also C<PUSHn>, C<mXPUSHn> and C<XPUSHn>.
+Does not use C<TARG>.  See also C<L</PUSHn>>, C<L</mXPUSHn>> and C<L</XPUSHn>>.
 
 =for apidoc Am|void|mPUSHi|IV iv
 Push an integer onto the stack.  The stack must have room for this element.
-Does not use C<TARG>.  See also C<PUSHi>, C<mXPUSHi> and C<XPUSHi>.
+Does not use C<TARG>.  See also C<L</PUSHi>>, C<L</mXPUSHi>> and C<L</XPUSHi>>.
 
 =for apidoc Am|void|mPUSHu|UV uv
 Push an unsigned integer onto the stack.  The stack must have room for this
-element.  Does not use C<TARG>.  See also C<PUSHu>, C<mXPUSHu> and C<XPUSHu>.
+element.  Does not use C<TARG>.  See also C<L</PUSHu>>, C<L</mXPUSHu>> and
+C<L</XPUSHu>>.
 
 =for apidoc Am|void|mXPUSHs|SV* sv
 Push an SV onto the stack, extending the stack if necessary and mortalizes
-the SV.  Does not use C<TARG>.  See also C<XPUSHs> and C<mPUSHs>.
+the SV.  Does not use C<TARG>.  See also C<L</XPUSHs>> and C<L</mPUSHs>>.
 
 =for apidoc Am|void|XPUSHmortal
 Push a new mortal SV onto the stack, extending the stack if necessary.
-Does not use C<TARG>.  See also C<XPUSHs>, C<PUSHmortal> and C<PUSHs>.
+Does not use C<TARG>.  See also C<L</XPUSHs>>, C<L</PUSHmortal>> and
+C<L</PUSHs>>.
 
 =for apidoc Am|void|mXPUSHp|char* str|STRLEN len
 Push a string onto the stack, extending the stack if necessary.  The C<len>
-indicates the length of the string.  Does not use C<TARG>.  See also C<XPUSHp>,
-C<mPUSHp> and C<PUSHp>.
+indicates the length of the string.  Does not use C<TARG>.  See also
+C<L</XPUSHp>>, C<mPUSHp> and C<PUSHp>.
 
 =for apidoc Am|void|mXPUSHn|NV nv
 Push a double onto the stack, extending the stack if necessary.
-Does not use C<TARG>.  See also C<XPUSHn>, C<mPUSHn> and C<PUSHn>.
+Does not use C<TARG>.  See also C<L</XPUSHn>>, C<L</mPUSHn>> and C<L</PUSHn>>.
 
 =for apidoc Am|void|mXPUSHi|IV iv
 Push an integer onto the stack, extending the stack if necessary.
-Does not use C<TARG>.  See also C<XPUSHi>, C<mPUSHi> and C<PUSHi>.
+Does not use C<TARG>.  See also C<L</XPUSHi>>, C<L</mPUSHi>> and C<L</PUSHi>>.
 
 =for apidoc Am|void|mXPUSHu|UV uv
 Push an unsigned integer onto the stack, extending the stack if necessary.
-Does not use C<TARG>.  See also C<XPUSHu>, C<mPUSHu> and C<PUSHu>.
+Does not use C<TARG>.  See also C<L</XPUSHu>>, C<L</mPUSHu>> and C<L</PUSHu>>.
 
 =cut
 */
index 50db9a8..852ec36 100644 (file)
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -3161,8 +3161,8 @@ S_docatch(pTHX_ OP *o)
 =for apidoc find_runcv
 
 Locate the CV corresponding to the currently executing sub or eval.
-If db_seqp is non_null, skip CVs that are in the DB package and populate
-*db_seqp with the cop sequence number at the point that the DB:: code was
+If C<db_seqp> is non_null, skip CVs that are in the DB package and populate
+C<*db_seqp> with the cop sequence number at the point that the DB:: code was
 entered.  (This allows debuggers to eval in the scope of the breakpoint
 rather than in the scope of the debugger itself.)
 
index e8fd4ae..bed0a27 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -1019,11 +1019,19 @@ S_do_oddball(pTHX_ SV **oddkey, SV **firstkey)
  *
  * If the LHS element is a 'my' declaration' and has a refcount of 1, then
  * it can't be common and can be skipped.
+ *
+ * On DEBUGGING builds it takes an extra boolean, fake. If true, it means
+ * that we thought we didn't need to call S_aassign_copy_common(), but we
+ * have anyway for sanity checking. If we find we need to copy, then panic.
  */
 
 PERL_STATIC_INLINE void
 S_aassign_copy_common(pTHX_ SV **firstlelem, SV **lastlelem,
-        SV **firstrelem, SV **lastrelem)
+        SV **firstrelem, SV **lastrelem
+#ifdef DEBUGGING
+        , bool fake
+#endif
+)
 {
     dVAR;
     SV **relem;
@@ -1036,14 +1044,13 @@ S_aassign_copy_common(pTHX_ SV **firstlelem, SV **lastlelem,
     assert(firstlelem < lastlelem); /* at least 2 LH elements */
     assert(firstrelem < lastrelem); /* at least 2 RH elements */
 
+
+    lelem = firstlelem;
     /* we never have to copy the first RH element; it can't be corrupted
      * by assigning something to the corresponding first LH element.
      * So this scan does in a loop: mark LHS[N]; test RHS[N+1]
      */
-    firstrelem++;
-
-    lelem = firstlelem;
-    relem = firstrelem;
+    relem = firstrelem + 1;
 
     for (; relem <= lastrelem; relem++) {
         SV *svr;
@@ -1093,6 +1100,15 @@ S_aassign_copy_common(pTHX_ SV **firstlelem, SV **lastlelem,
 
         if (UNLIKELY(SvFLAGS(svr) & SVf_BREAK)) {
 
+#ifdef DEBUGGING
+            if (fake) {
+                /* op_dump(PL_op); */
+                Perl_croak(aTHX_
+                    "panic: aassign skipped needed copy of common RH elem %"
+                        UVuf, (UV)(relem - firstrelem));
+            }
+#endif
+
             TAINT_NOT; /* Each item is independent */
 
             /* Dear TODO test in t/op/sort.t, I love you.
@@ -1158,6 +1174,9 @@ PP(pp_aassign)
     SSize_t i;
     int magic;
     U32 lval;
+#ifdef DEBUGGING
+    bool fake = 0;
+#endif
 
     PL_delaymagic = DM_DELAY;          /* catch simultaneous items */
 
@@ -1184,9 +1203,24 @@ PP(pp_aassign)
         else {
           do_scan:
             S_aassign_copy_common(aTHX_
-                        firstlelem, lastlelem, firstrelem, lastrelem);
+                        firstlelem, lastlelem, firstrelem, lastrelem
+#ifdef DEBUGGING
+                        , fake
+#endif
+            );
         }
     }
+#ifdef DEBUGGING
+    else {
+        /* on debugging builds, do the scan even if we've concluded we
+         * don't need to, then panic if we find commonality. Note that the
+         * scanner assumes at least 2 elements */
+        if (firstlelem < lastlelem && firstrelem < lastrelem) {
+            fake = 1;
+            goto do_scan;
+        }
+    }
+#endif
 
     gimme = GIMME_V;
     lval = (gimme == G_ARRAY) ? (PL_op->op_flags & OPf_MOD || LVRET) : 0;
index 8d7f1e2..96dfd20 100644 (file)
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -791,20 +791,20 @@ first_symbol(const char *pat, const char *patend) {
 
 =for apidoc unpackstring
 
-The engine implementing the unpack() Perl function.
+The engine implementing the C<unpack()> Perl function.
 
-Using the template pat..patend, this function unpacks the string
-s..strend into a number of mortal SVs, which it pushes onto the perl
-argument (@_) stack (so you will need to issue a C<PUTBACK> before and
+Using the template C<pat..patend>, this function unpacks the string
+C<s..strend> into a number of mortal SVs, which it pushes onto the perl
+argument (C<@_>) stack (so you will need to issue a C<PUTBACK> before and
 C<SPAGAIN> after the call to this function).  It returns the number of
 pushed elements.
 
-The strend and patend pointers should point to the byte following the last
-character of each string.
+The C<strend> and C<patend> pointers should point to the byte following the
+last character of each string.
 
 Although this function returns its values on the perl argument stack, it
 doesn't take any parameters from that stack (and thus in particular
-there's no need to do a PUSHMARK before calling it, unlike L</call_pv> for
+there's no need to do a C<PUSHMARK> before calling it, unlike L</call_pv> for
 example).
 
 =cut */
@@ -1948,7 +1948,7 @@ S_div128(pTHX_ SV *pnum, bool *done)
 /*
 =for apidoc packlist
 
-The engine implementing pack() Perl function.
+The engine implementing C<pack()> Perl function.
 
 =cut
 */
index be7922f..64a67d8 100644 (file)
--- a/pp_sort.c
+++ b/pp_sort.c
@@ -1432,7 +1432,7 @@ Sort an array.  Here is an example:
 
     sortsv(AvARRAY(av), av_top_index(av)+1, Perl_sv_cmp_locale);
 
-Currently this always uses mergesort.  See sortsv_flags for a more
+Currently this always uses mergesort.  See C<L</sortsv_flags>> for a more
 flexible routine.
 
 =cut
index dc1b3ce..f1e2902 100644 (file)
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -192,6 +192,10 @@ void setservent(int);
 void endservent(void);
 #endif
 
+#ifdef __amigaos4__
+#  include "amigaos4/amigaio.h"
+#endif
+
 #undef PERL_EFF_ACCESS /* EFFective uid/gid ACCESS */
 
 /* F_OK unused: if stat() cannot find it... */
@@ -708,10 +712,10 @@ PP(pp_pipe_op)
            PerlLIO_close(fd[1]);
        goto badexit;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD)
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
     /* ensure close-on-exec */
-    if ((fcntl(fd[0], F_SETFD,fd[0] > PL_maxsysfd) < 0) ||
-        (fcntl(fd[1], F_SETFD,fd[1] > PL_maxsysfd) < 0))
+    if ((fd[0] > PL_maxsysfd && fcntl(fd[0], F_SETFD, FD_CLOEXEC) < 0) ||
+        (fd[1] > PL_maxsysfd && fcntl(fd[1], F_SETFD, FD_CLOEXEC) < 0))
         goto badexit;
 #endif
     RETPUSHYES;
@@ -1265,10 +1269,10 @@ PP(pp_sselect)
 
 =for apidoc setdefout
 
-Sets PL_defoutgv, the default file handle for output, to the passed in
-typeglob.  As PL_defoutgv "owns" a reference on its typeglob, the reference
+Sets C<PL_defoutgv>, the default file handle for output, to the passed in
+typeglob.  As C<PL_defoutgv> "owns" a reference on its typeglob, the reference
 count of the passed in typeglob is increased by one, and the reference count
-of the typeglob that PL_defoutgv points to is decreased by one.
+of the typeglob that C<PL_defoutgv> points to is decreased by one.
 
 =cut
 */
@@ -2496,8 +2500,9 @@ PP(pp_socket)
        if (!IoIFP(io) && !IoOFP(io)) PerlLIO_close(fd);
        RETPUSHUNDEF;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD)
-    if (fcntl(fd, F_SETFD, fd > PL_maxsysfd) < 0)      /* ensure close-on-exec */
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
+    /* ensure close-on-exec */
+    if (fd > PL_maxsysfd && fcntl(fd, F_SETFD, FD_CLOEXEC) < 0)
        RETPUSHUNDEF;
 #endif
 
@@ -2542,10 +2547,10 @@ PP(pp_sockpair)
        if (!IoIFP(io2) && !IoOFP(io2)) PerlLIO_close(fd[1]);
        RETPUSHUNDEF;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD)
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
     /* ensure close-on-exec */
-    if ((fcntl(fd[0],F_SETFD,fd[0] > PL_maxsysfd) < 0) ||
-        (fcntl(fd[1],F_SETFD,fd[1] > PL_maxsysfd) < 0))
+    if ((fd[0] > PL_maxsysfd && fcntl(fd[0], F_SETFD, FD_CLOEXEC) < 0) ||
+        (fd[1] > PL_maxsysfd && fcntl(fd[1], F_SETFD, FD_CLOEXEC) < 0))
        RETPUSHUNDEF;
 #endif
 
@@ -2659,8 +2664,9 @@ PP(pp_accept)
        if (!IoIFP(nstio) && !IoOFP(nstio)) PerlLIO_close(fd);
        goto badexit;
     }
-#if defined(HAS_FCNTL) && defined(F_SETFD)
-    if (fcntl(fd, F_SETFD, fd > PL_maxsysfd) < 0)      /* ensure close-on-exec */
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
+    /* ensure close-on-exec */
+    if (fd > PL_maxsysfd && fcntl(fd, F_SETFD, FD_CLOEXEC) < 0)
         goto badexit;
 #endif
 
@@ -4205,7 +4211,7 @@ PP(pp_fork)
     PUSHi(childpid);
     RETURN;
 #else
-#  if defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS)
+#  if (defined(USE_ITHREADS) && defined(PERL_IMPLICIT_SYS)) || defined(__amigaos4__)
     dSP; dTARGET;
     Pid_t childpid;
 
@@ -4257,6 +4263,12 @@ PP(pp_waitpid)
     const int optype = POPi;
     const Pid_t pid = TOPi;
     Pid_t result;
+#ifdef __amigaos4__
+    int argflags = 0;
+    result = amigaos_waitpid(aTHX_ optype, pid, &argflags);
+    STATUS_NATIVE_CHILD_SET((result >= 0) ? argflags : -1);
+    result = result == 0 ? pid : -1;
+#else
     int argflags;
 
     if (PL_signals & PERL_SIGNALS_UNSAFE_FLAG)
@@ -4273,6 +4285,7 @@ PP(pp_waitpid)
 #  else
     STATUS_NATIVE_CHILD_SET((result > 0) ? argflags : -1);
 #  endif
+# endif /* __amigaos4__ */
     SETi(result);
     RETURN;
 #else
@@ -4289,7 +4302,11 @@ PP(pp_system)
     XPUSHi(-1);
 #else
     I32 value;
+# ifdef __amigaos4__
+    void * result;
+# else
     int result;
+# endif
 
     if (TAINTING_get) {
        TAINT_ENV();
@@ -4302,17 +4319,33 @@ PP(pp_system)
        TAINT_PROPER("system");
     }
     PERL_FLUSHALL_FOR_CHILD;
-#if (defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(OS2) || defined(PERL_MICRO)
+#if (defined(HAS_FORK) || defined(__amigaos4__)) && !defined(VMS) && !defined(OS2) || defined(PERL_MICRO)
     {
+#ifdef __amigaos4__
+        struct UserData userdata;
+        pthread_t proc;
+#else
        Pid_t childpid;
+#endif
        int pp[2];
        I32 did_pipes = 0;
+        bool child_success = FALSE;
 #ifdef HAS_SIGPROCMASK
        sigset_t newset, oldset;
 #endif
 
        if (PerlProc_pipe(pp) >= 0)
            did_pipes = 1;
+#ifdef __amigaos4__
+        amigaos_fork_set_userdata(aTHX_
+                                  &userdata,
+                                  did_pipes,
+                                  pp[1],
+                                  SP,
+                                  mark);
+        pthread_create(&proc,NULL,amigaos_system_child,(void *)&userdata);
+        child_success = proc > 0;
+#else
 #ifdef HAS_SIGPROCMASK
        sigemptyset(&newset);
        sigaddset(&newset, SIGCHLD);
@@ -4334,19 +4367,27 @@ PP(pp_system)
            }
            sleep(5);
        }
-       if (childpid > 0) {
+        child_success = childpid > 0;
+#endif
+       if (child_success) {
            Sigsave_t ihand,qhand; /* place to save signals during system() */
            int status;
 
+#ifndef __amigaos4__
            if (did_pipes)
                PerlLIO_close(pp[1]);
+#endif
 #ifndef PERL_MICRO
            rsignal_save(SIGINT,  (Sighandler_t) SIG_IGN, &ihand);
            rsignal_save(SIGQUIT, (Sighandler_t) SIG_IGN, &qhand);
 #endif
+#ifdef __amigaos4__
+            result = pthread_join(proc, (void **)&status);
+#else
            do {
                result = wait4pid(childpid, &status, 0);
            } while (result == -1 && errno == EINTR);
+#endif
 #ifndef PERL_MICRO
 #ifdef HAS_SIGPROCMASK
            sigprocmask(SIG_SETMASK, &oldset, NULL);
@@ -4375,18 +4416,26 @@ PP(pp_system)
                    if (n != sizeof(int))
                        DIE(aTHX_ "panic: kid popen errno read, n=%u", n);
                    errno = errkid;             /* Propagate errno from kid */
-                   STATUS_NATIVE_CHILD_SET(-1);
+#ifdef __amigaos4__
+                    /* The pipe always has something in it
+                     * so n alone is not enough. */
+                    if (errno > 0)
+#endif
+                    {
+                        STATUS_NATIVE_CHILD_SET(-1);
+                    }
                }
            }
            XPUSHi(STATUS_CURRENT);
            RETURN;
        }
+#ifndef __amigaos4__
 #ifdef HAS_SIGPROCMASK
        sigprocmask(SIG_SETMASK, &oldset, NULL);
 #endif
        if (did_pipes) {
            PerlLIO_close(pp[0]);
-#if defined(HAS_FCNTL) && defined(F_SETFD)
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
            if (fcntl(pp[1], F_SETFD, FD_CLOEXEC) < 0)
                 RETPUSHUNDEF;
 #endif
@@ -4400,6 +4449,7 @@ PP(pp_system)
        else {
            value = (I32)do_exec3(SvPVx_nolen(sv_mortalcopy(*SP)), pp[1], did_pipes);
        }
+#endif /* __amigaos4__ */
        PerlProc__exit(-1);
     }
 #else /* ! FORK or VMS or OS/2 */
@@ -4449,6 +4499,7 @@ PP(pp_exec)
        MARK = ORIGMARK;
        TAINT_PROPER("exec");
     }
+
     PERL_FLUSHALL_FOR_CHILD;
     if (PL_op->op_flags & OPf_STACKED) {
        SV * const really = *++MARK;
@@ -4467,7 +4518,6 @@ PP(pp_exec)
        value = (I32)do_exec(SvPVx_nolen(sv_mortalcopy(*SP)));
 #endif
     }
-
     SP = ORIGMARK;
     XPUSHi(value);
     RETURN;
diff --git a/proto.h b/proto.h
index a3bd488..6d49f47 100644 (file)
--- a/proto.h
+++ b/proto.h
@@ -3828,6 +3828,12 @@ STATIC int       S_tokereport(pTHX_ I32 rv, const YYSTYPE* lvalp);
 #define PERL_ARGS_ASSERT_TOKEREPORT    \
        assert(lvalp)
 #  endif
+#  if defined(USE_LOCALE)     && (defined(PERL_IN_LOCALE_C) || defined (PERL_EXT_POSIX))
+PERL_CALLCONV char *   Perl__setlocale_debug_string(const int category, const char* const locale, const char* const retval)
+                       __attribute__warn_unused_result__
+                       __attribute__pure__;
+
+#  endif
 #endif
 #if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP)
 PERL_CALLCONV void     Perl_dump_sv_child(pTHX_ SV *sv);
@@ -4768,7 +4774,7 @@ STATIC regnode*   S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth
 STATIC regnode*        S_regbranch(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth);
 #define PERL_ARGS_ASSERT_REGBRANCH     \
        assert(pRExC_state); assert(flagp)
-STATIC regnode*        S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth, const bool stop_at_1, bool allow_multi_fold, const bool silence_non_portable, const bool strict, SV** ret_invlist);
+STATIC regnode*        S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth, const bool stop_at_1, bool allow_multi_fold, const bool silence_non_portable, const bool strict, bool optimizable, SV** ret_invlist);
 #define PERL_ARGS_ASSERT_REGCLASS      \
        assert(pRExC_state); assert(flagp)
 STATIC unsigned int    S_regex_set_precedence(const U8 my_operator)
index f4b6298..ab653ae 100644 (file)
 #endif /* H_REGCHARCLASS */
 
 /* Generated from:
- * 0bca60a25eb4ccf2e04f50446db5f882322f50a9c61dc57bb806ccfc9b2e26a4 lib/Unicode/UCD.pm
+ * 40444e5cd670b57be97020416a80439abe6d08dc75b4fd29745894749183e9a0 lib/Unicode/UCD.pm
  * ae98bec7e4f0564758eed81eca5015481ba32581f8a735a825b71b3bba714450 lib/unicore/ArabicShaping.txt
  * 1687fe5994eb7e5c0dab8503fc2a1b3b479d91af9d3b8055941c9bd791f7d0b5 lib/unicore/BidiBrackets.txt
  * 350d1302116194b0b21def287434b55c5088098fbc726e879f7420a391965643 lib/unicore/BidiMirroring.txt
  * 1a0687fb9c6c4567e853913549df0944fe40821279a3e9cdaa6ab8679bc286fd lib/unicore/extracted/DLineBreak.txt
  * 40bcfed3ca727c19e1331f6c33806231d5f7eeeabd2e6a9e06a3740c85d0c250 lib/unicore/extracted/DNumType.txt
  * a18d502bad39d527ac5586d7bc93e29f565859e3bcc24ada627eff606d6f5fed lib/unicore/extracted/DNumValues.txt
- * ad739a46951b5f46396074b0682a2cfeed24b633a742a8e1aa0e337f69ef8b1c lib/unicore/mktables
+ * 00c1bda0498082b8245a27cca31028ec97b90ad717b00281ea023d25e11428f1 lib/unicore/mktables
  * 462c9aaa608fb2014cd9649af1c5c009485c60b9c8b15b89401fdc10cf6161c6 lib/unicore/version
  * c6884f4d629f04d1316f3476cb1050b6a1b98ca30c903262955d4eae337c6b1e regen/charset_translations.pl
  * d9c04ac46bdd81bb3e26519f2b8eb6242cb12337205add3f7cf092b0c58dccc4 regen/regcharclass.pl
index 4719d12..4f4bb44 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -214,6 +214,7 @@ struct RExC_state_t {
 #define RExC_mysv2     (pRExC_state->mysv2)
 
 #endif
+    bool        seen_unfolded_sharp_s;
 };
 
 #define RExC_flags     (pRExC_state->flags)
@@ -226,6 +227,17 @@ struct RExC_state_t {
 #define RExC_end       (pRExC_state->end)
 #define RExC_parse     (pRExC_state->parse)
 #define RExC_whilem_seen       (pRExC_state->whilem_seen)
+
+/* Set during the sizing pass when there is a LATIN SMALL LETTER SHARP S in any
+ * EXACTF node, hence was parsed under /di rules.  If later in the parse,
+ * something forces the pattern into using /ui rules, the sharp s should be
+ * folded into the sequence 'ss', which takes up more space than previously
+ * calculated.  This means that the sizing pass needs to be restarted.  (The
+ * node also becomes an EXACTFU_SS.)  For all other characters, an EXACTF node
+ * that gets converted to /ui (and EXACTFU) occupies the same amount of space,
+ * so there is no need to resize [perl #125990]. */
+#define RExC_seen_unfolded_sharp_s (pRExC_state->seen_unfolded_sharp_s)
+
 #ifdef RE_TRACK_PATTERN_OFFSETS
 #define RExC_offsets   (pRExC_state->rxi->u.offsets) /* I am not like the
                                                          others */
@@ -299,7 +311,9 @@ struct RExC_state_t {
 #define        SPSTART         0x04    /* Starts with * or + */
 #define POSTPONED      0x08    /* (?1),(?&name), (??{...}) or similar */
 #define TRYAGAIN       0x10    /* Weeded out a declaration. */
-#define RESTART_UTF8    0x20    /* Restart, need to calcuate sizes as UTF-8 */
+#define RESTART_PASS1   0x20    /* Need to restart sizing pass */
+#define NEED_UTF8       0x40    /* In conjunction with RESTART_PASS1, need to
+                                   calcuate sizes as UTF-8 */
 
 #define REG_NODE_NUM(x) ((x) ? (int)((x)-RExC_emit_start) : -1)
 
@@ -318,12 +332,30 @@ struct RExC_state_t {
 #define PAREN_SET(u8str,paren) PBYTE(u8str,paren) |= PBITVAL(paren)
 #define PAREN_UNSET(u8str,paren) PBYTE(u8str,paren) &= (~PBITVAL(paren))
 
-#define REQUIRE_UTF8   STMT_START {                                       \
+#define REQUIRE_UTF8(flagp) STMT_START {                                   \
                                      if (!UTF) {                           \
-                                         *flagp = RESTART_UTF8;            \
+                                         assert(PASS1);                    \
+                                         *flagp = RESTART_PASS1|NEED_UTF8; \
                                          return NULL;                      \
                                      }                                     \
-                        } STMT_END
+                             } STMT_END
+
+/* Change from /d into /u rules, and restart the parse if we've already seen
+ * something whose size would increase as a result, by setting *flagp and
+ * returning 'restart_retval'.  RExC_uni_semantics is a flag that indicates
+ * we've change to /u during the parse.  */
+#define REQUIRE_UNI_RULES(flagp, restart_retval)                            \
+    STMT_START {                                                            \
+            if (DEPENDS_SEMANTICS) {                                        \
+                assert(PASS1);                                              \
+                set_regex_charset(&RExC_flags, REGEX_UNICODE_CHARSET);      \
+                RExC_uni_semantics = 1;                                     \
+                if (RExC_seen_unfolded_sharp_s) {                           \
+                    *flagp |= RESTART_PASS1;                                \
+                    return restart_retval;                                  \
+                }                                                           \
+            }                                                               \
+    } STMT_END
 
 /* This converts the named class defined in regcomp.h to its equivalent class
  * number defined in handy.h. */
@@ -1177,7 +1209,9 @@ S_get_ANYOF_cp_list_for_ssc(pTHX_ const RExC_state_t *pRExC_state,
 
     /* If this can match all upper Latin1 code points, have to add them
      * as well */
-    if (ANYOF_FLAGS(node) & ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII) {
+    if (OP(node) == ANYOFD
+        && (ANYOF_FLAGS(node) & ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER))
+    {
         _invlist_union(invlist, PL_UpperLatin1, &invlist);
     }
 
@@ -1255,12 +1289,19 @@ S_ssc_and(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc,
          * that should be; while the consequences for having /l bugs is
          * incorrect matches */
         if (ssc_is_anything((regnode_ssc *)and_with)) {
-            anded_flags |= ANYOF_WARN_SUPER;
+            anded_flags |= ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER;
         }
     }
     else {
         anded_cp_list = get_ANYOF_cp_list_for_ssc(pRExC_state, and_with);
-        anded_flags = ANYOF_FLAGS(and_with) & ANYOF_COMMON_FLAGS;
+        if (OP(and_with) == ANYOFD) {
+            anded_flags = ANYOF_FLAGS(and_with) & ANYOF_COMMON_FLAGS;
+        }
+        else {
+            anded_flags = ANYOF_FLAGS(and_with)
+            &( ANYOF_COMMON_FLAGS
+              |ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER);
+        }
     }
 
     ANYOF_FLAGS(ssc) &= anded_flags;
@@ -1411,6 +1452,11 @@ S_ssc_or(pTHX_ const RExC_state_t *pRExC_state, regnode_ssc *ssc,
     else {
         ored_cp_list = get_ANYOF_cp_list_for_ssc(pRExC_state, or_with);
         ored_flags = ANYOF_FLAGS(or_with) & ANYOF_COMMON_FLAGS;
+        if (OP(or_with) != ANYOFD) {
+            ored_flags
+            |= ANYOF_FLAGS(or_with)
+             & ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER;
+        }
     }
 
     ANYOF_FLAGS(ssc) |= ored_flags;
@@ -1609,7 +1655,9 @@ S_ssc_finalize(pTHX_ RExC_state_t *pRExC_state, regnode_ssc *ssc)
     /* The code in this file assumes that all but these flags aren't relevant
      * to the SSC, except SSC_MATCHES_EMPTY_STRING, which should be cleared
      * by the time we reach here */
-    assert(! (ANYOF_FLAGS(ssc) & ~ANYOF_COMMON_FLAGS));
+    assert(! (ANYOF_FLAGS(ssc)
+        & ~( ANYOF_COMMON_FLAGS
+            |ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER)));
 
     populate_ANYOF_from_invlist( (regnode *) ssc, &invlist);
 
@@ -1623,6 +1671,10 @@ S_ssc_finalize(pTHX_ RExC_state_t *pRExC_state, regnode_ssc *ssc)
         ANYOF_FLAGS(ssc) |= ANYOF_MATCHES_POSIXL;
     }
 
+    if (RExC_contains_locale) {
+        OP(ssc) = ANYOFL;
+    }
+
     assert(! (ANYOF_FLAGS(ssc) & ANYOF_LOCALE_FLAGS) || RExC_contains_locale);
 }
 
@@ -5097,6 +5149,7 @@ PerlIO_printf(Perl_debug_log, "LHS=%"UVuf" RHS=%"UVuf"\n",
                    }
                    break;
 
+                case ANYOFD:
                 case ANYOFL:
                 case ANYOF:
                    if (flags & SCF_DO_STCLASS_AND)
@@ -6546,7 +6599,9 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
 
     /* ignore the utf8ness if the pattern is 0 length */
     RExC_utf8 = RExC_orig_utf8 = (plen == 0 || IN_BYTES) ? 0 : SvUTF8(pat);
+
     RExC_uni_semantics = 0;
+    RExC_seen_unfolded_sharp_s = 0;
     RExC_contains_locale = 0;
     RExC_contains_i = 0;
     RExC_strict = cBOOL(pm_flags & RXf_PMf_STRICT);
@@ -6567,8 +6622,8 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
         });
 
   redo_first_pass:
-    /* we jump here if we upgrade the pattern to utf8 and have to
-     * recompile */
+    /* we jump here if we have to recompile, e.g., from upgrading the pattern
+     * to utf8 */
 
     if ((pm_flags & PMf_USE_RE_EVAL)
                /* this second condition covers the non-regex literal case,
@@ -6602,7 +6657,9 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
     if (rx_flags & PMf_FOLD) {
         RExC_contains_i = 1;
     }
-    if (RExC_utf8 && initial_charset == REGEX_DEPENDS_CHARSET) {
+    if (   initial_charset == REGEX_DEPENDS_CHARSET
+        && (RExC_utf8 ||RExC_uni_semantics))
+    {
 
        /* Set to use unicode semantics if the pattern is in utf8 and has the
         * 'depends' charset specified, as it means unicode when utf8  */
@@ -6688,9 +6745,16 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
         at least some part of the pattern, and therefore must convert the whole
         thing.
         -- dmq */
-        if (flags & RESTART_UTF8) {
-            S_pat_upgrade_to_utf8(aTHX_ pRExC_state, &exp, &plen,
+        if (flags & RESTART_PASS1) {
+            if (flags & NEED_UTF8) {
+                S_pat_upgrade_to_utf8(aTHX_ pRExC_state, &exp, &plen,
                                     pRExC_state->num_code_blocks);
+            }
+            else {
+                DEBUG_PARSE_r(PerlIO_printf(Perl_debug_log,
+                "Need to redo pass 1\n"));
+            }
+
             goto redo_first_pass;
         }
         Perl_croak(aTHX_ "panic: reg returned NULL to re_op_compile for sizing pass, flags=%#"UVxf"", (UV) flags);
@@ -6773,25 +6837,25 @@ Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
                     || ! has_charset);
         bool has_runon = ((RExC_seen & REG_RUN_ON_COMMENT_SEEN)
                                                    == REG_RUN_ON_COMMENT_SEEN);
-       U16 reganch = (U16)((r->extflags & RXf_PMf_STD_PMMOD)
+       U8 reganch = (U8)((r->extflags & RXf_PMf_STD_PMMOD)
                            >> RXf_PMf_STD_PMMOD_SHIFT);
        const char *fptr = STD_PAT_MODS;        /*"msixn"*/
        char *p;
-        /* Allocate for the worst case, which is all the std flags are turned
-         * on.  If more precision is desired, we could do a population count of
-         * the flags set.  This could be done with a small lookup table, or by
-         * shifting, masking and adding, or even, when available, assembly
-         * language for a machine-language population count.
-         * We never output a minus, as all those are defaults, so are
+
+        /* We output all the necessary flags; we never output a minus, as all
+         * those are defaults, so are
          * covered by the caret */
        const STRLEN wraplen = plen + has_p + has_runon
             + has_default       /* If needs a caret */
+            + PL_bitcount[reganch] /* 1 char for each set standard flag */
 
                /* If needs a character set specifier */
            + ((has_charset) ? MAX_CHARSET_NAME_LENGTH : 0)
-            + (sizeof(STD_PAT_MODS) - 1)
             + (sizeof("(?:)") - 1);
 
+        /* make sure PL_bitcount bounds not exceeded */
+        assert(sizeof(STD_PAT_MODS) <= 8);
+
         Newx(p, wraplen + 1, char); /* +1 for the ending NUL */
        r->xpv_len_u.xpvlenu_pv = p;
        if (RExC_utf8)
@@ -9747,10 +9811,10 @@ S_parse_lparen_question_flags(pTHX_ RExC_state_t *pRExC_state)
 #endif
 
 /* Returns NULL, setting *flagp to TRYAGAIN at the end of (?) that only sets
-   flags. Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan
-   needs to be restarted.
-   Otherwise would only return NULL if regbranch() returns NULL, which
-   cannot happen.  */
+   flags. Returns NULL, setting *flagp to RESTART_PASS1 if the sizing scan
+   needs to be restarted, or'd with NEED_UTF8 if the pattern needs to be
+   upgraded to UTF-8.  Otherwise would only return NULL if regbranch() returns
+   NULL, which cannot happen.  */
 STATIC regnode *
 S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
     /* paren: Parenthesized? 0=top; 1,2=inside '(': changed to letter.
@@ -10278,8 +10342,8 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
                            ret->flags = 1;
 
                         tail = reg(pRExC_state, 1, &flag, depth+1);
-                        if (flag & RESTART_UTF8) {
-                            *flagp = RESTART_UTF8;
+                        if (flag & (RESTART_PASS1|NEED_UTF8)) {
+                            *flagp = flag & (RESTART_PASS1|NEED_UTF8);
                             return NULL;
                         }
                         REGTAIL(pRExC_state, ret, tail);
@@ -10367,8 +10431,8 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
                     REGTAIL(pRExC_state, ret, reganode(pRExC_state, IFTHEN, 0));
                     br = regbranch(pRExC_state, &flags, 1,depth+1);
                    if (br == NULL) {
-                        if (flags & RESTART_UTF8) {
-                            *flagp = RESTART_UTF8;
+                        if (flags & (RESTART_PASS1|NEED_UTF8)) {
+                            *flagp = flags & (RESTART_PASS1|NEED_UTF8);
                             return NULL;
                         }
                         FAIL2("panic: regbranch returned NULL, flags=%#"UVxf"",
@@ -10387,8 +10451,8 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
                         lastbr = reganode(pRExC_state, IFTHEN, 0);
 
                         if (!regbranch(pRExC_state, &flags, 1,depth+1)) {
-                            if (flags & RESTART_UTF8) {
-                                *flagp = RESTART_UTF8;
+                            if (flags & (RESTART_PASS1|NEED_UTF8)) {
+                                *flagp = flags & (RESTART_PASS1|NEED_UTF8);
                                 return NULL;
                             }
                             FAIL2("panic: regbranch returned NULL, flags=%#"UVxf"",
@@ -10485,8 +10549,8 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
     /*     branch_len = (paren != 0); */
 
     if (br == NULL) {
-        if (flags & RESTART_UTF8) {
-            *flagp = RESTART_UTF8;
+        if (flags & (RESTART_PASS1|NEED_UTF8)) {
+            *flagp = flags & (RESTART_PASS1|NEED_UTF8);
             return NULL;
         }
         FAIL2("panic: regbranch returned NULL, flags=%#"UVxf"", (UV) flags);
@@ -10532,8 +10596,8 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
         br = regbranch(pRExC_state, &flags, 0, depth+1);
 
        if (br == NULL) {
-            if (flags & RESTART_UTF8) {
-                *flagp = RESTART_UTF8;
+            if (flags & (RESTART_PASS1|NEED_UTF8)) {
+                *flagp = flags & (RESTART_PASS1|NEED_UTF8);
                 return NULL;
             }
             FAIL2("panic: regbranch returned NULL, flags=%#"UVxf"", (UV) flags);
@@ -10664,8 +10728,12 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
 
     /* Check for proper termination. */
     if (paren) {
-        /* restore original flags, but keep (?p) */
+        /* restore original flags, but keep (?p) and, if we've changed from /d
+         * rules to /u, keep the /u */
        RExC_flags = oregflags | (RExC_flags & RXf_PMf_KEEPCOPY);
+        if (DEPENDS_SEMANTICS && RExC_uni_semantics) {
+            set_regex_charset(&RExC_flags, REGEX_UNICODE_CHARSET);
+        }
        if (RExC_parse >= RExC_end || *nextchar(pRExC_state) != ')') {
            RExC_parse = oregcomp_parse;
            vFAIL("Unmatched (");
@@ -10694,8 +10762,8 @@ S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
  *
  * Implements the concatenation operator.
  *
- * Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs to be
- * restarted.
+ * Returns NULL, setting *flagp to RESTART_PASS1 if the sizing scan needs to be
+ * restarted, or'd with NEED_UTF8 if the pattern needs to be upgraded to UTF-8
  */
 STATIC regnode *
 S_regbranch(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth)
@@ -10734,8 +10802,8 @@ S_regbranch(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth)
        if (latest == NULL) {
            if (flags & TRYAGAIN)
                continue;
-            if (flags & RESTART_UTF8) {
-                *flagp = RESTART_UTF8;
+            if (flags & (RESTART_PASS1|NEED_UTF8)) {
+                *flagp = flags & (RESTART_PASS1|NEED_UTF8);
                 return NULL;
             }
             FAIL2("panic: regpiece returned NULL, flags=%#"UVxf"", (UV) flags);
@@ -10777,8 +10845,8 @@ S_regbranch(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth)
  *
  * Returns NULL, setting *flagp to TRYAGAIN if regatom() returns NULL with
  * TRYAGAIN.
- * Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs to be
- * restarted.
+ * Returns NULL, setting *flagp to RESTART_PASS1 if the sizing scan needs to be
+ * restarted, or'd with NEED_UTF8 if the pattern needs to be upgraded to UTF-8
  */
 STATIC regnode *
 S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
@@ -10807,8 +10875,8 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
 
     ret = regatom(pRExC_state, &flags,depth+1);
     if (ret == NULL) {
-       if (flags & (TRYAGAIN|RESTART_UTF8))
-           *flagp |= flags & (TRYAGAIN|RESTART_UTF8);
+       if (flags & (TRYAGAIN|RESTART_PASS1|NEED_UTF8))
+           *flagp |= flags & (TRYAGAIN|RESTART_PASS1|NEED_UTF8);
         else
             FAIL2("panic: regatom returned NULL, flags=%#"UVxf"", (UV) flags);
        return(NULL);
@@ -10877,9 +10945,7 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                 ret = reg_node(pRExC_state, OPFAIL);
                 return ret;
             }
-            else if (min == max
-                     && RExC_parse < RExC_end
-                     && (*RExC_parse == '?' || *RExC_parse == '+'))
+            else if (min == max && RExC_parse < RExC_end && *RExC_parse == '?')
             {
                 if (PASS2) {
                     ckWARN2reg(RExC_parse + 1,
@@ -10893,6 +10959,20 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
 
          do_curly:
            if ((flags&SIMPLE)) {
+                if (min == 0 && max == REG_INFTY) {
+                    reginsert(pRExC_state, STAR, ret, depth+1);
+                    ret->flags = 0;
+                    MARK_NAUGHTY(4);
+                    RExC_seen |= REG_UNBOUNDED_QUANTIFIER_SEEN;
+                    goto nest_check;
+                }
+                if (min == 1 && max == REG_INFTY) {
+                    reginsert(pRExC_state, PLUS, ret, depth+1);
+                    ret->flags = 0;
+                    MARK_NAUGHTY(3);
+                    RExC_seen |= REG_UNBOUNDED_QUANTIFIER_SEEN;
+                    goto nest_check;
+                }
                 MARK_NAUGHTY_EXP(2, 2);
                reginsert(pRExC_state, CURLY, ret, depth+1);
                 Set_Node_Offset(ret, parse_start+1); /* MJD */
@@ -10966,22 +11046,10 @@ S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
 
     *flagp = (op != '+') ? (WORST|SPSTART|HASWIDTH) : (WORST|HASWIDTH);
 
-    if (op == '*' && (flags&SIMPLE)) {
-       reginsert(pRExC_state, STAR, ret, depth+1);
-       ret->flags = 0;
-       MARK_NAUGHTY(4);
-        RExC_seen |= REG_UNBOUNDED_QUANTIFIER_SEEN;
-    }
-    else if (op == '*') {
+    if (op == '*') {
        min = 0;
        goto do_curly;
     }
-    else if (op == '+' && (flags&SIMPLE)) {
-       reginsert(pRExC_state, PLUS, ret, depth+1);
-       ret->flags = 0;
-       MARK_NAUGHTY(3);
-        RExC_seen |= REG_UNBOUNDED_QUANTIFIER_SEEN;
-    }
     else if (op == '+') {
        min = 1;
        goto do_curly;
@@ -11085,14 +11153,17 @@ S_grok_bslash_N(pTHX_ RExC_state_t *pRExC_state,
   * sequence. *node_p * will be set to a generated node returned by this
   * function calling S_reg().
   *
-  * The final possibility, which happens only when the fourth one would
-  * otherwise be in effect, is that one of those code points requires the
+  * The final possibility, which happens is that it is premature to be calling
+  * this function; that pass1 needs to be restarted.  This can happen when this
+  * changes from /d to /u rules, or when the pattern needs to be upgraded to
+  * UTF-8.  The latter occurs only when the fourth possibility would otherwise
+  * be in effect, and is because one of those code points requires the
   * pattern to be recompiled as UTF-8.  The function returns FALSE, and sets
-  * the RESTART_UTF8 flag in *flagp.  When this happens, the caller needs to
-  * desist from continuing parsing, and return this information to its caller.
-  * This is not set for when there is only one code point, as this can be
-  * called as part of an ANYOF node, and they can store above-Latin1 code
-  * points without the pattern having to be in UTF-8.
+  * the RESTART_PASS1 and NEED_UTF8 flags in *flagp, as appropriate.  When this
+  * happens, the caller needs to desist from continuing parsing, and return
+  * this information to its caller.  This is not set for when there is only one
+  * code point, as this can be called as part of an ANYOF node, and they can
+  * store above-Latin1 code points without the pattern having to be in UTF-8.
   *
   * For non-single-quoted regexes, the tokenizer has resolved character and
   * sequence names inside \N{...} into their Unicode values, normalizing the
@@ -11181,7 +11252,8 @@ S_grok_bslash_N(pTHX_ RExC_state_t *pRExC_state,
        vFAIL("\\N{NAME} must be resolved by the lexer");
     }
 
-    RExC_uni_semantics = 1; /* Unicode named chars imply Unicode semantics */
+    REQUIRE_UNI_RULES(flagp, FALSE); /* Unicode named chars imply Unicode
+                                        semantics */
 
     if (endbrace == RExC_parse) {   /* empty: \N{} */
         if (cp_count) {
@@ -11321,8 +11393,8 @@ S_grok_bslash_N(pTHX_ RExC_state_t *pRExC_state,
 
         if (node_p) {
             if (!(*node_p = reg(pRExC_state, 1, &flags, depth+1))) {
-                if (flags & RESTART_UTF8) {
-                    *flagp = RESTART_UTF8;
+                if (flags & (RESTART_PASS1|NEED_UTF8)) {
+                    *flagp = flags & (RESTART_PASS1|NEED_UTF8);
                     return FALSE;
                 }
                 FAIL2("panic: reg returned NULL to grok_bslash_N, flags=%#"UVxf"",
@@ -11558,7 +11630,7 @@ S_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t *pRExC_state,
 
     /* A single character node is SIMPLE, except for the special-cased SHARP S
      * under /di. */
-    if ((len == 1 || (UTF && len == UNISKIP(code_point)))
+    if ((len == 1 || (UTF && len == UVCHR_SKIP(code_point)))
 #if    UNICODE_MAJOR_VERSION > 3 /* no multifolds in early Unicode */   \
    || (UNICODE_MAJOR_VERSION == 3 && (   UNICODE_DOT_VERSION > 0)       \
                                       || UNICODE_DOT_DOT_VERSION > 0)
@@ -11651,8 +11723,8 @@ S_backref_value(char *p)
 
    Returns NULL, setting *flagp to TRYAGAIN if reg() returns NULL with
    TRYAGAIN.
-   Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs to be
-   restarted.
+   Returns NULL, setting *flagp to RESTART_PASS1 if the sizing scan needs to be
+   restarted, or'd with NEED_UTF8 if the pattern needs to be upgraded to UTF-8
    Otherwise does not return NULL.
 */
 
@@ -11713,17 +11785,18 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                        TRUE, /* allow multi-char folds */
                        FALSE, /* don't silence non-portable warnings. */
                        (bool) RExC_strict,
+                       TRUE, /* Allow an optimized regnode result */
                        NULL);
-       if (*RExC_parse != ']') {
-           RExC_parse = oregcomp_parse;
-           vFAIL("Unmatched [");
-       }
         if (ret == NULL) {
-            if (*flagp & RESTART_UTF8)
+            if (*flagp & (RESTART_PASS1|NEED_UTF8))
                 return NULL;
             FAIL2("panic: regclass returned NULL to regatom, flags=%#"UVxf"",
                   (UV) *flagp);
         }
+       if (*RExC_parse != ']') {
+           RExC_parse = oregcomp_parse;
+           vFAIL("Unmatched [");
+       }
        nextchar(pRExC_state);
         Set_Node_Length(ret, RExC_parse - oregcomp_parse + 1); /* MJD */
        break;
@@ -11740,8 +11813,8 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                    }
                    goto tryagain;
                }
-                if (flags & RESTART_UTF8) {
-                    *flagp = RESTART_UTF8;
+                if (flags & (RESTART_PASS1|NEED_UTF8)) {
+                    *flagp = flags & (RESTART_PASS1|NEED_UTF8);
                     return NULL;
                 }
                 FAIL2("panic: reg returned NULL to regatom, flags=%#"UVxf"",
@@ -11905,7 +11978,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                         NOT_REACHED; /*NOTREACHED*/
                 }
                 RExC_parse = endbrace;
-                RExC_uni_semantics = 1;
+                REQUIRE_UNI_RULES(flagp, NULL);
 
                 if (PASS2 && op >= BOUNDA) {  /* /aa is same as /a */
                     OP(ret) = BOUNDU;
@@ -12015,9 +12088,12 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                                          It would be a bug if these returned
                                          non-portables */
                                (bool) RExC_strict,
+                               TRUE, /* Allow an optimized regnode result */
                                NULL);
-                /* regclass() can only return RESTART_UTF8 if multi-char folds
-                   are allowed.  */
+                if (*flagp & RESTART_PASS1)
+                    return NULL;
+                /* regclass() can only return RESTART_PASS1 and NEED_UTF8 if
+                 * multi-char folds are allowed.  */
                 if (!ret)
                     FAIL2("panic: regclass returned NULL to regatom, flags=%#"UVxf"",
                           (UV) *flagp);
@@ -12054,7 +12130,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                 break;
             }
 
-            if (*flagp & RESTART_UTF8)
+            if (*flagp & RESTART_PASS1)
                 return NULL;
             RExC_parse--;
             goto defchar;
@@ -12262,7 +12338,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
              * string's UTF8ness.  The reason to do this is that EXACTF is not
              * trie-able, EXACTFU is.
              *
-             * Similarly, we can convert EXACTFL nodes to EXACTFU if they
+             * Similarly, we can convert EXACTFL nodes to EXACTFLU8 if they
              * contain only above-Latin1 characters (hence must be in UTF8),
              * which don't participate in folds with Latin1-range characters,
              * as the latter's folds aren't known until runtime.  (We don't
@@ -12379,8 +12455,10 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                                             flagp,
                                             depth)
                         ) {
-                            if (*flagp & RESTART_UTF8)
-                                FAIL("panic: grok_bslash_N set RESTART_UTF8");
+                            if (*flagp & NEED_UTF8)
+                                FAIL("panic: grok_bslash_N set NEED_UTF8");
+                            if (*flagp & RESTART_PASS1)
+                                return NULL;
 
                             /* Here, it wasn't a single code point.  Go close
                              * up this EXACTish node.  The switch() prior to
@@ -12390,7 +12468,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                         }
                         p = RExC_parse;
                         if (ender > 0xff) {
-                            REQUIRE_UTF8;
+                            REQUIRE_UTF8(flagp);
                         }
                         break;
                    case 'r':
@@ -12437,7 +12515,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                                goto recode_encoding;
                            }
                            if (ender > 0xff) {
-                               REQUIRE_UTF8;
+                               REQUIRE_UTF8(flagp);
                            }
                            break;
                        }
@@ -12475,7 +12553,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                                 }
                            }
                             else {
-                               REQUIRE_UTF8;
+                               REQUIRE_UTF8(flagp);
                            }
                            break;
                        }
@@ -12520,7 +12598,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                            STRLEN numlen = 3;
                            ender = grok_oct(p, &numlen, &flags, NULL);
                            if (ender > 0xff) {
-                               REQUIRE_UTF8;
+                               REQUIRE_UTF8(flagp);
                            }
                            p += numlen;
                             if (PASS2   /* like \08, \178 */
@@ -12542,7 +12620,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                            ender = reg_recode((const char)(U8)ender, &enc);
                            if (!enc && PASS2)
                                ckWARNreg(p, "Invalid escape in the specified encoding");
-                           REQUIRE_UTF8;
+                           REQUIRE_UTF8(flagp);
                        }
                        break;
                    case '\0':
@@ -12573,7 +12651,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                    /*FALLTHROUGH*/
                default:    /* A literal character */
                  normal_default:
-                   if (UTF8_IS_START(*p) && UTF) {
+                   if (! UTF8_IS_INVARIANT(*p) && UTF) {
                        STRLEN numlen;
                        ender = utf8n_to_uvchr((U8*)p, RExC_end - p,
                                               &numlen, UTF8_ALLOW_DEFAULT);
@@ -12612,7 +12690,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                      * its representation until PASS2. */
                     if (SIZE_ONLY) {
                         if (UTF) {
-                            const STRLEN unilen = UNISKIP(ender);
+                            const STRLEN unilen = UVCHR_SKIP(ender);
                             s += unilen;
 
                             /* We have to subtract 1 just below (and again in
@@ -12682,15 +12760,18 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                         /* See if the character's fold differs between /d and
                          * /u.  This includes the multi-char fold SHARP S to
                          * 'ss' */
-                        if (maybe_exactfu
+                        if (UNLIKELY(ender == LATIN_SMALL_LETTER_SHARP_S)) {
+                            RExC_seen_unfolded_sharp_s = 1;
+                            maybe_exactfu = FALSE;
+                        }
+                        else if (maybe_exactfu
                             && (PL_fold[ender] != PL_fold_latin1[ender]
 #if    UNICODE_MAJOR_VERSION > 3 /* no multifolds in early Unicode */   \
    || (UNICODE_MAJOR_VERSION == 3 && (   UNICODE_DOT_VERSION > 0)       \
                                       || UNICODE_DOT_DOT_VERSION > 0)
-                                || ender == LATIN_SMALL_LETTER_SHARP_S
-                                || (len > 0
-                                   && isALPHA_FOLD_EQ(ender, 's')
-                                   && isALPHA_FOLD_EQ(*(s-1), 's'))
+                                || (   len > 0
+                                    && isALPHA_FOLD_EQ(ender, 's')
+                                    && isALPHA_FOLD_EQ(*(s-1), 's'))
 #endif
                         )) {
                             maybe_exactfu = FALSE;
@@ -12701,7 +12782,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                      * we have an array that finds its fold quickly */
                     *(s++) = (char) ender;
                 }
-                else {  /* FOLD and UTF */
+                else {  /* FOLD, and UTF (or sharp s) */
                     /* Unlike the non-fold case, we do actually have to
                      * calculate the results here in pass 1.  This is for two
                      * reasons, the folded length may be longer than the
@@ -12831,7 +12912,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
                             }
                         }
                         else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
-                            if (! IS_NON_FINAL_FOLD(TWO_BYTE_UTF8_TO_NATIVE(
+                            if (! IS_NON_FINAL_FOLD(EIGHT_BIT_UTF8_TO_NATIVE(
                                                                   *s, *(s+1))))
                             {
                                 break;
@@ -13330,17 +13411,20 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist,
                                        this function */
     const bool save_fold = FOLD;    /* Temporary */
     char *save_end, *save_parse;    /* Temporaries */
+    const bool in_locale = LOC;     /* we turn off /l during processing */
 
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_HANDLE_REGEX_SETS;
 
-    if (LOC) {  /* XXX could make valid in UTF-8 locales */
-        vFAIL("(?[...]) not valid in locale");
+    if (in_locale) {
+        set_regex_charset(&RExC_flags, REGEX_UNICODE_CHARSET);
     }
-    RExC_uni_semantics = 1;     /* The use of this operator implies /u.  This
-                                   is required so that the compile time values
-                                   are valid in all runtime cases */
+
+    REQUIRE_UNI_RULES(flagp, NULL);   /* The use of this operator implies /u.
+                                         This is required so that the compile
+                                         time values are valid in all runtime
+                                         cases */
 
     /* This will return only an ANYOF regnode, or (unlikely) something smaller
      * (such as EXACT).  Thus we can skip most everything if just sizing.  We
@@ -13384,8 +13468,8 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist,
                         RExC_parse++;
                     }
 
-                    /* regclass() can only return RESTART_UTF8 if multi-char
-                       folds are allowed.  */
+                    /* regclass() can only return RESTART_PASS1 and NEED_UTF8
+                     * if multi-char folds are allowed.  */
                     if (!regclass(pRExC_state, flagp,depth+1,
                                   is_posix_class, /* parse the whole char
                                                      class only if not a
@@ -13393,6 +13477,7 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist,
                                   FALSE, /* don't allow multi-char folds */
                                   TRUE, /* silence non-portable warnings. */
                                   TRUE, /* strict */
+                                  FALSE, /* Require return to be an ANYOF */
                                   &current
                                  ))
                         FAIL2("panic: regclass returned NULL to handle_sets, "
@@ -13419,6 +13504,10 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist,
                         nextchar(pRExC_state);
                         Set_Node_Length(node,
                                 RExC_parse - oregcomp_parse + 1); /* MJD */
+                        if (in_locale) {
+                            set_regex_charset(&RExC_flags, REGEX_LOCALE_CHARSET);
+                        }
+
                         return node;
                     }
                     goto no_close;
@@ -13448,12 +13537,13 @@ S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist,
      * a stack.  Each entry on the stack is a single character representing one
      * of the operators; or else a pointer to an operand inversion list. */
 
-#define IS_OPERAND(a)  (! SvIOK(a))
+#define IS_OPERATOR(a) SvIOK(a)
+#define IS_OPERAND(a)  (! IS_OPERATOR(a))
 
     /* The stack is kept in Łukasiewicz order.  (That's pronounced similar
      * to luke-a-shave-itch (or -itz), but people who didn't want to bother
-     * with prounouncing it called it Reverse Polish instead, but now that YOU
-     * know how to prounounce it you can use the correct term, thus giving due
+     * with pronouncing it called it Reverse Polish instead, but now that YOU
+     * know how to pronounce it you can use the correct term, thus giving due
      * credit to the person who invented it, and impressing your geek friends.
      * Wikipedia says that the pronounciation of "Ł" has been changing so that
      * it is now more like an English initial W (as in wonk) than an L.)
@@ -13620,13 +13710,14 @@ redo_curchar:
                     /* If the top entry on the stack is an operator, it had
                      * better be a '!', otherwise the entry below the top
                      * operand should be an operator */
-                    if ( ! (top_ptr = av_fetch(stack, top_index, FALSE))
-                        || (! IS_OPERAND(*top_ptr) && SvUV(*top_ptr) != '!')
-                        || top_index - fence < 1
-                        || ! (stacked_ptr = av_fetch(stack,
-                                                     top_index - 1,
-                                                     FALSE))
-                        || IS_OPERAND(*stacked_ptr))
+                    if (   ! (top_ptr = av_fetch(stack, top_index, FALSE))
+                        || (IS_OPERATOR(*top_ptr) && SvUV(*top_ptr) != '!')
+                        || (   IS_OPERAND(*top_ptr)
+                            && (   top_index - fence < 1
+                                || ! (stacked_ptr = av_fetch(stack,
+                                                             top_index - 1,
+                                                             FALSE))
+                                || ! IS_OPERATOR(*stacked_ptr))))
                     {
                         RExC_parse++;
                         vFAIL("Unexpected '(' with no preceding operator");
@@ -13639,13 +13730,14 @@ redo_curchar:
                 break;
 
             case '\\':
-                /* regclass() can only return RESTART_UTF8 if multi-char
-                   folds are allowed.  */
+                /* regclass() can only return RESTART_PASS1 and NEED_UTF8 if
+                 * multi-char folds are allowed.  */
                 if (!regclass(pRExC_state, flagp,depth+1,
                               TRUE, /* means parse just the next thing */
                               FALSE, /* don't allow multi-char folds */
                               FALSE, /* don't silence non-portable warnings.  */
                               TRUE,  /* strict */
+                              FALSE, /* Require return to be an ANYOF */
                               &current))
                 {
                     FAIL2("panic: regclass returned NULL to handle_sets, "
@@ -13665,14 +13757,15 @@ redo_curchar:
                     RExC_parse++;
                 }
 
-                /* regclass() can only return RESTART_UTF8 if multi-char
-                   folds are allowed.  */
+                /* regclass() can only return RESTART_PASS1 and NEED_UTF8 if
+                 * multi-char folds are allowed.  */
                 if(!regclass(pRExC_state, flagp,depth+1,
                              is_posix_class, /* parse the whole char class
                                                 only if not a posix class */
                              FALSE, /* don't allow multi-char folds */
                              FALSE, /* don't silence non-portable warnings.  */
                              TRUE,   /* strict */
+                             FALSE, /* Require return to be an ANYOF */
                              &current
                             ))
                 {
@@ -13873,7 +13966,7 @@ redo_curchar:
                  * be an operator */
                 top_ptr = av_fetch(stack, top_index, FALSE);
                 assert(top_ptr);
-                if (! IS_OPERAND(*top_ptr)) {
+                if (IS_OPERATOR(*top_ptr)) {
 
                     /* The only permissible operator at the top of the stack is
                      * '!', which is applied immediately to this operand. */
@@ -13925,6 +14018,7 @@ redo_curchar:
     if (av_tindex(stack) < 0   /* Was empty */
         || ((final = av_pop(stack)) == NULL)
         || ! IS_OPERAND(final)
+        || SvTYPE(final) != SVt_INVLIST
         || av_tindex(stack) >= 0)  /* More left on stack */
     {
         SvREFCNT_dec(final);
@@ -13963,8 +14057,8 @@ redo_curchar:
      * already has all folding taken into consideration, and we don't want
      * regclass() to add to that */
     RExC_flags &= ~RXf_PMf_FOLD;
-    /* regclass() can only return RESTART_UTF8 if multi-char folds are allowed.
-     */
+    /* regclass() can only return RESTART_PASS1 and NEED_UTF8 if multi-char
+     * folds are allowed.  */
     node = regclass(pRExC_state, flagp,depth+1,
                     FALSE, /* means parse the whole char class */
                     FALSE, /* don't allow multi-char folds */
@@ -13972,14 +14066,42 @@ redo_curchar:
                              well have generated non-portable code points, but
                              they're valid on this machine */
                     FALSE, /* similarly, no need for strict */
+                    FALSE, /* Require return to be an ANYOF */
                     NULL
                 );
     if (!node)
         FAIL2("panic: regclass returned NULL to handle_sets, flags=%#"UVxf,
                     PTR2UV(flagp));
+
+    /* Fix up the node type if we are in locale.  (We have pretended we are
+     * under /u for the purposes of regclass(), as this construct will only
+     * work under UTF-8 locales.  But now we change the opcode to be ANYOFL (so
+     * as to cause any warnings about bad locales to be output in regexec.c),
+     * and add the flag that indicates to check if not in a UTF-8 locale.  The
+     * reason we above forbid optimization into something other than an ANYOF
+     * node is simply to minimize the number of code changes in regexec.c.
+     * Otherwise we would have to create new EXACTish node types and deal with
+     * them.  This decision could be revisited should this construct become
+     * popular.
+     *
+     * (One might think we could look at the resulting ANYOF node and suppress
+     * the flag if everything is above 255, as those would be UTF-8 only,
+     * but this isn't true, as the components that led to that result could
+     * have been locale-affected, and just happen to cancel each other out
+     * under UTF-8 locales.) */
+    if (in_locale) {
+        set_regex_charset(&RExC_flags, REGEX_LOCALE_CHARSET);
+
+        assert(OP(node) == ANYOF);
+
+        OP(node) = ANYOFL;
+        ANYOF_FLAGS(node) |= ANYOF_LOC_REQ_UTF8;
+    }
+
     if (save_fold) {
         RExC_flags |= RXf_PMf_FOLD;
     }
+
     RExC_parse = save_parse + 1;
     RExC_end = save_end;
     SvREFCNT_dec_NN(final);
@@ -13989,6 +14111,7 @@ redo_curchar:
     Set_Node_Length(node, RExC_parse - oregcomp_parse + 1); /* MJD */
     return node;
 }
+#undef IS_OPERATOR
 #undef IS_OPERAND
 
 STATIC void
@@ -14131,6 +14254,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
                                                        about too large
                                                        characters */
                  const bool strict,
+                 bool optimizable,                  /* ? Allow a non-ANYOF return
+                                                       node */
                  SV** ret_invlist  /* Return an inversion list, not a node */
           )
 {
@@ -14155,8 +14280,9 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
      * are extra bits for \w, etc. in locale ANYOFs, as what these match is not
      * determinable at compile time
      *
-     * Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs
-     * to be restarted.  This can only happen if ret_invlist is non-NULL.
+     * Returns NULL, setting *flagp to RESTART_PASS1 if the sizing scan needs
+     * to be restarted, or'd with NEED_UTF8 if the pattern needs to be upgraded
+     * to UTF-8.  This can only happen if ret_invlist is non-NULL.
      */
 
     UV prevvalue = OOB_UNICODE, save_prevvalue = OOB_UNICODE;
@@ -14261,7 +14387,9 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
     ret = reganode(pRExC_state,
                    (LOC)
                     ? ANYOFL
-                    : ANYOF,
+                    : (DEPENDS_SEMANTICS)
+                      ? ANYOFD
+                      : ANYOF,
                    0);
 
     if (SIZE_ONLY) {
@@ -14408,8 +14536,10 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
                                         depth)
                     ) {
 
-                        if (*flagp & RESTART_UTF8)
-                            FAIL("panic: grok_bslash_N set RESTART_UTF8");
+                        if (*flagp & NEED_UTF8)
+                            FAIL("panic: grok_bslash_N set NEED_UTF8");
+                        if (*flagp & RESTART_PASS1)
+                            return NULL;
 
                         if (cp_count < 0) {
                             vFAIL("\\N in a character class must be a named character: \\N{...}");
@@ -14573,6 +14703,8 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
                                         (value == 'p' ? '+' : '!'),
                                         UTF8fARG(UTF, n, name));
                         has_user_defined_property = TRUE;
+                        optimizable = FALSE;    /* Will have to leave this an
+                                                   ANYOF node */
 
                         /* We don't know yet, so have to assume that the
                          * property could match something in the Latin1 range,
@@ -14630,7 +14762,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
                                                 named */
 
                /* \p means they want Unicode semantics */
-               RExC_uni_semantics = 1;
+               REQUIRE_UNI_RULES(flagp, NULL);
                }
                break;
            case 'n':   value = '\n';                   break;
@@ -14807,6 +14939,12 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
                     }
                     ANYOF_FLAGS(ret) |= ANYOF_MATCHES_POSIXL;
                     ANYOF_POSIXL_ZERO(ret);
+
+                    /* We can't change this into some other type of node
+                     * (unless this is the only element, in which case there
+                     * are nodes that mean exactly this) as has runtime
+                     * dependencies */
+                    optimizable = FALSE;
                 }
 
                 /* Coverity thinks it is possible for this to be negative; both
@@ -15016,7 +15154,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
        /* non-Latin1 code point implies unicode semantics.  Must be set in
         * pass1 so is there for the whole of pass 2 */
        if (value > 255) {
-           RExC_uni_semantics = 1;
+            REQUIRE_UNI_RULES(flagp, NULL);
        }
 
         /* Ready to process either the single value, or the completed range.
@@ -15298,7 +15436,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
 
        ret = reg(pRExC_state, 1, &reg_flags, depth+1);
 
-       *flagp |= reg_flags&(HASWIDTH|SIMPLE|SPSTART|POSTPONED|RESTART_UTF8);
+       *flagp |= reg_flags&(HASWIDTH|SIMPLE|SPSTART|POSTPONED|RESTART_PASS1|NEED_UTF8);
 
        RExC_parse = save_parse;
        RExC_end = save_end;
@@ -15318,8 +15456,9 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
      * 2) if the character class contains only a single element (including a
      *    single range), we see if there is an equivalent node for it.
      * Other checks are possible */
-    if (! ret_invlist   /* Can't optimize if returning the constructed
-                           inversion list */
+    if (   optimizable
+        && ! ret_invlist   /* Can't optimize if returning the constructed
+                              inversion list */
         && (UNLIKELY(posixl_matches_all) || element_count == 1))
     {
         U8 op = END;
@@ -15530,7 +15669,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
             /* Our calculated list will be for Unicode rules.  For locale
              * matching, we have to keep a separate list that is consulted at
              * runtime only when the locale indicates Unicode rules.  For
-             * non-locale, we just use to the general list */
+             * non-locale, we just use the general list */
             if (LOC) {
                 use_list = &only_utf8_locale_list;
             }
@@ -15680,7 +15819,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
             if (DEPENDS_SEMANTICS) {
                 /* Under /d, everything in the upper half of the Latin1 range
                  * matches these complements */
-                ANYOF_FLAGS(ret) |= ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII;
+                ANYOF_FLAGS(ret) |= ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER;
             }
             else if (AT_LEAST_ASCII_RESTRICTED) {
                 /* Under /a and /aa, everything above ASCII matches these
@@ -15767,7 +15906,12 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
         }
 
         if (warn_super) {
-            ANYOF_FLAGS(ret) |= ANYOF_WARN_SUPER;
+            ANYOF_FLAGS(ret)
+             |= ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER;
+
+            /* Because an ANYOF node is the only one that warns, this node
+             * can't be optimized into something else */
+            optimizable = FALSE;
         }
     }
 
@@ -15789,8 +15933,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
         if (only_utf8_locale_list) {
             ANYOF_FLAGS(ret) |= ANYOF_LOC_FOLD;
         }
-        else if (cp_list) { /* Look to see if there a 0-255 code point is in
-                               the list */
+        else if (cp_list) { /* Look to see if a 0-255 code point is in list */
             UV start, end;
             invlist_iterinit(cp_list);
             if (invlist_iternext(cp_list, &start, &end) && start < 256) {
@@ -15849,21 +15992,14 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
      * adjacent such nodes.  And if the class is equivalent to things like /./,
      * expensive run-time swashes can be avoided.  Now that we have more
      * complete information, we can find things necessarily missed by the
-     * earlier code.  I (khw) am not sure how much to look for here.  It would
-     * be easy, but perhaps too slow, to check any candidates against all the
-     * node types they could possibly match using _invlistEQ(). */
-
-    if (cp_list
-        && ! invert
-        && ! depends_list
-        && ! (ANYOF_FLAGS(ret) & (ANYOF_LOCALE_FLAGS))
-        && ! HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION
-
-           /* We don't optimize if we are supposed to make sure all non-Unicode
-            * code points raise a warning, as only ANYOF nodes have this check.
-            * */
-        && ! ((ANYOF_FLAGS(ret) & ANYOF_WARN_SUPER) && ALWAYS_WARN_SUPER))
-    {
+     * earlier code.  I (khw) did some benchmarks and found essentially no
+     * speed difference between using a POSIXA node versus an ANYOF node, so
+     * there is no reason to optimize, for example [A-Za-z0-9_] into
+     * [[:word:]]/a (although if we did it in the sizing pass it would save
+     * space).  _invlistEQ() could be used if one ever wanted to do something
+     * like this at this point in the code */
+
+    if (optimizable && cp_list && ! invert && ! depends_list) {
         UV start, end;
         U8 op = END;  /* The optimzation node-type */
         const char * cur_parse= RExC_parse;
@@ -15872,9 +16008,9 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
         if (! invlist_iternext(cp_list, &start, &end)) {
 
             /* Here, the list is empty.  This happens, for example, when a
-             * Unicode property is the only thing in the character class, and
-             * it doesn't match anything.  (perluniprops.pod notes such
-             * properties) */
+             * Unicode property that doesn't match anything is the only element
+             * in the character class (perluniprops.pod notes such properties).
+             * */
             op = OPFAIL;
             *flagp |= HASWIDTH|SIMPLE;
         }
@@ -15930,7 +16066,7 @@ S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
                     }
                 }
             }
-        }
+        }   /* End of first range contains just a single code point */
         else if (start == 0) {
             if (end == UV_MAX) {
                 op = SANY;
@@ -16932,9 +17068,15 @@ Perl_regprop(pTHX_ const regexp *prog, SV *sv, const regnode *o, const regmatch_
         }
 
     } else if (k == CURLY) {
+        U32 lo = ARG1(o), hi = ARG2(o);
        if (OP(o) == CURLYM || OP(o) == CURLYN || OP(o) == CURLYX)
            Perl_sv_catpvf(aTHX_ sv, "[%d]", o->flags); /* Parenth number */
-       Perl_sv_catpvf(aTHX_ sv, " {%d,%d}", ARG1(o), ARG2(o));
+        Perl_sv_catpvf(aTHX_ sv, "{%u,", (unsigned) lo);
+        if (hi == REG_INFTY)
+            sv_catpvs(sv, "INFTY");
+        else
+            Perl_sv_catpvf(aTHX_ sv, "%u", (unsigned) hi);
+        sv_catpvs(sv, "}");
     }
     else if (k == WHILEM && o->flags)                  /* Ordinal/of */
        Perl_sv_catpvf(aTHX_ sv, "[%d/%d]", o->flags & 0xf, o->flags>>4);
@@ -17011,8 +17153,14 @@ Perl_regprop(pTHX_ const regexp *prog, SV *sv, const regnode *o, const regmatch_
         SV* bitmap_invlist;  /* Will hold what the bit map contains */
 
 
-       if (OP(o) == ANYOFL)
-           sv_catpvs(sv, "{loc}");
+       if (OP(o) == ANYOFL) {
+            if (flags & ANYOF_LOC_REQ_UTF8) {
+                sv_catpvs(sv, "{utf8-loc}");
+            }
+            else {
+                sv_catpvs(sv, "{loc}");
+            }
+        }
        if (flags & ANYOF_LOC_FOLD)
            sv_catpvs(sv, "{i}");
        Perl_sv_catpvf(aTHX_ sv, "[%s", PL_colors[0]);
@@ -17048,7 +17196,9 @@ Perl_regprop(pTHX_ const regexp *prog, SV *sv, const regnode *o, const regmatch_
                     sv_catpvs(sv, "^");
             }
 
-            if (flags & ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII) {
+            if (OP(o) == ANYOFD
+                && (flags & ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER))
+            {
                 sv_catpvs(sv, "{non-utf8-latin1-all}");
             }
 
index 897d35b..0b69f6e 100644 (file)
--- a/regcomp.h
+++ b/regcomp.h
@@ -261,7 +261,7 @@ struct regnode_ssc {
 #define set_ANYOF_SYNTHETIC(n) STMT_START{ OP(n) = ANYOF;              \
                                            NEXT_OFF(n) = 1;            \
                                } STMT_END
-#define is_ANYOF_SYNTHETIC(n) (OP(n) == ANYOF && NEXT_OFF(n) == 1)
+#define is_ANYOF_SYNTHETIC(n) (PL_regkind[OP(n)] == ANYOF && NEXT_OFF(n) == 1)
 
 /* XXX fix this description.
    Impose a limit of REG_INFTY on various pattern matching operations
@@ -378,67 +378,99 @@ struct regnode_ssc {
  * reach this high). */
 #define ANYOF_ONLY_HAS_BITMAP  ((U32) -1)
 
-/* Flags for node->flags of ANYOF.  These are in short supply, with none
- * currently available.  The ABOVE_BITMAP_ALL bit could be freed up
+/* Below are the flags for node->flags of ANYOF.  These are in short supply,
+ * with none currently available.  The ABOVE_BITMAP_ALL bit could be freed up
  * by resorting to creating a swash containing everything above 255.  This
- * introduces a performance penalty.  An option that wouldn't slow things down
- * would be to split one of the two LOC flags out into a separate
- * node, like what was done with ANYOF_NON_UTF8_NON_ASCII_ALL in commit
- * 34fdef848b1687b91892ba55e9e0c3430e0770f6 (but which was reverted because it
- * wasn't the best option available at the time), and using a LOC flag is
- * probably better than that commit anyway.  But it could be reinstated if we
- * need a bit.  The LOC flags are only for /l nodes; the reverted commit was
- * only for /d, so there are no combinatorial issues.  The LOC flag to use is
- * probably the POSIXL one.  Now that there is an ANYOFL (locale) node, another
- * option would be to make all of those include the POSIXL data structure,
- * which would get rid of needing a separate POSIXL flag.  But it would
- * increase the size of all such nodes, so it's probably not as atractive as
- * having an ANYOF_POSIXL node type.  But if we did do it, note that not all 32
- * bits of that extra space are used, one bit of that could be set aside for
- * the LOC_FOLD flag, yielding yet another bit.  This would require extra code
- * for masking, so again not the most attractive solution.
+ * seems likely to introduce a performance penalty (but actual numbers haven't
+ * been done), so its probably better do some of the other possibilities below
+ * in preference to this.
+ *
+ * If just one bit is required, it seems to me (khw) that the best option would
+ * be to turn the ANYOF_LOC_REQ_UTF8 bit into a separate node type: a
+ * specialization of the ANYOFL type, freeing up the currently occupied bit.
+ * When turning a bit into a node type, one has to take into consideration that
+ * a SSC may use that bit -- not just a regular ANYOF[DL]?.  In the case of
+ * ANYOF_LOC_REQ_UTF8, the only likely problem is accurately settting the SSC
+ * node-type to the new one, which would likely involve S_ssc_or and S_ssc_and,
+ * and not how the SSC currently gets set to ANYOFL.  This bit is a natural
+ * candidate for being a separate node type because it is a specialization of
+ * the current ANYOFL, and because no other ANYOFL-only bits are set when it
+ * is; also most of its uses are actually outside the reginclass() function, so
+ * this could be done with no performance penalty.  The other potential bits
+ * seem to me to have a potential issue with a combinatorial explosion of node
+ * types, because of not having that mutual exclusivity, where you may end up
+ * having to have a node type for bitX being set, one for bitY, and one for
+ * both bitXY.
+ *
+ * If you don't want to do this, or two bits are required, one could instead
+ * rename the ANYOF_POSIXL bit to be ANYOFL_LARGE, to mean that the ANYOF node
+ * has an extra 32 bits beyond what a regular one does.  That's what it
+ * effectively means now, with the extra space all for the POSIX class bits.
+ * But those classes actually only occupy 30 bits, so the ANYOF_LOC_REQ_BIT (if
+ * an extra node type for it hasn't been created) and/or the ANYOF_LOC_FOLD
+ * bits could be moved there.  The downside of this is that ANYOFL nodes with
+ * whichever of the bits get moved would have to have the extra space always
+ * allocated.
+ *
+ * If three bits are required, one could additionally make a node type for
+ * ANYOFL_LARGE, removing that as a bit, and move both the above bits to that
+ * extra word.  There isn't an SSC problem as all SSCs are this large anyway,
+ * and the SSC could be set to this node type.   REGINCLASS would have to be
+ * modified so that if the node type were this, it would call reginclass().
+ * as the flag bit that does this now would be gone.
  *
  * Several flags are not used in synthetic start class (SSC) nodes, so could be
  * shared should new flags be needed for SSCs, like SSC_MATCHES_EMPTY_STRING
  * now. */
 
-/* regexec.c is expecting this to be in the low bit */
+/* If this is set, the result of the match should be complemented.  regexec.c
+ * is expecting this to be in the low bit.  Never in an SSC */
 #define ANYOF_INVERT                           0x01
 
 /* For the SSC node only, which cannot be inverted, so is shared with that bit.
  * This is used only during regex compilation. */
 #define SSC_MATCHES_EMPTY_STRING                ANYOF_INVERT
 
-/* Are there things outside the bitmap that will match only if the target
- * string is encoded in UTF-8?  (This is not set if ANYOF_ABOVE_BITMAP_ALL is
- * set) */
-#define ANYOF_HAS_UTF8_NONBITMAP_MATCHES        0x02
+/* Set if this is a regnode_charclass_posixl vs a regnode_charclass.  This
+ * is used for runtime \d, \w, [:posix:], ..., which are used only in locale
+ * and the optimizer's synthetic start class.  Non-locale \d, etc are resolved
+ * at compile-time.  Only set under /l; can be in SSC */
+#define ANYOF_MATCHES_POSIXL                    0x02
 
 /* The fold is calculated and stored in the bitmap where possible at compile
  * time.  However under locale, the actual folding varies depending on
  * what the locale is at the time of execution, so it has to be deferred until
- * then */
+ * then.  Only set under /l; never in an SSC  */
 #define ANYOF_LOC_FOLD                          0x04
 
-/* Set if this is a regnode_charclass_posixl vs a regnode_charclass.  This
- * is used for runtime \d, \w, [:posix:], ..., which are used only in locale
- * and the optimizer's synthetic start class.  Non-locale \d, etc are resolved
- * at compile-time */
-#define ANYOF_MATCHES_POSIXL                    0x08
+/* If set, means to warn if runtime locale isn't a UTF-8 one.  Only under /l.
+ * If set, none of INVERT, LOC_FOLD, POSIXL, HAS_NONBITMAP_NON_UTF8_MATCHES can
+ * be set.  Can be in an SSC */
+#define ANYOF_LOC_REQ_UTF8                      0x08
 
-/* Should we raise a warning if matching against an above-Unicode code point?
- * */
-#define ANYOF_WARN_SUPER                        0x10
+/* If set, the node matches every code point NUM_ANYOF_CODE_POINTS and above.
+ * Can be in an SSC */
+#define ANYOF_MATCHES_ALL_ABOVE_BITMAP          0x10
 
-/* Can match something outside the bitmap that isn't in utf8 */
+/* If set, the node can match something outside the bitmap that isn't in utf8;
+ * never set under /d nor in an SSC */
 #define ANYOF_HAS_NONBITMAP_NON_UTF8_MATCHES    0x20
 
-/* Matches every code point NUM_ANYOF_CODE_POINTS and above*/
-#define ANYOF_MATCHES_ALL_ABOVE_BITMAP          0x40
-
-/* Match all Latin1 characters that aren't ASCII when the target string is not
- * in utf8. */
-#define ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII    0x80
+/* Are there things outside the bitmap that will match only if the target
+ * string is encoded in UTF-8?  (This is not set if ANYOF_ABOVE_BITMAP_ALL is
+ * set).  Can be in SSC */
+#define ANYOF_HAS_UTF8_NONBITMAP_MATCHES        0x40
+
+/* Shared bit:
+ *      Under /d it means the ANYOFD node matches all non-ASCII Latin1
+ *          characters when the target string is not in utf8.
+ *      When not under /d, it means the ANYOF node should raise a warning if
+ *          matching against an above-Unicode code point.
+ * (These uses are mutually exclusive because the warning requires a \p{}, and
+ * \p{} implies /u which deselects /d).  An SSC node only has this bit set if
+ * what is meant is the warning.  The long macro name is to make sure that you
+ * are cautioned about its shared nature */
+#define ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER 0x80
 
 #define ANYOF_FLAGS_ALL                (0xff)
 
@@ -446,8 +478,9 @@ struct regnode_ssc {
 
 /* These are the flags that apply to both regular ANYOF nodes and synthetic
  * start class nodes during construction of the SSC.  During finalization of
- * the SSC, other of the flags could be added to it */
-#define ANYOF_COMMON_FLAGS    (ANYOF_WARN_SUPER|ANYOF_HAS_UTF8_NONBITMAP_MATCHES)
+ * the SSC, other of the flags may get added to it */
+#define ANYOF_COMMON_FLAGS    ( ANYOF_HAS_UTF8_NONBITMAP_MATCHES    \
+                               |ANYOF_LOC_REQ_UTF8)
 
 /* Character classes for node->classflags of ANYOF */
 /* Should be synchronized with a table in regprop() */
index ffcb53b..201c65e 100644 (file)
@@ -57,6 +57,7 @@ NBOUNDA     NBOUND,     no        ; Match "" betweeen any \w\w or \W\W, where \w
 REG_ANY     REG_ANY,    no 0 S    ; Match any one character (except newline).
 SANY        REG_ANY,    no 0 S    ; Match any one character.
 ANYOF       ANYOF,      sv 1 S    ; Match character in (or not in) this class, single char match only
+ANYOFD      ANYOF,      sv 1 S    ; Like ANYOF, but /d is in effect
 ANYOFL      ANYOF,      sv 1 S    ; Like ANYOF, but /l is in effect
 
 #* POSIX Character Classes:
@@ -90,7 +91,7 @@ BRANCH      BRANCH,     node 0 V  ; Match this alternative, or the next...
 # NOTE: the relative ordering of these types is important do not change it
 
 EXACT       EXACT,      str       ; Match this string (preceded by length).
-EXACTL      EXACT,      str       ; Like EXACT, but /l is in effect.
+EXACTL      EXACT,      str       ; Like EXACT, but /l is in effect (used so locale-related warnings can be checked for).
 EXACTF      EXACT,      str       ; Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len).
 EXACTFL     EXACT,      str       ; Match this string (not guaranteed to be folded) using /il rules (w/len).
 EXACTFU     EXACT,      str      ; Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len).
index 86f3162..5b609e5 100644 (file)
@@ -278,9 +278,22 @@ print $out_fh <<END;
 END
 
 # Output the table using fairly short names for each char.
+my $is_for_ascii = 1;   # get_supported_code_pages() returns the ASCII
+                        # character set first
 foreach my $charset (get_supported_code_pages()) {
     my @a2n = @{get_a2n($charset)};
     my @out;
+    my @utf_to_i8;
+
+    if ($is_for_ascii) {
+        $is_for_ascii = 0;
+    }
+    else {  # EBCDIC.  Calculate mapping from UTF-EBCDIC bytes to I8
+        my $i8_to_utf_ref = get_I8_2_utf($charset);
+        for my $i (0..255) {
+            $utf_to_i8[$i8_to_utf_ref->[$i]] = $i;
+        }
+    }
 
     print $out_fh "\n" . get_conditional_compile_line_start($charset);
     for my $ord (0..255) {
@@ -338,10 +351,38 @@ foreach my $charset (get_supported_code_pages()) {
                 $name =~ s/:.*//;
             }
         }
+
         my $index = $a2n[$ord];
-        $out[$index] = ($ord == $index)
-                    ? sprintf "/* U+%02X %s */ %s,\n", $ord, $name, $bits[$ord]
-                    : sprintf "/* 0x%02X U+%02X %s */ %s,\n", $index, $ord, $name, $bits[$ord];
+        my $i8;
+        $i8 = $utf_to_i8[$index] if @utf_to_i8;
+
+        $out[$index] = "/* ";
+        $out[$index] .= sprintf "0x%02X ", $index if $ord != $index;
+        $out[$index] .= sprintf "U+%02X ", $ord;
+        $out[$index] .= sprintf "I8=%02X ", $i8 if defined $i8 && $i8 != $ord;
+        $out[$index] .= "$name */ ";
+        $out[$index] .= $bits[$ord];
+
+        # For EBCDIC character sets, we also add some data for when the bytes
+        # are in UTF-EBCDIC; these are based on the fundamental
+        # characteristics of UTF-EBCDIC.
+        if (@utf_to_i8) {
+            if ($i8 >= 0xC5 && $i8 != 0xE0) {
+                $out[$index] .= '|(1U<<_CC_UTF8_IS_START)';
+                if ($i8 <= 0xC7) {
+                    $out[$index] .= '|(1U<<_CC_UTF8_IS_DOWNGRADEABLE_START)';
+                }
+            }
+            if (($i8 & 0xE0) == 0xA0) {
+                $out[$index] .= '|(1U<<_CC_UTF8_IS_CONTINUATION)';
+            }
+            if ($i8 >= 0xF1) {
+                $out[$index] .=
+                          '|(1U<<_CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE)';
+            }
+        }
+
+        $out[$index] .= ",\n";
     }
     $out[-1] =~ s/,$//;     # No trailing comma in the final entry
 
index 5004e1d..acd1f91 100644 (file)
@@ -209,7 +209,6 @@ U+0130 string
 U+0131 string
 
 U+2010 string
-U+D800 first FIRST_SURROGATE
 BOM first
 BOM tail
 
index f2517e5..e92e7a3 100644 (file)
--- a/regexec.c
+++ b/regexec.c
@@ -37,9 +37,6 @@
 #include "re_top.h"
 #endif
 
-#define B_ON_NON_UTF8_LOCALE_IS_WRONG            \
-      "Use of \\b{} or \\B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale"
-
 /*
  * pregcomp and pregexec -- regsub and regerror are not used in perl
  *
 #include "invlist_inline.h"
 #include "unicode_constants.h"
 
+#define B_ON_NON_UTF8_LOCALE_IS_WRONG            \
+ "Use of \\b{} or \\B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale"
+
+static const char utf8_locale_required[] =
+      "Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale";
+
 #ifdef DEBUGGING
 /* At least one required character in the target string is expressible only in
  * UTF-8. */
@@ -489,7 +492,7 @@ S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character)
     }
     else if (UTF8_IS_DOWNGRADEABLE_START(*character)) {
         return isFOO_lc(classnum,
-                        TWO_BYTE_UTF8_TO_NATIVE(*character, *(character + 1)));
+                        EIGHT_BIT_UTF8_TO_NATIVE(*character, *(character + 1)));
     }
 
     _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, character + UTF8SKIP(character));
@@ -1481,7 +1484,7 @@ STMT_START {
         } else {                                                                    \
             uvc = _to_utf8_fold_flags( (const U8*) uc, foldbuf, &foldlen, flags);   \
             len = UTF8SKIP(uc);                                                     \
-            skiplen = UNISKIP( uvc );                                               \
+            skiplen = UVCHR_SKIP( uvc );                                            \
             foldlen -= skiplen;                                                     \
             uscan = foldbuf + skiplen;                                              \
         }                                                                           \
@@ -1498,7 +1501,7 @@ STMT_START {
         } else {                                                                    \
             len = 1;                                                                \
             uvc = _to_fold_latin1( (U8) *uc, foldbuf, &foldlen, flags);             \
-            skiplen = UNISKIP( uvc );                                               \
+            skiplen = UVCHR_SKIP( uvc );                                            \
             foldlen -= skiplen;                                                     \
             uscan = foldbuf + skiplen;                                              \
         }                                                                           \
@@ -1822,7 +1825,13 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
     switch (OP(c)) {
     case ANYOFL:
         _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
+
+        if ((FLAGS(c) & ANYOF_LOC_REQ_UTF8) && ! IN_UTF8_CTYPE_LOCALE) {
+            Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE), utf8_locale_required);
+        }
+
         /* FALLTHROUGH */
+    case ANYOFD:
     case ANYOF:
         if (utf8_target) {
             REXEC_FBC_UTF8_CLASS_SCAN(
@@ -2320,7 +2329,7 @@ S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s,
                                                                 classnum)))
                         || (UTF8_IS_DOWNGRADEABLE_START(*s)
                             && to_complement ^ cBOOL(
-                                _generic_isCC(TWO_BYTE_UTF8_TO_NATIVE(*s,
+                                _generic_isCC(EIGHT_BIT_UTF8_TO_NATIVE(*s,
                                                                       *(s + 1)),
                                               classnum))))
                     {
@@ -5377,7 +5386,7 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
                             l++;
                         }
                         else {
-                            if (TWO_BYTE_UTF8_TO_NATIVE(*l, *(l+1)) != * (U8*) s)
+                            if (EIGHT_BIT_UTF8_TO_NATIVE(*l, *(l+1)) != * (U8*) s)
                             {
                                 sayNO;
                             }
@@ -5401,7 +5410,7 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
                             s++;
                         }
                         else {
-                            if (TWO_BYTE_UTF8_TO_NATIVE(*s, *(s+1)) != * (U8*) l)
+                            if (EIGHT_BIT_UTF8_TO_NATIVE(*s, *(s+1)) != * (U8*) l)
                             {
                                 sayNO;
                             }
@@ -5729,7 +5738,13 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
 
        case ANYOFL:  /*  /[abc]/l      */
             _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
+
+            if ((FLAGS(scan) & ANYOF_LOC_REQ_UTF8) && ! IN_UTF8_CTYPE_LOCALE)
+            {
+              Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE), utf8_locale_required);
+            }
             /* FALLTHROUGH */
+       case ANYOFD:  /*   /[abc]/d       */
        case ANYOF:  /*   /[abc]/       */
             if (NEXTCHR_IS_EOS)
                 sayNO;
@@ -5768,7 +5783,7 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
             }
             else if (UTF8_IS_DOWNGRADEABLE_START(nextchr)) {
                 if (! (to_complement ^ cBOOL(isFOO_lc(FLAGS(scan),
-                                           (U8) TWO_BYTE_UTF8_TO_NATIVE(nextchr,
+                                           (U8) EIGHT_BIT_UTF8_TO_NATIVE(nextchr,
                                                             *(locinput + 1))))))
                 {
                     sayNO;
@@ -5849,7 +5864,7 @@ S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
             }
             else if (UTF8_IS_DOWNGRADEABLE_START(nextchr)) {
                 if (! (to_complement
-                       ^ cBOOL(_generic_isCC(TWO_BYTE_UTF8_TO_NATIVE(nextchr,
+                       ^ cBOOL(_generic_isCC(EIGHT_BIT_UTF8_TO_NATIVE(nextchr,
                                                                *(locinput + 1)),
                                              FLAGS(scan)))))
                 {
@@ -8126,7 +8141,7 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p,
 
                 /* Target isn't utf8; convert the character in the UTF-8
                  * pattern to non-UTF8, and do a simple loop */
-                c = TWO_BYTE_UTF8_TO_NATIVE(c, *(STRING(p) + 1));
+                c = EIGHT_BIT_UTF8_TO_NATIVE(c, *(STRING(p) + 1));
                 while (scan < loceol && UCHARAT(scan) == c) {
                     scan++;
                 }
@@ -8243,7 +8258,12 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p,
     }
     case ANYOFL:
         _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
+
+        if ((FLAGS(p) & ANYOF_LOC_REQ_UTF8) && ! IN_UTF8_CTYPE_LOCALE) {
+            Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE), utf8_locale_required);
+        }
         /* FALLTHROUGH */
+    case ANYOFD:
     case ANYOF:
        if (utf8_target) {
            while (hardcount < max
@@ -8365,7 +8385,7 @@ S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p,
                     }
                     else if (UTF8_IS_DOWNGRADEABLE_START(*scan)) {
                         if (! (to_complement
-                              ^ cBOOL(_generic_isCC(TWO_BYTE_UTF8_TO_NATIVE(*scan,
+                              ^ cBOOL(_generic_isCC(EIGHT_BIT_UTF8_TO_NATIVE(*scan,
                                                                      *(scan + 1)),
                                                     classnum))))
                         {
@@ -8586,7 +8606,7 @@ S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8* const
                 * UTF8_ALLOW_FFFF */
        if (c_len == (STRLEN)-1)
            Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)");
-        if (c > 255 && OP(n) == ANYOFL && ! is_ANYOF_SYNTHETIC(n)) {
+        if (c > 255 && OP(n) == ANYOFL && ! (flags & ANYOF_LOC_REQ_UTF8)) {
             _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c);
         }
     }
@@ -8595,7 +8615,9 @@ S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8* const
     if (c < NUM_ANYOF_CODE_POINTS) {
        if (ANYOF_BITMAP_TEST(n, c))
            match = TRUE;
-       else if ((flags & ANYOF_MATCHES_ALL_NON_UTF8_NON_ASCII)
+       else if ((flags
+                & ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER)
+                  && OP(n) == ANYOFD
                  && ! utf8_target
                  && ! isASCII(c))
        {
@@ -8698,7 +8720,9 @@ S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8* const
        }
 
         if (UNICODE_IS_SUPER(c)
-            && (flags & ANYOF_WARN_SUPER)
+            && (flags
+               & ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER)
+            && OP(n) != ANYOFD
             && ckWARN_d(WARN_NON_UNICODE))
         {
             Perl_warner(aTHX_ packWARN(WARN_NON_UNICODE),
@@ -8737,6 +8761,9 @@ S_reghop3(U8 *s, SSize_t off, const U8* lim)
             if (UTF8_IS_CONTINUED(*s)) {
                 while (s > lim && UTF8_IS_CONTINUATION(*s))
                     s--;
+                if (! UTF8_IS_START(*s)) {
+                    Perl_croak_nocontext("Malformed UTF-8 character (fatal)");
+                }
            }
             /* XXX could check well-formedness here */
        }
@@ -8761,6 +8788,9 @@ S_reghop4(U8 *s, SSize_t off, const U8* llim, const U8* rlim)
             if (UTF8_IS_CONTINUED(*s)) {
                 while (s > llim && UTF8_IS_CONTINUATION(*s))
                     s--;
+                if (! UTF8_IS_START(*s)) {
+                    Perl_croak_nocontext("Malformed UTF-8 character (fatal)");
+                }
             }
             /* XXX could check well-formedness here */
         }
@@ -8790,6 +8820,9 @@ S_reghopmaybe3(U8* s, SSize_t off, const U8* lim)
             if (UTF8_IS_CONTINUED(*s)) {
                 while (s > lim && UTF8_IS_CONTINUATION(*s))
                     s--;
+                if (! UTF8_IS_START(*s)) {
+                    Perl_croak_nocontext("Malformed UTF-8 character (fatal)");
+                }
            }
             /* XXX could check well-formedness here */
        }
index 4e94213..5dbab2e 100644 (file)
--- a/regexp.h
+++ b/regexp.h
@@ -242,7 +242,7 @@ equivalent to the following snippet:
     if (SvTYPE(sv) == SVt_REGEXP)
         return (REGEXP*) sv;
 
-NULL will be returned if a REGEXP* is not found.
+C<NULL> will be returned if a REGEXP* is not found.
 
 =for apidoc Am|bool|SvRXOK|SV* sv
 
index db32920..cc3da9d 100644 (file)
@@ -6,8 +6,8 @@
 
 /* Regops and State definitions */
 
-#define REGNODE_MAX            92
-#define REGMATCH_STATE_MAX     132
+#define REGNODE_MAX            93
+#define REGMATCH_STATE_MAX     133
 
 #define        END                     0       /* 0000 End of program. */
 #define        SUCCEED                 1       /* 0x01 Return from a subroutine, basically. */
 #define        REG_ANY                 16      /* 0x10 Match any one character (except newline). */
 #define        SANY                    17      /* 0x11 Match any one character. */
 #define        ANYOF                   18      /* 0x12 Match character in (or not in) this class, single char match only */
-#define        ANYOFL                  19      /* 0x13 Like ANYOF, but /l is in effect */
-#define        POSIXD                  20      /* 0x14 Some [[:class:]] under /d; the FLAGS field gives which one */
-#define        POSIXL                  21      /* 0x15 Some [[:class:]] under /l; the FLAGS field gives which one */
-#define        POSIXU                  22      /* 0x16 Some [[:class:]] under /u; the FLAGS field gives which one */
-#define        POSIXA                  23      /* 0x17 Some [[:class:]] under /a; the FLAGS field gives which one */
-#define        NPOSIXD                 24      /* 0x18 complement of POSIXD, [[:^class:]] */
-#define        NPOSIXL                 25      /* 0x19 complement of POSIXL, [[:^class:]] */
-#define        NPOSIXU                 26      /* 0x1a complement of POSIXU, [[:^class:]] */
-#define        NPOSIXA                 27      /* 0x1b complement of POSIXA, [[:^class:]] */
-#define        CLUMP                   28      /* 0x1c Match any extended grapheme cluster sequence */
-#define        BRANCH                  29      /* 0x1d Match this alternative, or the next... */
-#define        EXACT                   30      /* 0x1e Match this string (preceded by length). */
-#define        EXACTL                  31      /* 0x1f Like EXACT, but /l is in effect. */
-#define        EXACTF                  32      /* 0x20 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
-#define        EXACTFL                 33      /* 0x21 Match this string (not guaranteed to be folded) using /il rules (w/len). */
-#define        EXACTFU                 34      /* 0x22 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
-#define        EXACTFA                 35      /* 0x23 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
-#define        EXACTFU_SS              36      /* 0x24 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
-#define        EXACTFLU8               37      /* 0x25 Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */
-#define        EXACTFA_NO_TRIE         38      /* 0x26 Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */
-#define        NOTHING                 39      /* 0x27 Match empty string. */
-#define        TAIL                    40      /* 0x28 Match empty string. Can jump here from outside. */
-#define        STAR                    41      /* 0x29 Match this (simple) thing 0 or more times. */
-#define        PLUS                    42      /* 0x2a Match this (simple) thing 1 or more times. */
-#define        CURLY                   43      /* 0x2b Match this simple thing {n,m} times. */
-#define        CURLYN                  44      /* 0x2c Capture next-after-this simple thing */
-#define        CURLYM                  45      /* 0x2d Capture this medium-complex thing {n,m} times. */
-#define        CURLYX                  46      /* 0x2e Match this complex thing {n,m} times. */
-#define        WHILEM                  47      /* 0x2f Do curly processing and see if rest matches. */
-#define        OPEN                    48      /* 0x30 Mark this point in input as start of #n. */
-#define        CLOSE                   49      /* 0x31 Analogous to OPEN. */
-#define        REF                     50      /* 0x32 Match some already matched string */
-#define        REFF                    51      /* 0x33 Match already matched string, folded using native charset rules for non-utf8 */
-#define        REFFL                   52      /* 0x34 Match already matched string, folded in loc. */
-#define        REFFU                   53      /* 0x35 Match already matched string, folded using unicode rules for non-utf8 */
-#define        REFFA                   54      /* 0x36 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
-#define        NREF                    55      /* 0x37 Match some already matched string */
-#define        NREFF                   56      /* 0x38 Match already matched string, folded using native charset rules for non-utf8 */
-#define        NREFFL                  57      /* 0x39 Match already matched string, folded in loc. */
-#define        NREFFU                  58      /* 0x3a Match already matched string, folded using unicode rules for non-utf8 */
-#define        NREFFA                  59      /* 0x3b Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
-#define        LONGJMP                 60      /* 0x3c Jump far away. */
-#define        BRANCHJ                 61      /* 0x3d BRANCH with long offset. */
-#define        IFMATCH                 62      /* 0x3e Succeeds if the following matches. */
-#define        UNLESSM                 63      /* 0x3f Fails if the following matches. */
-#define        SUSPEND                 64      /* 0x40 "Independent" sub-RE. */
-#define        IFTHEN                  65      /* 0x41 Switch, should be preceded by switcher. */
-#define        GROUPP                  66      /* 0x42 Whether the group matched. */
-#define        EVAL                    67      /* 0x43 Execute some Perl code. */
-#define        MINMOD                  68      /* 0x44 Next operator is not greedy. */
-#define        LOGICAL                 69      /* 0x45 Next opcode should set the flag only. */
-#define        RENUM                   70      /* 0x46 Group with independently numbered parens. */
-#define        TRIE                    71      /* 0x47 Match many EXACT(F[ALU]?)? at once. flags==type */
-#define        TRIEC                   72      /* 0x48 Same as TRIE, but with embedded charclass data */
-#define        AHOCORASICK             73      /* 0x49 Aho Corasick stclass. flags==type */
-#define        AHOCORASICKC            74      /* 0x4a Same as AHOCORASICK, but with embedded charclass data */
-#define        GOSUB                   75      /* 0x4b recurse to paren arg1 at (signed) ofs arg2 */
-#define        GOSTART                 76      /* 0x4c recurse to start of pattern */
-#define        NGROUPP                 77      /* 0x4d Whether the group matched. */
-#define        INSUBP                  78      /* 0x4e Whether we are in a specific recurse. */
-#define        DEFINEP                 79      /* 0x4f Never execute directly. */
-#define        ENDLIKE                 80      /* 0x50 Used only for the type field of verbs */
-#define        OPFAIL                  81      /* 0x51 Same as (?!) */
-#define        ACCEPT                  82      /* 0x52 Accepts the current matched string. */
-#define        VERB                    83      /* 0x53 Used only for the type field of verbs */
-#define        PRUNE                   84      /* 0x54 Pattern fails at this startpoint if no-backtracking through this */
-#define        MARKPOINT               85      /* 0x55 Push the current location for rollback by cut. */
-#define        SKIP                    86      /* 0x56 On failure skip forward (to the mark) before retrying */
-#define        COMMIT                  87      /* 0x57 Pattern fails outright if backtracking through this */
-#define        CUTGROUP                88      /* 0x58 On failure go to the next alternation in the group */
-#define        KEEPS                   89      /* 0x59 $& begins here. */
-#define        LNBREAK                 90      /* 0x5a generic newline pattern */
-#define        OPTIMIZED               91      /* 0x5b Placeholder for dump. */
-#define        PSEUDO                  92      /* 0x5c Pseudo opcode for internal use. */
+#define        ANYOFD                  19      /* 0x13 Like ANYOF, but /d is in effect */
+#define        ANYOFL                  20      /* 0x14 Like ANYOF, but /l is in effect */
+#define        POSIXD                  21      /* 0x15 Some [[:class:]] under /d; the FLAGS field gives which one */
+#define        POSIXL                  22      /* 0x16 Some [[:class:]] under /l; the FLAGS field gives which one */
+#define        POSIXU                  23      /* 0x17 Some [[:class:]] under /u; the FLAGS field gives which one */
+#define        POSIXA                  24      /* 0x18 Some [[:class:]] under /a; the FLAGS field gives which one */
+#define        NPOSIXD                 25      /* 0x19 complement of POSIXD, [[:^class:]] */
+#define        NPOSIXL                 26      /* 0x1a complement of POSIXL, [[:^class:]] */
+#define        NPOSIXU                 27      /* 0x1b complement of POSIXU, [[:^class:]] */
+#define        NPOSIXA                 28      /* 0x1c complement of POSIXA, [[:^class:]] */
+#define        CLUMP                   29      /* 0x1d Match any extended grapheme cluster sequence */
+#define        BRANCH                  30      /* 0x1e Match this alternative, or the next... */
+#define        EXACT                   31      /* 0x1f Match this string (preceded by length). */
+#define        EXACTL                  32      /* 0x20 Like EXACT, but /l is in effect (used so locale-related warnings can be checked for). */
+#define        EXACTF                  33      /* 0x21 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
+#define        EXACTFL                 34      /* 0x22 Match this string (not guaranteed to be folded) using /il rules (w/len). */
+#define        EXACTFU                 35      /* 0x23 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
+#define        EXACTFA                 36      /* 0x24 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
+#define        EXACTFU_SS              37      /* 0x25 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
+#define        EXACTFLU8               38      /* 0x26 Rare cirucmstances: like EXACTFU, but is under /l, UTF-8, folded, and everything in it is above 255. */
+#define        EXACTFA_NO_TRIE         39      /* 0x27 Match this string (which is not trie-able; not guaranteed to be folded) using /iaa rules (w/len). */
+#define        NOTHING                 40      /* 0x28 Match empty string. */
+#define        TAIL                    41      /* 0x29 Match empty string. Can jump here from outside. */
+#define        STAR                    42      /* 0x2a Match this (simple) thing 0 or more times. */
+#define        PLUS                    43      /* 0x2b Match this (simple) thing 1 or more times. */
+#define        CURLY                   44      /* 0x2c Match this simple thing {n,m} times. */
+#define        CURLYN                  45      /* 0x2d Capture next-after-this simple thing */
+#define        CURLYM                  46      /* 0x2e Capture this medium-complex thing {n,m} times. */
+#define        CURLYX                  47      /* 0x2f Match this complex thing {n,m} times. */
+#define        WHILEM                  48      /* 0x30 Do curly processing and see if rest matches. */
+#define        OPEN                    49      /* 0x31 Mark this point in input as start of #n. */
+#define        CLOSE                   50      /* 0x32 Analogous to OPEN. */
+#define        REF                     51      /* 0x33 Match some already matched string */
+#define        REFF                    52      /* 0x34 Match already matched string, folded using native charset rules for non-utf8 */
+#define        REFFL                   53      /* 0x35 Match already matched string, folded in loc. */
+#define        REFFU                   54      /* 0x36 Match already matched string, folded using unicode rules for non-utf8 */
+#define        REFFA                   55      /* 0x37 Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define        NREF                    56      /* 0x38 Match some already matched string */
+#define        NREFF                   57      /* 0x39 Match already matched string, folded using native charset rules for non-utf8 */
+#define        NREFFL                  58      /* 0x3a Match already matched string, folded in loc. */
+#define        NREFFU                  59      /* 0x3b Match already matched string, folded using unicode rules for non-utf8 */
+#define        NREFFA                  60      /* 0x3c Match already matched string, folded using unicode rules for non-utf8, no mixing ASCII, non-ASCII */
+#define        LONGJMP                 61      /* 0x3d Jump far away. */
+#define        BRANCHJ                 62      /* 0x3e BRANCH with long offset. */
+#define        IFMATCH                 63      /* 0x3f Succeeds if the following matches. */
+#define        UNLESSM                 64      /* 0x40 Fails if the following matches. */
+#define        SUSPEND                 65      /* 0x41 "Independent" sub-RE. */
+#define        IFTHEN                  66      /* 0x42 Switch, should be preceded by switcher. */
+#define        GROUPP                  67      /* 0x43 Whether the group matched. */
+#define        EVAL                    68      /* 0x44 Execute some Perl code. */
+#define        MINMOD                  69      /* 0x45 Next operator is not greedy. */
+#define        LOGICAL                 70      /* 0x46 Next opcode should set the flag only. */
+#define        RENUM                   71      /* 0x47 Group with independently numbered parens. */
+#define        TRIE                    72      /* 0x48 Match many EXACT(F[ALU]?)? at once. flags==type */
+#define        TRIEC                   73      /* 0x49 Same as TRIE, but with embedded charclass data */
+#define        AHOCORASICK             74      /* 0x4a Aho Corasick stclass. flags==type */
+#define        AHOCORASICKC            75      /* 0x4b Same as AHOCORASICK, but with embedded charclass data */
+#define        GOSUB                   76      /* 0x4c recurse to paren arg1 at (signed) ofs arg2 */
+#define        GOSTART                 77      /* 0x4d recurse to start of pattern */
+#define        NGROUPP                 78      /* 0x4e Whether the group matched. */
+#define        INSUBP                  79      /* 0x4f Whether we are in a specific recurse. */
+#define        DEFINEP                 80      /* 0x50 Never execute directly. */
+#define        ENDLIKE                 81      /* 0x51 Used only for the type field of verbs */
+#define        OPFAIL                  82      /* 0x52 Same as (?!) */
+#define        ACCEPT                  83      /* 0x53 Accepts the current matched string. */
+#define        VERB                    84      /* 0x54 Used only for the type field of verbs */
+#define        PRUNE                   85      /* 0x55 Pattern fails at this startpoint if no-backtracking through this */
+#define        MARKPOINT               86      /* 0x56 Push the current location for rollback by cut. */
+#define        SKIP                    87      /* 0x57 On failure skip forward (to the mark) before retrying */
+#define        COMMIT                  88      /* 0x58 Pattern fails outright if backtracking through this */
+#define        CUTGROUP                89      /* 0x59 On failure go to the next alternation in the group */
+#define        KEEPS                   90      /* 0x5a $& begins here. */
+#define        LNBREAK                 91      /* 0x5b generic newline pattern */
+#define        OPTIMIZED               92      /* 0x5c Placeholder for dump. */
+#define        PSEUDO                  93      /* 0x5d Pseudo opcode for internal use. */
        /* ------------ States ------------- */
 #define        TRIE_next               (REGNODE_MAX + 1)       /* state for TRIE */
 #define        TRIE_next_fail          (REGNODE_MAX + 2)       /* state for TRIE */
@@ -171,6 +172,7 @@ EXTCONST U8 PL_regkind[] = {
        REG_ANY,        /* REG_ANY                */
        REG_ANY,        /* SANY                   */
        ANYOF,          /* ANYOF                  */
+       ANYOF,          /* ANYOFD                 */
        ANYOF,          /* ANYOFL                 */
        POSIXD,         /* POSIXD                 */
        POSIXD,         /* POSIXL                 */
@@ -312,6 +314,7 @@ static const U8 regarglen[] = {
        0,                                      /* REG_ANY      */
        0,                                      /* SANY         */
        EXTRA_SIZE(struct regnode_1),           /* ANYOF        */
+       EXTRA_SIZE(struct regnode_1),           /* ANYOFD       */
        EXTRA_SIZE(struct regnode_1),           /* ANYOFL       */
        0,                                      /* POSIXD       */
        0,                                      /* POSIXL       */
@@ -410,6 +413,7 @@ static const char reg_off_by_arg[] = {
        0,      /* REG_ANY      */
        0,      /* SANY         */
        0,      /* ANYOF        */
+       0,      /* ANYOFD       */
        0,      /* ANYOFL       */
        0,      /* POSIXD       */
        0,      /* POSIXL       */
@@ -513,80 +517,81 @@ EXTCONST char * const PL_reg_name[] = {
        "REG_ANY",                      /* 0x10 */
        "SANY",                         /* 0x11 */
        "ANYOF",                        /* 0x12 */
-       "ANYOFL",                       /* 0x13 */
-       "POSIXD",                       /* 0x14 */
-       "POSIXL",                       /* 0x15 */
-       "POSIXU",                       /* 0x16 */
-       "POSIXA",                       /* 0x17 */
-       "NPOSIXD",                      /* 0x18 */
-       "NPOSIXL",                      /* 0x19 */
-       "NPOSIXU",                      /* 0x1a */
-       "NPOSIXA",                      /* 0x1b */
-       "CLUMP",                        /* 0x1c */
-       "BRANCH",                       /* 0x1d */
-       "EXACT",                        /* 0x1e */
-       "EXACTL",                       /* 0x1f */
-       "EXACTF",                       /* 0x20 */
-       "EXACTFL",                      /* 0x21 */
-       "EXACTFU",                      /* 0x22 */
-       "EXACTFA",                      /* 0x23 */
-       "EXACTFU_SS",                   /* 0x24 */
-       "EXACTFLU8",                    /* 0x25 */
-       "EXACTFA_NO_TRIE",              /* 0x26 */
-       "NOTHING",                      /* 0x27 */
-       "TAIL",                         /* 0x28 */
-       "STAR",                         /* 0x29 */
-       "PLUS",                         /* 0x2a */
-       "CURLY",                        /* 0x2b */
-       "CURLYN",                       /* 0x2c */
-       "CURLYM",                       /* 0x2d */
-       "CURLYX",                       /* 0x2e */
-       "WHILEM",                       /* 0x2f */
-       "OPEN",                         /* 0x30 */
-       "CLOSE",                        /* 0x31 */
-       "REF",                          /* 0x32 */
-       "REFF",                         /* 0x33 */
-       "REFFL",                        /* 0x34 */
-       "REFFU",                        /* 0x35 */
-       "REFFA",                        /* 0x36 */
-       "NREF",                         /* 0x37 */
-       "NREFF",                        /* 0x38 */
-       "NREFFL",                       /* 0x39 */
-       "NREFFU",                       /* 0x3a */
-       "NREFFA",                       /* 0x3b */
-       "LONGJMP",                      /* 0x3c */
-       "BRANCHJ",                      /* 0x3d */
-       "IFMATCH",                      /* 0x3e */
-       "UNLESSM",                      /* 0x3f */
-       "SUSPEND",                      /* 0x40 */
-       "IFTHEN",                       /* 0x41 */
-       "GROUPP",                       /* 0x42 */
-       "EVAL",                         /* 0x43 */
-       "MINMOD",                       /* 0x44 */
-       "LOGICAL",                      /* 0x45 */
-       "RENUM",                        /* 0x46 */
-       "TRIE",                         /* 0x47 */
-       "TRIEC",                        /* 0x48 */
-       "AHOCORASICK",                  /* 0x49 */
-       "AHOCORASICKC",                 /* 0x4a */
-       "GOSUB",                        /* 0x4b */
-       "GOSTART",                      /* 0x4c */
-       "NGROUPP",                      /* 0x4d */
-       "INSUBP",                       /* 0x4e */
-       "DEFINEP",                      /* 0x4f */
-       "ENDLIKE",                      /* 0x50 */
-       "OPFAIL",                       /* 0x51 */
-       "ACCEPT",                       /* 0x52 */
-       "VERB",                         /* 0x53 */
-       "PRUNE",                        /* 0x54 */
-       "MARKPOINT",                    /* 0x55 */
-       "SKIP",                         /* 0x56 */
-       "COMMIT",                       /* 0x57 */
-       "CUTGROUP",                     /* 0x58 */
-       "KEEPS",                        /* 0x59 */
-       "LNBREAK",                      /* 0x5a */
-       "OPTIMIZED",                    /* 0x5b */
-       "PSEUDO",                       /* 0x5c */
+       "ANYOFD",                       /* 0x13 */
+       "ANYOFL",                       /* 0x14 */
+       "POSIXD",                       /* 0x15 */
+       "POSIXL",                       /* 0x16 */
+       "POSIXU",                       /* 0x17 */
+       "POSIXA",                       /* 0x18 */
+       "NPOSIXD",                      /* 0x19 */
+       "NPOSIXL",                      /* 0x1a */
+       "NPOSIXU",                      /* 0x1b */
+       "NPOSIXA",                      /* 0x1c */
+       "CLUMP",                        /* 0x1d */
+       "BRANCH",                       /* 0x1e */
+       "EXACT",                        /* 0x1f */
+       "EXACTL",                       /* 0x20 */
+       "EXACTF",                       /* 0x21 */
+       "EXACTFL",                      /* 0x22 */
+       "EXACTFU",                      /* 0x23 */
+       "EXACTFA",                      /* 0x24 */
+       "EXACTFU_SS",                   /* 0x25 */
+       "EXACTFLU8",                    /* 0x26 */
+       "EXACTFA_NO_TRIE",              /* 0x27 */
+       "NOTHING",                      /* 0x28 */
+       "TAIL",                         /* 0x29 */
+       "STAR",                         /* 0x2a */
+       "PLUS",                         /* 0x2b */
+       "CURLY",                        /* 0x2c */
+       "CURLYN",                       /* 0x2d */
+       "CURLYM",                       /* 0x2e */
+       "CURLYX",                       /* 0x2f */
+       "WHILEM",                       /* 0x30 */
+       "OPEN",                         /* 0x31 */
+       "CLOSE",                        /* 0x32 */
+       "REF",                          /* 0x33 */
+       "REFF",                         /* 0x34 */
+       "REFFL",                        /* 0x35 */
+       "REFFU",                        /* 0x36 */
+       "REFFA",                        /* 0x37 */
+       "NREF",                         /* 0x38 */
+       "NREFF",                        /* 0x39 */
+       "NREFFL",                       /* 0x3a */
+       "NREFFU",                       /* 0x3b */
+       "NREFFA",                       /* 0x3c */
+       "LONGJMP",                      /* 0x3d */
+       "BRANCHJ",                      /* 0x3e */
+       "IFMATCH",                      /* 0x3f */
+       "UNLESSM",                      /* 0x40 */
+       "SUSPEND",                      /* 0x41 */
+       "IFTHEN",                       /* 0x42 */
+       "GROUPP",                       /* 0x43 */
+       "EVAL",                         /* 0x44 */
+       "MINMOD",                       /* 0x45 */
+       "LOGICAL",                      /* 0x46 */
+       "RENUM",                        /* 0x47 */
+       "TRIE",                         /* 0x48 */
+       "TRIEC",                        /* 0x49 */
+       "AHOCORASICK",                  /* 0x4a */
+       "AHOCORASICKC",                 /* 0x4b */
+       "GOSUB",                        /* 0x4c */
+       "GOSTART",                      /* 0x4d */
+       "NGROUPP",                      /* 0x4e */
+       "INSUBP",                       /* 0x4f */
+       "DEFINEP",                      /* 0x50 */
+       "ENDLIKE",                      /* 0x51 */
+       "OPFAIL",                       /* 0x52 */
+       "ACCEPT",                       /* 0x53 */
+       "VERB",                         /* 0x54 */
+       "PRUNE",                        /* 0x55 */
+       "MARKPOINT",                    /* 0x56 */
+       "SKIP",                         /* 0x57 */
+       "COMMIT",                       /* 0x58 */
+       "CUTGROUP",                     /* 0x59 */
+       "KEEPS",                        /* 0x5a */
+       "LNBREAK",                      /* 0x5b */
+       "OPTIMIZED",                    /* 0x5c */
+       "PSEUDO",                       /* 0x5d */
        /* ------------ States ------------- */
        "TRIE_next",                    /* REGNODE_MAX +0x01 */
        "TRIE_next_fail",               /* REGNODE_MAX +0x02 */
@@ -720,7 +725,7 @@ EXTCONST U8 PL_varies[] __attribute__deprecated__ = {
 EXTCONST U8 PL_varies_bitmask[];
 #else
 EXTCONST U8 PL_varies_bitmask[] = {
-    0x00, 0x00, 0x00, 0x30, 0x00, 0xFE, 0xFC, 0x2F, 0x03, 0x00, 0x00, 0x00
+    0x00, 0x00, 0x00, 0x60, 0x00, 0xFC, 0xF9, 0x5F, 0x06, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 
@@ -732,8 +737,8 @@ EXTCONST U8 PL_varies_bitmask[] = {
 EXTCONST U8 PL_simple[] __attribute__deprecated__;
 #else
 EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
-    REG_ANY, SANY, ANYOF, ANYOFL, POSIXD, POSIXL, POSIXU, POSIXA, NPOSIXD,
-    NPOSIXL, NPOSIXU, NPOSIXA,
+    REG_ANY, SANY, ANYOF, ANYOFD, ANYOFL, POSIXD, POSIXL, POSIXU, POSIXA,
+    NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA,
     0
 };
 #endif /* DOINIT */
@@ -742,7 +747,7 @@ EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
 EXTCONST U8 PL_simple_bitmask[];
 #else
 EXTCONST U8 PL_simple_bitmask[] = {
-    0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+    0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 
diff --git a/scope.h b/scope.h
index 0de5b77..822c8ba 100644 (file)
--- a/scope.h
+++ b/scope.h
 =head1 Callback Functions
 
 =for apidoc Ams||SAVETMPS
-Opening bracket for temporaries on a callback.  See C<FREETMPS> and
+Opening bracket for temporaries on a callback.  See C<L</FREETMPS>> and
 L<perlcall>.
 
 =for apidoc Ams||FREETMPS
-Closing bracket for temporaries on a callback.  See C<SAVETMPS> and
+Closing bracket for temporaries on a callback.  See C<L</SAVETMPS>> and
 L<perlcall>.
 
 =for apidoc Ams||ENTER
-Opening bracket on a callback.  See C<LEAVE> and L<perlcall>.
+Opening bracket on a callback.  See C<L</LEAVE>> and L<perlcall>.
 
 =for apidoc Ams||LEAVE
-Closing bracket on a callback.  See C<ENTER> and L<perlcall>.
+Closing bracket on a callback.  See C<L</ENTER>> and L<perlcall>.
 
 =over
 
diff --git a/sv.c b/sv.c
index cd1bbf5..dc2ba8b 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -1216,7 +1216,7 @@ SV, then copies across as much information as possible from the old body.
 It croaks if the SV is already in a more complex form than requested.  You
 generally want to use the C<SvUPGRADE> macro wrapper, which checks the type
 before calling C<sv_upgrade>, and hence does not croak.  See also
-C<svtype>.
+C<L</svtype>>.
 
 =cut
 */
@@ -1643,7 +1643,7 @@ Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
 =for apidoc sv_setiv
 
 Copies an integer into the given SV, upgrading first if necessary.
-Does not handle 'set' magic.  See also C<sv_setiv_mg>.
+Does not handle 'set' magic.  See also C<L</sv_setiv_mg>>.
 
 =cut
 */
@@ -1703,7 +1703,7 @@ Perl_sv_setiv_mg(pTHX_ SV *const sv, const IV i)
 =for apidoc sv_setuv
 
 Copies an unsigned integer into the given SV, upgrading first if necessary.
-Does not handle 'set' magic.  See also C<sv_setuv_mg>.
+Does not handle 'set' magic.  See also C<L</sv_setuv_mg>>.
 
 =cut
 */
@@ -1754,7 +1754,7 @@ Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u)
 =for apidoc sv_setnv
 
 Copies a double into the given SV, upgrading first if necessary.
-Does not handle 'set' magic.  See also C<sv_setnv_mg>.
+Does not handle 'set' magic.  See also C<L</sv_setnv_mg>>.
 
 =cut
 */
@@ -1925,7 +1925,7 @@ S_not_incrementable(pTHX_ SV *const sv) {
 
 Test if the content of an SV looks like a number (or is a number).
 C<Inf> and C<Infinity> are treated as numbers (so will not issue a
-non-numeric warning), even if your atof() doesn't grok them.  Get-magic is
+non-numeric warning), even if your C<atof()> doesn't grok them.  Get-magic is
 ignored.
 
 =cut
@@ -2420,7 +2420,7 @@ S_sv_2iuv_common(pTHX_ SV *const sv)
 =for apidoc sv_2iv_flags
 
 Return the integer value of an SV, doing any necessary string
-conversion.  If flags includes SV_GMAGIC, does an mg_get() first.
+conversion.  If C<flags> has the C<SV_GMAGIC> bit set, does an C<mg_get()> first.
 Normally used via the C<SvIV(sv)> and C<SvIVx(sv)> macros.
 
 =cut
@@ -2516,7 +2516,7 @@ Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags)
 =for apidoc sv_2uv_flags
 
 Return the unsigned integer value of an SV, doing any necessary string
-conversion.  If flags includes SV_GMAGIC, does an mg_get() first.
+conversion.  If C<flags> has the C<SV_GMAGIC> bit set, does an C<mg_get()> first.
 Normally used via the C<SvUV(sv)> and C<SvUVx(sv)> macros.
 
 =cut
@@ -2599,7 +2599,7 @@ Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags)
 =for apidoc sv_2nv_flags
 
 Return the num value of an SV, doing any necessary string or integer
-conversion.  If flags includes SV_GMAGIC, does an mg_get() first.
+conversion.  If C<flags> has the C<SV_GMAGIC> bit set, does an C<mg_get()> first.
 Normally used via the C<SvNV(sv)> and C<SvNVx(sv)> macros.
 
 =cut
@@ -2924,8 +2924,8 @@ S_infnan_2pv(NV nv, char* buffer, size_t maxlen, char plus) {
 /*
 =for apidoc sv_2pv_flags
 
-Returns a pointer to the string value of an SV, and sets *lp to its length.
-If flags includes SV_GMAGIC, does an mg_get() first.  Coerces sv to a
+Returns a pointer to the string value of an SV, and sets C<*lp> to its length.
+If flags has the C<SV_GMAGIC> bit set, does an C<mg_get()> first.  Coerces C<sv> to a
 string if necessary.  Normally invoked via the C<SvPV_flags> macro.
 C<sv_2pv()> and C<sv_2pv_nomg> usually end up here too.
 
@@ -3222,21 +3222,21 @@ Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags)
 =for apidoc sv_copypv
 
 Copies a stringified representation of the source SV into the
-destination SV.  Automatically performs any necessary mg_get and
+destination SV.  Automatically performs any necessary C<mg_get> and
 coercion of numeric values into strings.  Guaranteed to preserve
-UTF8 flag even from overloaded objects.  Similar in nature to
-sv_2pv[_flags] but operates directly on an SV instead of just the
-string.  Mostly uses sv_2pv_flags to do its work, except when that
+C<UTF8> flag even from overloaded objects.  Similar in nature to
+C<sv_2pv[_flags]> but operates directly on an SV instead of just the
+string.  Mostly uses C<sv_2pv_flags> to do its work, except when that
 would lose the UTF-8'ness of the PV.
 
 =for apidoc sv_copypv_nomg
 
-Like sv_copypv, but doesn't invoke get magic first.
+Like C<sv_copypv>, but doesn't invoke get magic first.
 
 =for apidoc sv_copypv_flags
 
-Implementation of sv_copypv and sv_copypv_nomg.  Calls get magic iff flags
-include SV_GMAGIC.
+Implementation of C<sv_copypv> and C<sv_copypv_nomg>.  Calls get magic iff flags
+has the C<SV_GMAGIC> bit set.
 
 =cut
 */
@@ -3260,7 +3260,7 @@ Perl_sv_copypv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
 /*
 =for apidoc sv_2pvbyte
 
-Return a pointer to the byte-encoded representation of the SV, and set *lp
+Return a pointer to the byte-encoded representation of the SV, and set C<*lp>
 to its length.  May cause the SV to be downgraded from UTF-8 as a
 side-effect.
 
@@ -3288,7 +3288,7 @@ Perl_sv_2pvbyte(pTHX_ SV *sv, STRLEN *const lp)
 /*
 =for apidoc sv_2pvutf8
 
-Return a pointer to the UTF-8-encoded representation of the SV, and set *lp
+Return a pointer to the UTF-8-encoded representation of the SV, and set C<*lp>
 to its length.  May cause the SV to be upgraded to UTF-8 as a side-effect.
 
 Usually accessed via the C<SvPVutf8> macro.
@@ -3314,15 +3314,15 @@ Perl_sv_2pvutf8(pTHX_ SV *sv, STRLEN *const lp)
 /*
 =for apidoc sv_2bool
 
-This macro is only used by sv_true() or its macro equivalent, and only if
-the latter's argument is neither SvPOK, SvIOK nor SvNOK.
-It calls sv_2bool_flags with the SV_GMAGIC flag.
+This macro is only used by C<sv_true()> or its macro equivalent, and only if
+the latter's argument is neither C<SvPOK>, C<SvIOK> nor C<SvNOK>.
+It calls C<sv_2bool_flags> with the C<SV_GMAGIC> flag.
 
 =for apidoc sv_2bool_flags
 
-This function is only used by sv_true() and friends,  and only if
-the latter's argument is neither SvPOK, SvIOK nor SvNOK.  If the flags
-contain SV_GMAGIC, then it does an mg_get() first.
+This function is only used by C<sv_true()> and friends,  and only if
+the latter's argument is neither C<SvPOK>, C<SvIOK> nor C<SvNOK>.  If the flags
+contain C<SV_GMAGIC>, then it does an C<mg_get()> first.
 
 
 =cut
@@ -3380,7 +3380,7 @@ Perl_sv_2bool_flags(pTHX_ SV *sv, I32 flags)
 Converts the PV of an SV to its UTF-8-encoded form.
 Forces the SV to string form if it is not already.
 Will C<mg_get> on C<sv> if appropriate.
-Always sets the SvUTF8 flag to avoid future validity checks even
+Always sets the C<SvUTF8> flag to avoid future validity checks even
 if the whole string is the same in UTF-8 as not.
 Returns the number of bytes in the converted string
 
@@ -3389,7 +3389,7 @@ use the Encode extension for that.
 
 =for apidoc sv_utf8_upgrade_nomg
 
-Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
+Like C<sv_utf8_upgrade>, but doesn't do magic on C<sv>.
 
 =for apidoc sv_utf8_upgrade_flags
 
@@ -3400,7 +3400,7 @@ if all the bytes are invariant in UTF-8.
 If C<flags> has C<SV_GMAGIC> bit set,
 will C<mg_get> on C<sv> if appropriate, else not.
 
-If C<flags> has SV_FORCE_UTF8_UPGRADE set, this function assumes that the PV
+If C<flags> has C<SV_FORCE_UTF8_UPGRADE> set, this function assumes that the PV
 will expand when converted to UTF-8, and skips the extra work of checking for
 that.  Typically this flag is used by a routine that has already parsed the
 string and found such characters, and passes this information on so that the
@@ -3413,8 +3413,8 @@ use the Encode extension for that.
 
 =for apidoc sv_utf8_upgrade_flags_grow
 
-Like sv_utf8_upgrade_flags, but has an additional parameter C<extra>, which is
-the number of unused bytes the string of 'sv' is guaranteed to have free after
+Like C<sv_utf8_upgrade_flags>, but has an additional parameter C<extra>, which is
+the number of unused bytes the string of C<sv> is guaranteed to have free after
 it upon return.  This allows the caller to reserve extra space that it intends
 to fill, to avoid extra grows.
 
@@ -3696,7 +3696,7 @@ in this case, either returns false or, if C<fail_ok> is not
 true, croaks.
 
 This is not a general purpose Unicode to byte encoding interface:
-use the Encode extension for that.
+use the C<Encode> extension for that.
 
 =cut
 */
@@ -3856,7 +3856,7 @@ content of the destination.
 If the C<flags> parameter has the C<SV_GMAGIC> bit set, will C<mg_get> on
 C<ssv> if appropriate, else not.  If the C<flags>
 parameter has the C<SV_NOSTEAL> bit set then the
-buffers of temps will not be stolen.  <sv_setsv>
+buffers of temps will not be stolen.  C<sv_setsv>
 and C<sv_setsv_nomg> are implemented in terms of this function.
 
 You probably want to use one of the assortment of wrappers, such as
@@ -3953,9 +3953,15 @@ S_glob_assign_glob(pTHX_ SV *const dstr, SV *const sstr, const int dtype)
         SvREFCNT_inc_simple_void_NN(sv_2mortal(dstr));
     }
 
+    /* freeing dstr's GP might free sstr (e.g. *x = $x),
+     * so temporarily protect it */
+    ENTER;
+    SAVEFREESV(SvREFCNT_inc_simple_NN(sstr));
     gp_free(MUTABLE_GV(dstr));
     GvINTRO_off(dstr);         /* one-shot flag */
     GvGP_set(dstr, gp_ref(GvGP(sstr)));
+    LEAVE;
+
     if (SvTAINTED(sstr))
        SvTAINT(dstr);
     if (GvIMPORTED(dstr) != GVf_IMPORTED
@@ -4814,7 +4820,7 @@ Perl_sv_setsv_cow(pTHX_ SV *dstr, SV *sstr)
 Copies a string (possibly containing embedded C<NUL> characters) into an SV.
 The C<len> parameter indicates the number of
 bytes to be copied.  If the C<ptr> argument is NULL the SV will become
-undefined.  Does not handle 'set' magic.  See C<sv_setpvn_mg>.
+undefined.  Does not handle 'set' magic.  See C<L</sv_setpvn_mg>>.
 
 =cut
 */
@@ -4871,7 +4877,7 @@ Perl_sv_setpvn_mg(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
 
 Copies a string into an SV.  The string must be terminated with a C<NUL>
 character.
-Does not handle 'set' magic.  See C<sv_setpv_mg>.
+Does not handle 'set' magic.  See C<L</sv_setpv_mg>>.
 
 =cut
 */
@@ -4966,19 +4972,20 @@ Perl_sv_sethek(pTHX_ SV *const sv, const HEK *const hek)
 
 Tells an SV to use C<ptr> to find its string value.  Normally the
 string is stored inside the SV, but sv_usepvn allows the SV to use an
-outside string.  The C<ptr> should point to memory that was allocated
-by L<Newx|perlclib/Memory Management and String Handling>.  It must be
-the start of a Newx-ed block of memory, and not a pointer to the
-middle of it (beware of L<OOK|perlguts/Offsets> and copy-on-write),
-and not be from a non-Newx memory allocator like C<malloc>.  The
+outside string.  C<ptr> should point to memory that was allocated
+by L<C<Newx>|perlclib/Memory Management and String Handling>.  It must be
+the start of a C<Newx>-ed block of memory, and not a pointer to the
+middle of it (beware of L<C<OOK>|perlguts/Offsets> and copy-on-write),
+and not be from a non-C<Newx> memory allocator like C<malloc>.  The
 string length, C<len>, must be supplied.  By default this function
 will C<Renew> (i.e. realloc, move) the memory pointed to by C<ptr>,
 so that pointer should not be freed or used by the programmer after
-giving it to sv_usepvn, and neither should any pointers from "behind"
+giving it to C<sv_usepvn>, and neither should any pointers from "behind"
 that pointer (e.g. ptr + 1) be used.
 
-If C<flags> & SV_SMAGIC is true, will call SvSETMAGIC.  If C<flags> &
-SV_HAS_TRAILING_NUL is true, then C<ptr[len]> must be C<NUL>, and the realloc
+If S<C<flags & SV_SMAGIC>> is true, will call C<SvSETMAGIC>.  If
+S<C<flags> & SV_HAS_TRAILING_NUL>> is true, then C<ptr[len]> must be C<NUL>,
+and the realloc
 will be skipped (i.e. the buffer is actually at least 1 byte longer than
 C<len>, and already meets the requirements for storing in C<SvPVX>).
 
@@ -5052,11 +5059,11 @@ Perl_sv_usepvn_flags(pTHX_ SV *const sv, char *ptr, const STRLEN len, const U32
 Undo various types of fakery on an SV, where fakery means
 "more than" a string: if the PV is a shared string, make
 a private copy; if we're a ref, stop refing; if we're a glob, downgrade to
-an xpvmg; if we're a copy-on-write scalar, this is the on-write time when
+an C<xpvmg>; if we're a copy-on-write scalar, this is the on-write time when
 we do the copy, and is also used locally; if this is a
 vstring, drop the vstring magic.  If C<SV_COW_DROP_PV> is set
 then a copy-on-write scalar drops its PV buffer (if any) and becomes
-SvPOK_off rather than making a copy.  (Used where this
+C<SvPOK_off> rather than making a copy.  (Used where this
 scalar is about to be set to some other value.)  In addition,
 the C<flags> parameter gets passed to C<sv_unref_flags()>
 when unreffing.  C<sv_force_normal> calls this function
@@ -5216,10 +5223,10 @@ Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags)
 =for apidoc sv_chop
 
 Efficient removal of characters from the beginning of the string buffer.
-SvPOK(sv), or at least SvPOKp(sv), must be true and the C<ptr> must be a
-pointer to somewhere inside the string buffer.  The C<ptr> becomes the first
-character of the adjusted string.  Uses the "OOK hack".  On return, only
-SvPOK(sv) and SvPOKp(sv) among the OK flags will be true.
+C<SvPOK(sv)>, or at least C<SvPOKp(sv)>, must be true and C<ptr> must be a
+pointer to somewhere inside the string buffer.  C<ptr> becomes the first
+character of the adjusted string.  Uses the C<OOK> hack.  On return, only
+C<SvPOK(sv)> and C<SvPOKp(sv)> among the C<OK> flags will be true.
 
 Beware: after this function returns, C<ptr> and SvPVX_const(sv) may no longer
 refer to the same chunk of data.
@@ -5319,10 +5326,10 @@ Perl_sv_chop(pTHX_ SV *const sv, const char *const ptr)
 /*
 =for apidoc sv_catpvn
 
-Concatenates the string onto the end of the string which is in the SV.  The
+Concatenates the string onto the end of the string which is in the SV.
 C<len> indicates number of bytes to copy.  If the SV has the UTF-8
 status set, then the bytes appended should be valid UTF-8.
-Handles 'get' magic, but not 'set' magic.  See C<sv_catpvn_mg>.
+Handles 'get' magic, but not 'set' magic.  See C<L</sv_catpvn_mg>>.
 
 =for apidoc sv_catpvn_flags
 
@@ -5394,15 +5401,15 @@ Perl_sv_catpvn_flags(pTHX_ SV *const dsv, const char *sstr, const STRLEN slen, c
 
 Concatenates the string from SV C<ssv> onto the end of the string in SV
 C<dsv>.  If C<ssv> is null, does nothing; otherwise modifies only C<dsv>.
-Handles 'get' magic on both SVs, but no 'set' magic.  See C<sv_catsv_mg> and
-C<sv_catsv_nomg>.
+Handles 'get' magic on both SVs, but no 'set' magic.  See C<L</sv_catsv_mg>>
+and C<L</sv_catsv_nomg>>.
 
 =for apidoc sv_catsv_flags
 
 Concatenates the string from SV C<ssv> onto the end of the string in SV
 C<dsv>.  If C<ssv> is null, does nothing; otherwise modifies only C<dsv>.
-If C<flags> include C<SV_GMAGIC> bit set, will call C<mg_get> on both SVs if
-appropriate.  If C<flags> include C<SV_SMAGIC>, C<mg_set> will be called on
+If C<flags> has the C<SV_GMAGIC> bit set, will call C<mg_get> on both SVs if
+appropriate.  If C<flags> has the C<SV_SMAGIC> bit set, C<mg_set> will be called on
 the modified SV afterward, if appropriate.  C<sv_catsv>, C<sv_catsv_nomg>,
 and C<sv_catsv_mg> are implemented in terms of this function.
 
@@ -5431,7 +5438,8 @@ Perl_sv_catsv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
 Concatenates the C<NUL>-terminated string onto the end of the string which is
 in the SV.
 If the SV has the UTF-8 status set, then the bytes appended should be
-valid UTF-8.  Handles 'get' magic, but not 'set' magic.  See C<sv_catpv_mg>.
+valid UTF-8.  Handles 'get' magic, but not 'set' magic.  See
+C<L</sv_catpv_mg>>.
 
 =cut */
 
@@ -5498,12 +5506,12 @@ Perl_sv_catpv_mg(pTHX_ SV *const sv, const char *const ptr)
 
 Creates a new SV.  A non-zero C<len> parameter indicates the number of
 bytes of preallocated string space the SV should have.  An extra byte for a
-trailing C<NUL> is also reserved.  (SvPOK is not set for the SV even if string
+trailing C<NUL> is also reserved.  (C<SvPOK> is not set for the SV even if string
 space is allocated.)  The reference count for the new SV is set to 1.
 
-In 5.9.3, newSV() replaces the older NEWSV() API, and drops the first
+In 5.9.3, C<newSV()> replaces the older C<NEWSV()> API, and drops the first
 parameter, I<x>, a debug aid which allowed callers to identify themselves.
-This aid has been superseded by a new build option, PERL_MEM_LOG (see
+This aid has been superseded by a new build option, C<PERL_MEM_LOG> (see
 L<perlhacktips/PERL_MEM_LOG>).  The older API is still there for use in XS
 modules supporting older perls.
 
@@ -5525,16 +5533,16 @@ Perl_newSV(pTHX_ const STRLEN len)
 =for apidoc sv_magicext
 
 Adds magic to an SV, upgrading it if necessary.  Applies the
-supplied vtable and returns a pointer to the magic added.
+supplied C<vtable> and returns a pointer to the magic added.
 
 Note that C<sv_magicext> will allow things that C<sv_magic> will not.
-In particular, you can add magic to SvREADONLY SVs, and add more than
-one instance of the same 'how'.
+In particular, you can add magic to C<SvREADONLY> SVs, and add more than
+one instance of the same C<how>.
 
 If C<namlen> is greater than zero then a C<savepvn> I<copy> of C<name> is
 stored, if C<namlen> is zero then C<name> is stored as-is and - as another
 special case - if C<(name && namlen == HEf_SVKEY)> then C<name> is assumed
-to contain an C<SV*> and is stored as-is with its REFCNT incremented.
+to contain an SV* and is stored as-is with its C<REFCNT> incremented.
 
 (This is now used as a subroutine by C<sv_magic>.)
 
@@ -5632,11 +5640,11 @@ Adds magic to an SV.  First upgrades C<sv> to type C<SVt_PVMG> if
 necessary, then adds a new magic item of type C<how> to the head of the
 magic list.
 
-See C<sv_magicext> (which C<sv_magic> now calls) for a description of the
+See C<L</sv_magicext>> (which C<sv_magic> now calls) for a description of the
 handling of the C<name> and C<namlen> arguments.
 
-You need to use C<sv_magicext> to add magic to SvREADONLY SVs and also
-to add more than one instance of the same 'how'.
+You need to use C<sv_magicext> to add magic to C<SvREADONLY> SVs and also
+to add more than one instance of the same C<how>.
 
 =cut
 */
@@ -5820,16 +5828,16 @@ Perl_sv_rvweaken(pTHX_ SV *const sv)
 /*
 =for apidoc sv_get_backrefs
 
-If the sv is the target of a weak reference then it returns the back
-references structure associated with the sv; otherwise return NULL.
+If C<sv> is the target of a weak reference then it returns the back
+references structure associated with the sv; otherwise return C<NULL>.
 
 When returning a non-null result the type of the return is relevant. If it
 is an AV then the elements of the AV are the weak reference RVs which
 point at this item. If it is any other type then the item itself is the
 weak reference.
 
-See also Perl_sv_add_backref(), Perl_sv_del_backref(),
-Perl_sv_kill_backrefs()
+See also C<Perl_sv_add_backref()>, C<Perl_sv_del_backref()>,
+C<Perl_sv_kill_backrefs()>
 
 =cut
 */
@@ -6154,7 +6162,7 @@ Perl_sv_kill_backrefs(pTHX_ SV *const sv, AV *const av)
 =for apidoc sv_insert
 
 Inserts a string at the specified offset/length within the SV.  Similar to
-the Perl substr() function.  Handles get magic.
+the Perl C<substr()> function.  Handles get magic.
 
 =for apidoc sv_insert_flags
 
@@ -6350,7 +6358,7 @@ Clear an SV: call any destructors, free up any memory used by the body,
 and free the body itself.  The SV's head is I<not> freed, although
 its type is set to all 1's so that it won't inadvertently be assumed
 to be live during global destruction etc.
-This function should only be called when REFCNT is zero.  Most of the time
+This function should only be called when C<REFCNT> is zero.  Most of the time
 you'll want to call C<sv_free()> (or its macro wrapper C<SvREFCNT_dec>)
 instead.
 
@@ -6830,7 +6838,7 @@ Perl_sv_newref(pTHX_ SV *const sv)
 
 Decrement an SV's reference count, and if it drops to zero, call
 C<sv_clear> to invoke destructors and free up any memory used by
-the body; finally, deallocate the SV's head itself.
+the body; finally, deallocating the SV's head itself.
 Normally called via a wrapper macro C<SvREFCNT_dec>.
 
 =cut
@@ -6922,8 +6930,8 @@ Perl_sv_free2(pTHX_ SV *const sv, const U32 rc)
 =for apidoc sv_len
 
 Returns the length of the string in the SV.  Handles magic and type
-coercion and sets the UTF8 flag appropriately.  See also C<SvCUR>, which
-gives raw access to the xpv_cur slot.
+coercion and sets the UTF8 flag appropriately.  See also C<L</SvCUR>>, which
+gives raw access to the C<xpv_cur> slot.
 
 =cut
 */
@@ -7189,8 +7197,8 @@ S_sv_pos_u2b_cached(pTHX_ SV *const sv, MAGIC **const mgp, const U8 *const start
 
 Converts the offset from a count of UTF-8 chars from
 the start of the string, to a count of the equivalent number of bytes; if
-lenp is non-zero, it does the same to lenp, but this time starting from
-the offset, rather than from the start
+C<lenp> is non-zero, it does the same to C<lenp>, but this time starting from
+C<offset>, rather than from the start
 of the string.  Handles type coercion.
 C<flags> is passed to C<SvPV_flags>, and usually should be
 C<SV_GMAGIC|SV_CONST_RETURN> to handle magic.
@@ -7244,9 +7252,9 @@ Perl_sv_pos_u2b_flags(pTHX_ SV *const sv, STRLEN uoffset, STRLEN *const lenp,
 /*
 =for apidoc sv_pos_u2b
 
-Converts the value pointed to by offsetp from a count of UTF-8 chars from
+Converts the value pointed to by C<offsetp> from a count of UTF-8 chars from
 the start of the string, to a count of the equivalent number of bytes; if
-lenp is non-zero, it does the same to lenp, but this time starting from
+C<lenp> is non-zero, it does the same to C<lenp>, but this time starting from
 the offset, rather than from the start of the string.  Handles magic and
 type coercion.
 
@@ -7467,7 +7475,7 @@ S_sv_pos_b2u_midway(pTHX_ const U8 *const s, const U8 *const target,
 /*
 =for apidoc sv_pos_b2u_flags
 
-Converts the offset from a count of bytes from the start of the string, to
+Converts C<offset> from a count of bytes from the start of the string, to
 a count of the equivalent number of UTF-8 chars.  Handles type coercion.
 C<flags> is passed to C<SvPV_flags>, and usually should be
 C<SV_GMAGIC|SV_CONST_RETURN> to handle magic.
@@ -7571,7 +7579,7 @@ Perl_sv_pos_b2u_flags(pTHX_ SV *const sv, STRLEN const offset, U32 flags)
 /*
 =for apidoc sv_pos_b2u
 
-Converts the value pointed to by offsetp from a count of bytes from the
+Converts the value pointed to by C<offsetp> from a count of bytes from the
 start of the string, to a count of the equivalent number of UTF-8 chars.
 Handles magic and type coercion.
 
@@ -7622,14 +7630,14 @@ S_assert_uft8_cache_coherent(pTHX_ const char *const func, STRLEN from_cache,
 =for apidoc sv_eq
 
 Returns a boolean indicating whether the strings in the two SVs are
-identical.  Is UTF-8 and 'use bytes' aware, handles get magic, and will
+identical.  Is UTF-8 and S<C<'use bytes'>> aware, handles get magic, and will
 coerce its args to strings if necessary.
 
 =for apidoc sv_eq_flags
 
 Returns a boolean indicating whether the strings in the two SVs are
-identical.  Is UTF-8 and 'use bytes' aware and coerces its args to strings
-if necessary.  If the flags include SV_GMAGIC, it handles get-magic, too.
+identical.  Is UTF-8 and S<C<'use bytes'>> aware and coerces its args to strings
+if necessary.  If the flags has the C<SV_GMAGIC> bit set, it handles get-magic, too.
 
 =cut
 */
@@ -7714,16 +7722,16 @@ Perl_sv_eq_flags(pTHX_ SV *sv1, SV *sv2, const U32 flags)
 
 Compares the strings in two SVs.  Returns -1, 0, or 1 indicating whether the
 string in C<sv1> is less than, equal to, or greater than the string in
-C<sv2>.  Is UTF-8 and 'use bytes' aware, handles get magic, and will
-coerce its args to strings if necessary.  See also C<sv_cmp_locale>.
+C<sv2>.  Is UTF-8 and S<C<'use bytes'>> aware, handles get magic, and will
+coerce its args to strings if necessary.  See also C<L</sv_cmp_locale>>.
 
 =for apidoc sv_cmp_flags
 
 Compares the strings in two SVs.  Returns -1, 0, or 1 indicating whether the
 string in C<sv1> is less than, equal to, or greater than the string in
-C<sv2>.  Is UTF-8 and 'use bytes' aware and will coerce its args to strings
-if necessary.  If the flags include SV_GMAGIC, it handles get magic.  See
-also C<sv_cmp_locale_flags>.
+C<sv2>.  Is UTF-8 and S<C<'use bytes'>> aware and will coerce its args to strings
+if necessary.  If the flags has the C<SV_GMAGIC> bit set, it handles get magic.  See
+also C<L</sv_cmp_locale_flags>>.
 
 =cut
 */
@@ -7786,20 +7794,167 @@ Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2,
        }
     }
 
+    /* Here, if both are non-NULL, then they have the same UTF8ness. */
+
     if (!cur1) {
        cmp = cur2 ? -1 : 0;
     } else if (!cur2) {
        cmp = 1;
     } else {
-        const I32 retval = memcmp((const void*)pv1, (const void*)pv2, cur1 < cur2 ? cur1 : cur2);
+        STRLEN shortest_len = cur1 < cur2 ? cur1 : cur2;
 
-       if (retval) {
-           cmp = retval < 0 ? -1 : 1;
-       } else if (cur1 == cur2) {
-           cmp = 0;
-        } else {
-           cmp = cur1 < cur2 ? -1 : 1;
-       }
+#ifdef EBCDIC
+        if (! DO_UTF8(sv1)) {
+#endif
+            const I32 retval = memcmp((const void*)pv1,
+                                      (const void*)pv2,
+                                      shortest_len);
+            if (retval) {
+                cmp = retval < 0 ? -1 : 1;
+            } else if (cur1 == cur2) {
+                cmp = 0;
+            } else {
+                cmp = cur1 < cur2 ? -1 : 1;
+            }
+#ifdef EBCDIC
+        }
+        else {  /* Both are to be treated as UTF-EBCDIC */
+
+            /* EBCDIC UTF-8 is complicated by the fact that it is based on I8
+             * which remaps code points 0-255.  We therefore generally have to
+             * unmap back to the original values to get an accurate comparison.
+             * But we don't have to do that for UTF-8 invariants, as by
+             * definition, they aren't remapped, nor do we have to do it for
+             * above-latin1 code points, as they also aren't remapped.  (This
+             * code also works on ASCII platforms, but the memcmp() above is
+             * much faster). */
+
+            const char *e = pv1 + shortest_len;
+
+            /* Find the first bytes that differ between the two strings */
+            while (pv1 < e && *pv1 == *pv2) {
+                pv1++;
+                pv2++;
+            }
+
+
+            if (pv1 == e) { /* Are the same all the way to the end */
+                if (cur1 == cur2) {
+                    cmp = 0;
+                } else {
+                    cmp = cur1 < cur2 ? -1 : 1;
+                }
+            }
+            else   /* Here *pv1 and *pv2 are not equal, but all bytes earlier
+                    * in the strings were.  The current bytes may or may not be
+                    * at the beginning of a character.  But neither or both are
+                    * (or else earlier bytes would have been different).  And
+                    * if we are in the middle of a character, the two
+                    * characters are comprised of the same number of bytes
+                    * (because in this case the start bytes are the same, and
+                    * the start bytes encode the character's length). */
+                 if (UTF8_IS_INVARIANT(*pv1))
+            {
+                /* If both are invariants; can just compare directly */
+                if (UTF8_IS_INVARIANT(*pv2)) {
+                    cmp = ((U8) *pv1 < (U8) *pv2) ? -1 : 1;
+                }
+                else   /* Since *pv1 is invariant, it is the whole character,
+                          which means it is at the beginning of a character.
+                          That means pv2 is also at the beginning of a
+                          character (see earlier comment).  Since it isn't
+                          invariant, it must be a start byte.  If it starts a
+                          character whose code point is above 255, that
+                          character is greater than any single-byte char, which
+                          *pv1 is */
+                      if (UTF8_IS_ABOVE_LATIN1_START(*pv2))
+                {
+                    cmp = -1;
+                }
+                else {
+                    /* Here, pv2 points to a character composed of 2 bytes
+                     * whose code point is < 256.  Get its code point and
+                     * compare with *pv1 */
+                    cmp = ((U8) *pv1 < EIGHT_BIT_UTF8_TO_NATIVE(*pv2, *(pv2 + 1)))
+                           ?  -1
+                           : 1;
+                }
+            }
+            else   /* The code point starting at pv1 isn't a single byte */
+                 if (UTF8_IS_INVARIANT(*pv2))
+            {
+                /* But here, the code point starting at *pv2 is a single byte,
+                 * and so *pv1 must begin a character, hence is a start byte.
+                 * If that character is above 255, it is larger than any
+                 * single-byte char, which *pv2 is */
+                if (UTF8_IS_ABOVE_LATIN1_START(*pv1)) {
+                    cmp = 1;
+                }
+                else {
+                    /* Here, pv1 points to a character composed of 2 bytes
+                     * whose code point is < 256.  Get its code point and
+                     * compare with the single byte character *pv2 */
+                    cmp = (EIGHT_BIT_UTF8_TO_NATIVE(*pv1, *(pv1 + 1)) < (U8) *pv2)
+                          ?  -1
+                          : 1;
+                }
+            }
+            else   /* Here, we've ruled out either *pv1 and *pv2 being
+                      invariant.  That means both are part of variants, but not
+                      necessarily at the start of a character */
+                 if (   UTF8_IS_ABOVE_LATIN1_START(*pv1)
+                     || UTF8_IS_ABOVE_LATIN1_START(*pv2))
+            {
+                /* Here, at least one is the start of a character, which means
+                 * the other is also a start byte.  And the code point of at
+                 * least one of the characters is above 255.  It is a
+                 * characteristic of UTF-EBCDIC that all start bytes for
+                 * above-latin1 code points are well behaved as far as code
+                 * point comparisons go, and all are larger than all other
+                 * start bytes, so the comparison with those is also well
+                 * behaved */
+                cmp = ((U8) *pv1 < (U8) *pv2) ? -1 : 1;
+            }
+            else {
+                /* Here both *pv1 and *pv2 are part of variant characters.
+                 * They could be both continuations, or both start characters.
+                 * (One or both could even be an illegal start character (for
+                 * an overlong) which for the purposes of sorting we treat as
+                 * legal. */
+                if (UTF8_IS_CONTINUATION(*pv1)) {
+
+                    /* If they are continuations for code points above 255,
+                     * then comparing the current byte is sufficient, as there
+                     * is no remapping of these and so the comparison is
+                     * well-behaved.   We determine if they are such
+                     * continuations by looking at the preceding byte.  It
+                     * could be a start byte, from which we can tell if it is
+                     * for an above 255 code point.  Or it could be a
+                     * continuation, which means the character occupies at
+                     * least 3 bytes, so must be above 255.  */
+                    if (   UTF8_IS_CONTINUATION(*(pv2 - 1))
+                        || UTF8_IS_ABOVE_LATIN1_START(*(pv2 -1)))
+                    {
+                        cmp = ((U8) *pv1 < (U8) *pv2) ? -1 : 1;
+                        goto cmp_done;
+                    }
+
+                    /* Here, the continuations are for code points below 256;
+                     * back up one to get to the start byte */
+                    pv1--;
+                    pv2--;
+                }
+
+                /* We need to get the actual native code point of each of these
+                 * variants in order to compare them */
+                cmp =  (  EIGHT_BIT_UTF8_TO_NATIVE(*pv1, *(pv1 + 1))
+                        < EIGHT_BIT_UTF8_TO_NATIVE(*pv2, *(pv2 + 1)))
+                        ? -1
+                        : 1;
+            }
+        }
+      cmp_done: ;
+#endif
     }
 
     SvREFCNT_dec(svrecode);
@@ -7811,14 +7966,15 @@ Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2,
 =for apidoc sv_cmp_locale
 
 Compares the strings in two SVs in a locale-aware manner.  Is UTF-8 and
-'use bytes' aware, handles get magic, and will coerce its args to strings
-if necessary.  See also C<sv_cmp>.
+S<C<'use bytes'>> aware, handles get magic, and will coerce its args to strings
+if necessary.  See also C<L</sv_cmp>>.
 
 =for apidoc sv_cmp_locale_flags
 
 Compares the strings in two SVs in a locale-aware manner.  Is UTF-8 and
-'use bytes' aware and will coerce its args to strings if necessary.  If the
-flags contain SV_GMAGIC, it handles get magic.  See also C<sv_cmp_flags>.
+S<C<'use bytes'>> aware and will coerce its args to strings if necessary.  If
+the flags contain C<SV_GMAGIC>, it handles get magic.  See also
+C<L</sv_cmp_flags>>.
 
 =cut
 */
@@ -7887,14 +8043,14 @@ Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2,
 =for apidoc sv_collxfrm
 
 This calls C<sv_collxfrm_flags> with the SV_GMAGIC flag.  See
-C<sv_collxfrm_flags>.
+C<L</sv_collxfrm_flags>>.
 
 =for apidoc sv_collxfrm_flags
 
 Add Collate Transform magic to an SV if it doesn't already have it.  If the
-flags contain SV_GMAGIC, it handles get-magic.
+flags contain C<SV_GMAGIC>, it handles get-magic.
 
-Any scalar variable may carry PERL_MAGIC_collxfrm magic that contains the
+Any scalar variable may carry C<PERL_MAGIC_collxfrm> magic that contains the
 scalar data of the variable, but transformed to such a format that a normal
 memory comparison can be used to compare the data according to the locale
 settings.
@@ -8848,8 +9004,8 @@ Perl_sv_dec_nomg(pTHX_ SV *const sv)
 
 Creates a new SV which is a copy of the original SV (using C<sv_setsv>).
 The new SV is marked as mortal.  It will be destroyed "soon", either by an
-explicit call to FREETMPS, or by an implicit call at places such as
-statement boundaries.  See also C<sv_newmortal> and C<sv_2mortal>.
+explicit call to C<FREETMPS>, or by an implicit call at places such as
+statement boundaries.  See also C<L</sv_newmortal>> and C<L</sv_2mortal>>.
 
 =cut
 */
@@ -8878,8 +9034,8 @@ Perl_sv_mortalcopy_flags(pTHX_ SV *const oldstr, U32 flags)
 
 Creates a new null SV which is mortal.  The reference count of the SV is
 set to 1.  It will be destroyed "soon", either by an explicit call to
-FREETMPS, or by an implicit call at places such as statement boundaries.
-See also C<sv_mortalcopy> and C<sv_2mortal>.
+C<FREETMPS>, or by an implicit call at places such as statement boundaries.
+See also C<L</sv_mortalcopy>> and C<L</sv_2mortal>>.
 
 =cut
 */
@@ -8949,10 +9105,10 @@ Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags
 =for apidoc sv_2mortal
 
 Marks an existing SV as mortal.  The SV will be destroyed "soon", either
-by an explicit call to FREETMPS, or by an implicit call at places such as
-statement boundaries.  SvTEMP() is turned on which means that the SV's
-string buffer can be "stolen" if this SV is copied.  See also C<sv_newmortal>
-and C<sv_mortalcopy>.
+by an explicit call to C<FREETMPS>, or by an implicit call at places such as
+statement boundaries.  C<SvTEMP()> is turned on which means that the SV's
+string buffer can be "stolen" if this SV is copied.  See also
+C<L</sv_newmortal>> and C<L</sv_mortalcopy>>.
 
 =cut
 */
@@ -8976,7 +9132,7 @@ Perl_sv_2mortal(pTHX_ SV *const sv)
 Creates a new SV and copies a string (which may contain C<NUL> (C<\0>)
 characters) into it.  The reference count for the
 SV is set to 1.  If C<len> is zero, Perl will compute the length using
-strlen(), (which means if you use this option, that C<s> can't have embedded
+C<strlen()>, (which means if you use this option, that C<s> can't have embedded
 C<NUL> characters and has to have a terminating C<NUL> byte).
 
 For efficiency, consider using C<newSVpvn> instead.
@@ -9021,7 +9177,7 @@ Perl_newSVpvn(pTHX_ const char *const buffer, const STRLEN len)
 
 Creates a new SV from the hash key structure.  It will generate scalars that
 point to the shared string table where possible.  Returns a new (undefined)
-SV if the hek is NULL.
+SV if C<hek> is NULL.
 
 =cut
 */
@@ -9084,15 +9240,15 @@ Perl_newSVhek(pTHX_ const HEK *const hek)
 /*
 =for apidoc newSVpvn_share
 
-Creates a new SV with its SvPVX_const pointing to a shared string in the string
+Creates a new SV with its C<SvPVX_const> pointing to a shared string in the string
 table.  If the string does not already exist in the table, it is
-created first.  Turns on the SvIsCOW flag (or READONLY
-and FAKE in 5.16 and earlier).  If the C<hash> parameter
+created first.  Turns on the C<SvIsCOW> flag (or C<READONLY>
+and C<FAKE> in 5.16 and earlier).  If the C<hash> parameter
 is non-zero, that value is used; otherwise the hash is computed.
 The string's hash can later be retrieved from the SV
 with the C<SvSHARED_HASH()> macro.  The idea here is
 that as the string table is used for shared hash keys these strings will have
-SvPVX_const == HeKEY and hash lookup will avoid string compare.
+C<SvPVX_const == HeKEY> and hash lookup will avoid string compare.
 
 =cut
 */
@@ -9491,8 +9647,8 @@ Using various gambits, try to get an IO from an SV: the IO slot if its a
 GV; or the recursive result if we're an RV; or the IO slot of the symbol
 named after the PV if we're a string.
 
-'Get' magic is ignored on the sv passed in, but will be called on
-C<SvRV(sv)> if sv is an RV.
+'Get' magic is ignored on the C<sv> passed in, but will be called on
+C<SvRV(sv)> if C<sv> is an RV.
 
 =cut
 */
@@ -9550,7 +9706,7 @@ Perl_sv_2io(pTHX_ SV *const sv)
 
 Using various gambits, try to get a CV from an SV; in addition, try if
 possible to set C<*st> and C<*gvp> to the stash and GV associated with it.
-The flags in C<lref> are passed to gv_fetchsv.
+The flags in C<lref> are passed to C<gv_fetchsv>.
 
 =cut
 */
@@ -9669,11 +9825,11 @@ can't cope with complex macro expressions.  Always use the macro instead.
 =for apidoc sv_pvn_force_flags
 
 Get a sensible string out of the SV somehow.
-If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<sv> if
+If C<flags> has the C<SV_GMAGIC> bit set, will C<mg_get> on C<sv> if
 appropriate, else not.  C<sv_pvn_force> and C<sv_pvn_force_nomg> are
 implemented in terms of this function.
 You normally want to use the various wrapper macros instead: see
-C<SvPV_force> and C<SvPV_force_nomg>
+C<L</SvPV_force>> and C<L</SvPV_force_nomg>>.
 
 =cut
 */
@@ -9975,7 +10131,7 @@ Perl_newSVavdefelem(pTHX_ AV *av, SSize_t ix, bool extendible)
 
 Copies a pointer into a new SV, optionally blessing the SV.  The C<rv>
 argument will be upgraded to an RV.  That RV will be modified to point to
-the new SV.  If the C<pv> argument is NULL then C<PL_sv_undef> will be placed
+the new SV.  If the C<pv> argument is C<NULL>, then C<PL_sv_undef> will be placed
 into the SV.  The C<classname> argument indicates the package for the
 blessing.  Set C<classname> to C<NULL> to avoid the blessing.  The new SV
 will have a reference count of 1, and the RV will be returned.
@@ -10094,7 +10250,7 @@ Perl_sv_setref_pvn(pTHX_ SV *const rv, const char *const classname,
 =for apidoc sv_bless
 
 Blesses an SV into a specified package.  The SV must be an RV.  The package
-must be designated by its stash (see C<gv_stashpv()>).  The reference count
+must be designated by its stash (see C<L</gv_stashpv>>).  The reference count
 of the SV is unaffected.
 
 =cut
@@ -10199,7 +10355,7 @@ as a reversal of C<newSVrv>.  The C<cflags> argument can contain
 C<SV_IMMEDIATE_UNREF> to force the reference count to be decremented
 (otherwise the decrementing is conditional on the reference count being
 different from one or the reference being a readonly SV).
-See C<SvROK_off>.
+See C<L</SvROK_off>>.
 
 =cut
 */
@@ -10274,7 +10430,7 @@ Perl_sv_tainted(pTHX_ SV *const sv)
 =for apidoc sv_setpviv
 
 Copies an integer into the given SV, also updating its string value.
-Does not handle 'set' magic.  See C<sv_setpviv_mg>.
+Does not handle 'set' magic.  See C<L</sv_setpviv_mg>>.
 
 =cut
 */
@@ -10351,7 +10507,7 @@ Perl_sv_setpvf_mg_nocontext(SV *const sv, const char *const pat, ...)
 =for apidoc sv_setpvf
 
 Works like C<sv_catpvf> but copies the text into the SV instead of
-appending it.  Does not handle 'set' magic.  See C<sv_setpvf_mg>.
+appending it.  Does not handle 'set' magic.  See C<L</sv_setpvf_mg>>.
 
 =cut
 */
@@ -10372,7 +10528,7 @@ Perl_sv_setpvf(pTHX_ SV *const sv, const char *const pat, ...)
 =for apidoc sv_vsetpvf
 
 Works like C<sv_vcatpvf> but copies the text into the SV instead of
-appending it.  Does not handle 'set' magic.  See C<sv_vsetpvf_mg>.
+appending it.  Does not handle 'set' magic.  See C<L</sv_vsetpvf_mg>>.
 
 Usually used via its frontend C<sv_setpvf>.
 
@@ -10473,10 +10629,10 @@ Processes its arguments like C<sv_catpvfn>, and appends the formatted
 output to an SV.  As with C<sv_catpvfn> called with a non-null C-style
 variable argument list, argument reordering is not supported.
 If the appended data contains "wide" characters
-(including, but not limited to, SVs with a UTF-8 PV formatted with %s,
-and characters >255 formatted with %c), the original SV might get
+(including, but not limited to, SVs with a UTF-8 PV formatted with C<%s>,
+and characters >255 formatted with C<%c>), the original SV might get
 upgraded to UTF-8.  Handles 'get' magic, but not 'set' magic.  See
-C<sv_catpvf_mg>.  If the original SV was UTF-8, the pattern should be
+C<L</sv_catpvf_mg>>.  If the original SV was UTF-8, the pattern should be
 valid UTF-8; if the original SV was bytes, the pattern should be too.
 
 =cut */
@@ -10498,7 +10654,7 @@ Perl_sv_catpvf(pTHX_ SV *const sv, const char *const pat, ...)
 
 Processes its arguments like C<sv_catpvfn> called with a non-null C-style
 variable argument list, and appends the formatted
-to an SV.  Does not handle 'set' magic.  See C<sv_vcatpvf_mg>.
+to an SV.  Does not handle 'set' magic.  See C<L</sv_vcatpvf_mg>>.
 
 Usually used via its frontend C<sv_catpvf>.
 
@@ -10652,7 +10808,7 @@ S_F0convert(NV nv, char *const endbuf, STRLEN *const len)
 
 Processes its arguments like C<vsprintf> and appends the formatted output
 to an SV.  Uses an array of SVs if the C-style variable argument list is
-missing (NULL). Argument reordering (using format specifiers like C<%2$d>
+missing (C<NULL>). Argument reordering (using format specifiers like C<%2$d>
 or C<%*2$d>) is supported only when using an array of SVs; using a C-style
 C<va_list> argument list with a format string that uses argument reordering
 will yield an exception.
@@ -10661,7 +10817,7 @@ When running with taint checks enabled, indicates via
 C<maybe_tainted> if results are untrustworthy (often due to the use of
 locales).
 
-If called as C<sv_vcatpvfn> or flags include C<SV_GMAGIC>, calls get magic.
+If called as C<sv_vcatpvfn> or flags has the C<SV_GMAGIC> bit set, calls get magic.
 
 Usually used via one of its frontends C<sv_vcatpvf> and C<sv_vcatpvf_mg>.
 
@@ -12775,7 +12931,11 @@ Perl_fp_dup(pTHX_ PerlIO *const fp, const char type, CLONE_PARAMS *const param)
        return ret;
 
     /* create anew and remember what it is */
+#ifdef __amigaos4__
+    ret = PerlIO_fdupopen(aTHX_ fp, param, PERLIO_DUP_CLONE|PERLIO_DUP_FD);
+#else
     ret = PerlIO_fdupopen(aTHX_ fp, param, PERLIO_DUP_CLONE);
+#endif
     ptr_table_store(PL_ptr_table, fp, ret);
     return ret;
 }
@@ -14201,28 +14361,28 @@ do_mark_cloneable_stash(pTHX_ SV *const sv)
 
 Create and return a new interpreter by cloning the current one.
 
-perl_clone takes these flags as parameters:
+C<perl_clone> takes these flags as parameters:
 
-CLONEf_COPY_STACKS - is used to, well, copy the stacks also,
+C<CLONEf_COPY_STACKS> - is used to, well, copy the stacks also,
 without it we only clone the data and zero the stacks,
 with it we copy the stacks and the new perl interpreter is
 ready to run at the exact same point as the previous one.
-The pseudo-fork code uses COPY_STACKS while the
+The pseudo-fork code uses C<COPY_STACKS> while the
 threads->create doesn't.
 
-CLONEf_KEEP_PTR_TABLE -
-perl_clone keeps a ptr_table with the pointer of the old
+C<CLONEf_KEEP_PTR_TABLE> -
+C<perl_clone> keeps a ptr_table with the pointer of the old
 variable as a key and the new variable as a value,
 this allows it to check if something has been cloned and not
 clone it again but rather just use the value and increase the
-refcount.  If KEEP_PTR_TABLE is not set then perl_clone will kill
+refcount.  If C<KEEP_PTR_TABLE> is not set then C<perl_clone> will kill
 the ptr_table using the function
 C<ptr_table_free(PL_ptr_table); PL_ptr_table = NULL;>,
 reason to keep it around is if you want to dup some of your own
-variable who are outside the graph perl scans, example of this
+variable who are outside the graph perl scans, an example of this
 code is in F<threads.xs> create.
 
-CLONEf_CLONE_HOST -
+C<CLONEf_CLONE_HOST> -
 This is a win32 thing, it is ignored on unix, it tells perls
 win32host code (which is c++) to clone itself, this is needed on
 win32 if you want to run two threads at the same time,
@@ -14248,9 +14408,11 @@ perl_clone(PerlInterpreter *proto_perl, UV flags)
    /* perlhost.h so we need to call into it
    to clone the host, CPerlHost should have a c interface, sky */
 
+#ifndef __amigaos4__
    if (flags & CLONEf_CLONE_HOST) {
        return perl_clone_host(proto_perl,flags);
    }
+#endif
    return perl_clone_using(proto_perl, flags,
                            proto_perl->IMem,
                            proto_perl->IMemShared,
@@ -15123,16 +15285,16 @@ Perl_init_constants(pTHX)
 
 =for apidoc sv_recode_to_utf8
 
-The encoding is assumed to be an Encode object, on entry the PV
-of the sv is assumed to be octets in that encoding, and the sv
+C<encoding> is assumed to be an C<Encode> object, on entry the PV
+of C<sv> is assumed to be octets in that encoding, and C<sv>
 will be converted into Unicode (and UTF-8).
 
-If the sv already is UTF-8 (or if it is not POK), or if the encoding
-is not a reference, nothing is done to the sv.  If the encoding is not
+If C<sv> already is UTF-8 (or if it is not C<POK>), or if C<encoding>
+is not a reference, nothing is done to C<sv>.  If C<encoding> is not
 an C<Encode::XS> Encoding object, bad things will happen.
 (See F<lib/encoding.pm> and L<Encode>.)
 
-The PV of the sv is returned.
+The PV of C<sv> is returned.
 
 =cut */
 
@@ -15200,13 +15362,13 @@ Perl_sv_recode_to_utf8(pTHX_ SV *sv, SV *encoding)
 /*
 =for apidoc sv_cat_decode
 
-The encoding is assumed to be an Encode object, the PV of the ssv is
+C<encoding> is assumed to be an C<Encode> object, the PV of C<ssv> is
 assumed to be octets in that encoding and decoding the input starts
-from the position which (PV + *offset) pointed to.  The dsv will be
-concatenated the decoded UTF-8 string from ssv.  Decoding will terminate
-when the string tstr appears in decoding output or the input ends on
-the PV of the ssv.  The value which the offset points will be modified
-to the last input position on the ssv.
+from the position which S<C<(PV + *offset)>> pointed to.  C<dsv> will be
+concatenated with the decoded UTF-8 string from C<ssv>.  Decoding will terminate
+when the string C<tstr> appears in decoding output or the input ends on
+the PV of C<ssv>.  The value which C<offset> points will be modified
+to the last input position on C<ssv>.
 
 Returns TRUE if the terminator was found, else returns FALSE.
 
@@ -15392,19 +15554,19 @@ Perl_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ,
 
 Find the name of the undefined variable (if any) that caused the operator
 to issue a "Use of uninitialized value" warning.
-If match is true, only return a name if its value matches uninit_sv.
-So roughly speaking, if a unary operator (such as OP_COS) generates a
+If match is true, only return a name if its value matches C<uninit_sv>.
+So roughly speaking, if a unary operator (such as C<OP_COS>) generates a
 warning, then following the direct child of the op may yield an
-OP_PADSV or OP_GV that gives the name of the undefined variable.  On the
-other hand, with OP_ADD there are two branches to follow, so we only print
+C<OP_PADSV> or C<OP_GV> that gives the name of the undefined variable.  On the
+other hand, with C<OP_ADD> there are two branches to follow, so we only print
 the variable name if we get an exact match.
-desc_p points to a string pointer holding the description of the op.
+C<desc_p> points to a string pointer holding the description of the op.
 This may be updated if needed.
 
 The name is returned as a mortal SV.
 
-Assumes that PL_op is the op that originally triggered the error, and that
-PL_comppad/PL_curpad points to the currently executing pad.
+Assumes that C<PL_op> is the OP that originally triggered the error, and that
+C<PL_comppad>/C<PL_curpad> points to the currently executing pad.
 
 =cut
 */
diff --git a/sv.h b/sv.h
index bc5daa9..331b823 100644 (file)
--- a/sv.h
+++ b/sv.h
@@ -41,8 +41,8 @@ The types are:
 
 These are most easily explained from the bottom up.
 
-SVt_PVIO is for I/O objects, SVt_PVFM for formats, SVt_PVCV for
-subroutines, SVt_PVHV for hashes and SVt_PVAV for arrays.
+C<SVt_PVIO> is for I/O objects, C<SVt_PVFM> for formats, C<SVt_PVCV> for
+subroutines, C<SVt_PVHV> for hashes and C<SVt_PVAV> for arrays.
 
 All the others are scalar types, that is, things that can be bound to a
 C<$> variable.  For these, the internal types are mostly orthogonal to
@@ -51,25 +51,25 @@ types in the Perl language.
 Hence, checking C<< SvTYPE(sv) < SVt_PVAV >> is the best way to see whether
 something is a scalar.
 
-SVt_PVGV represents a typeglob.  If !SvFAKE(sv), then it is a real,
-incoercible typeglob.  If SvFAKE(sv), then it is a scalar to which a
+C<SVt_PVGV> represents a typeglob.  If C<!SvFAKE(sv)>, then it is a real,
+incoercible typeglob.  If C<SvFAKE(sv)>, then it is a scalar to which a
 typeglob has been assigned.  Assigning to it again will stop it from being
-a typeglob.  SVt_PVLV represents a scalar that delegates to another scalar
+a typeglob.  C<SVt_PVLV> represents a scalar that delegates to another scalar
 behind the scenes.  It is used, e.g., for the return value of C<substr> and
 for tied hash and array elements.  It can hold any scalar value, including
-a typeglob.  SVt_REGEXP is for regular
-expressions.  SVt_INVLIST is for Perl
+a typeglob.  C<SVt_REGEXP> is for regular
+expressions.  C<SVt_INVLIST> is for Perl
 core internal use only.
 
-SVt_PVMG represents a "normal" scalar (not a typeglob, regular expression,
+C<SVt_PVMG> represents a "normal" scalar (not a typeglob, regular expression,
 or delegate).  Since most scalars do not need all the internal fields of a
 PVMG, we save memory by allocating smaller structs when possible.  All the
-other types are just simpler forms of SVt_PVMG, with fewer internal fields.
- SVt_NULL can only hold undef.  SVt_IV can hold undef, an integer, or a
-reference.  (SVt_RV is an alias for SVt_IV, which exists for backward
-compatibility.)  SVt_NV can hold any of those or a double.  SVt_PV can only
-hold undef or a string.  SVt_PVIV is a superset of SVt_PV and SVt_IV.
-SVt_PVNV is similar.  SVt_PVMG can hold anything SVt_PVNV can hold, but it
+other types are just simpler forms of C<SVt_PVMG>, with fewer internal fields.
+C<SVt_NULL> can only hold undef.  C<SVt_IV> can hold undef, an integer, or a
+reference.  (C<SVt_RV> is an alias for C<SVt_IV>, which exists for backward
+compatibility.)  C<SVt_NV> can hold any of those or a double.  C<SVt_PV> can only
+hold C<undef> or a string.  C<SVt_PVIV> is a superset of C<SVt_PV> and C<SVt_IV>.
+C<SVt_PVNV> is similar.  C<SVt_PVMG> can hold anything C<SVt_PVNV> can hold, but it
 can, but does not have to, be blessed or magical.
 
 =for apidoc AmU||SVt_NULL
@@ -274,57 +274,57 @@ Returns the value of the object's reference count.
 =for apidoc Am|SV*|SvREFCNT_inc|SV* sv
 Increments the reference count of the given SV, returning the SV.
 
-All of the following SvREFCNT_inc* macros are optimized versions of
-SvREFCNT_inc, and can be replaced with SvREFCNT_inc.
+All of the following C<SvREFCNT_inc>* macros are optimized versions of
+C<SvREFCNT_inc>, and can be replaced with C<SvREFCNT_inc>.
 
 =for apidoc Am|SV*|SvREFCNT_inc_NN|SV* sv
-Same as SvREFCNT_inc, but can only be used if you know C<sv>
-is not NULL.  Since we don't have to check the NULLness, it's faster
+Same as C<SvREFCNT_inc>, but can only be used if you know C<sv>
+is not C<NULL>.  Since we don't have to check the NULLness, it's faster
 and smaller.
 
 =for apidoc Am|void|SvREFCNT_inc_void|SV* sv
-Same as SvREFCNT_inc, but can only be used if you don't need the
+Same as C<SvREFCNT_inc>, but can only be used if you don't need the
 return value.  The macro doesn't need to return a meaningful value.
 
 =for apidoc Am|void|SvREFCNT_inc_void_NN|SV* sv
-Same as SvREFCNT_inc, but can only be used if you don't need the return
-value, and you know that C<sv> is not NULL.  The macro doesn't need
+Same as C<SvREFCNT_inc>, but can only be used if you don't need the return
+value, and you know that C<sv> is not C<NULL>.  The macro doesn't need
 to return a meaningful value, or check for NULLness, so it's smaller
 and faster.
 
 =for apidoc Am|SV*|SvREFCNT_inc_simple|SV* sv
-Same as SvREFCNT_inc, but can only be used with expressions without side
+Same as C<SvREFCNT_inc>, but can only be used with expressions without side
 effects.  Since we don't have to store a temporary value, it's faster.
 
 =for apidoc Am|SV*|SvREFCNT_inc_simple_NN|SV* sv
-Same as SvREFCNT_inc_simple, but can only be used if you know C<sv>
-is not NULL.  Since we don't have to check the NULLness, it's faster
+Same as C<SvREFCNT_inc_simple>, but can only be used if you know C<sv>
+is not C<NULL>.  Since we don't have to check the NULLness, it's faster
 and smaller.
 
 =for apidoc Am|void|SvREFCNT_inc_simple_void|SV* sv
-Same as SvREFCNT_inc_simple, but can only be used if you don't need the
+Same as C<SvREFCNT_inc_simple>, but can only be used if you don't need the
 return value.  The macro doesn't need to return a meaningful value.
 
 =for apidoc Am|void|SvREFCNT_inc_simple_void_NN|SV* sv
-Same as SvREFCNT_inc, but can only be used if you don't need the return
-value, and you know that C<sv> is not NULL.  The macro doesn't need
+Same as C<SvREFCNT_inc>, but can only be used if you don't need the return
+value, and you know that C<sv> is not C<NULL>.  The macro doesn't need
 to return a meaningful value, or check for NULLness, so it's smaller
 and faster.
 
 =for apidoc Am|void|SvREFCNT_dec|SV* sv
-Decrements the reference count of the given SV.  C<sv> may be NULL.
+Decrements the reference count of the given SV.  C<sv> may be C<NULL>.
 
 =for apidoc Am|void|SvREFCNT_dec_NN|SV* sv
-Same as SvREFCNT_dec, but can only be used if you know C<sv>
-is not NULL.  Since we don't have to check the NULLness, it's faster
+Same as C<SvREFCNT_dec>, but can only be used if you know C<sv>
+is not C<NULL>.  Since we don't have to check the NULLness, it's faster
 and smaller.
 
 =for apidoc Am|svtype|SvTYPE|SV* sv
-Returns the type of the SV.  See C<svtype>.
+Returns the type of the SV.  See C<L</svtype>>.
 
 =for apidoc Am|void|SvUPGRADE|SV* sv|svtype type
 Used to upgrade an SV to a more complex form.  Uses C<sv_upgrade> to
-perform the upgrade if necessary.  See C<svtype>.
+perform the upgrade if necessary.  See C<L</svtype>>.
 
 =cut
 */
@@ -691,20 +691,20 @@ Tells an SV that it is an integer.
 Unsets the IV status of an SV.
 
 =for apidoc Am|void|SvIOK_only|SV* sv
-Tells an SV that it is an integer and disables all other OK bits.
+Tells an SV that it is an integer and disables all other C<OK> bits.
 
 =for apidoc Am|void|SvIOK_only_UV|SV* sv
-Tells an SV that it is an unsigned integer and disables all other OK bits.
+Tells an SV that it is an unsigned integer and disables all other C<OK> bits.
 
 =for apidoc Am|bool|SvIOK_UV|SV* sv
 Returns a boolean indicating whether the SV contains an integer that must be
 interpreted as unsigned.  A non-negative integer whose value is within the
-range of both an IV and a UV may be be flagged as either SvUOK or SVIOK.
+range of both an IV and a UV may be be flagged as either C<SvUOK> or C<SVIOK>.
 
 =for apidoc Am|bool|SvUOK|SV* sv
 Returns a boolean indicating whether the SV contains an integer that must be
 interpreted as unsigned.  A non-negative integer whose value is within the
-range of both an IV and a UV may be be flagged as either SvUOK or SVIOK.
+range of both an IV and a UV may be be flagged as either C<SvUOK> or C<SVIOK>.
 
 =for apidoc Am|bool|SvIOK_notUV|SV* sv
 Returns a boolean indicating whether the SV contains a signed integer.
@@ -732,7 +732,7 @@ Tells an SV that it is a string.
 Unsets the PV status of an SV.
 
 =for apidoc Am|void|SvPOK_only|SV* sv
-Tells an SV that it is a string and disables all other OK bits.
+Tells an SV that it is a string and disables all other C<OK> bits.
 Will also turn off the UTF-8 status.
 
 =for apidoc Am|bool|SvVOK|SV* sv
@@ -741,9 +741,9 @@ Returns a boolean indicating whether the SV contains a v-string.
 =for apidoc Am|U32|SvOOK|SV* sv
 Returns a U32 indicating whether the pointer to the string buffer is offset.
 This hack is used internally to speed up removal of characters from the
-beginning of a SvPV.  When SvOOK is true, then the start of the
-allocated string buffer is actually C<SvOOK_offset()> bytes before SvPVX.
-This offset used to be stored in SvIVX, but is now stored within the spare
+beginning of a C<SvPV>.  When C<SvOOK> is true, then the start of the
+allocated string buffer is actually C<SvOOK_offset()> bytes before C<SvPVX>.
+This offset used to be stored in C<SvIVX>, but is now stored within the spare
 part of the buffer.
 
 =for apidoc Am|U32|SvROK|SV* sv
@@ -760,37 +760,37 @@ Dereferences an RV to return the SV.
 
 =for apidoc Am|IV|SvIVX|SV* sv
 Returns the raw value in the SV's IV slot, without checks or conversions.
-Only use when you are sure SvIOK is true.  See also C<SvIV()>.
+Only use when you are sure C<SvIOK> is true.  See also C<L</SvIV>>.
 
 =for apidoc Am|UV|SvUVX|SV* sv
 Returns the raw value in the SV's UV slot, without checks or conversions.
-Only use when you are sure SvIOK is true.  See also C<SvUV()>.
+Only use when you are sure C<SvIOK> is true.  See also C<L</SvUV>>.
 
 =for apidoc Am|NV|SvNVX|SV* sv
 Returns the raw value in the SV's NV slot, without checks or conversions.
-Only use when you are sure SvNOK is true.  See also C<SvNV()>.
+Only use when you are sure C<SvNOK> is true.  See also C<L</SvNV>>.
 
 =for apidoc Am|char*|SvPVX|SV* sv
 Returns a pointer to the physical string in the SV.  The SV must contain a
 string.  Prior to 5.9.3 it is not safe
 to execute this macro unless the SV's
-type >= SVt_PV.
+type >= C<SVt_PV>.
 
 This is also used to store the name of an autoloaded subroutine in an XS
 AUTOLOAD routine.  See L<perlguts/Autoloading with XSUBs>.
 
 =for apidoc Am|STRLEN|SvCUR|SV* sv
-Returns the length of the string which is in the SV.  See C<SvLEN>.
+Returns the length of the string which is in the SV.  See C<L</SvLEN>>.
 
 =for apidoc Am|STRLEN|SvLEN|SV* sv
 Returns the size of the string buffer in the SV, not including any part
-attributable to C<SvOOK>.  See C<SvCUR>.
+attributable to C<SvOOK>.  See C<L</SvCUR>>.
 
 =for apidoc Am|char*|SvEND|SV* sv
 Returns a pointer to the spot just after the last character in
 the string which is in the SV, where there is usually a trailing
 C<NUL> character (even though Perl scalars do not strictly require it).
-See C<SvCUR>.  Access the character as *(SvEND(sv)).
+See C<L</SvCUR>>.  Access the character as C<*(SvEND(sv))>.
 
 Warning: If C<SvCUR> is equal to C<SvLEN>, then C<SvEND> points to
 unallocated memory.
@@ -805,40 +805,40 @@ With future Perls, however, it will be more efficient to use
 C<SvIV_set> instead of the lvalue assignment to C<SvIVX>.
 
 =for apidoc Am|void|SvNV_set|SV* sv|NV val
-Set the value of the NV pointer in sv to val.  See C<SvIV_set>.
+Set the value of the NV pointer in C<sv> to val.  See C<L</SvIV_set>>.
 
 =for apidoc Am|void|SvPV_set|SV* sv|char* val
 This is probably not what you want to use, you probably wanted
 L</sv_usepvn_flags> or L</sv_setpvn> or L</sv_setpvs>.
 
 Set the value of the PV pointer in C<sv> to the Perl allocated
-C<NUL>-terminated string C<val>.  See also C<SvIV_set>.
+C<NUL>-terminated string C<val>.  See also C<L</SvIV_set>>.
 
 Remember to free the previous PV buffer. There are many things to check.
 Beware that the existing pointer may be involved in copy-on-write or other
 mischief, so do C<SvOOK_off(sv)> and use C<sv_force_normal> or
-C<SvPV_force> (or check the SvIsCOW flag) first to make sure this
+C<SvPV_force> (or check the C<SvIsCOW> flag) first to make sure this
 modification is safe. Then finally, if it is not a COW, call C<SvPV_free> to
 free the previous PV buffer.
 
 =for apidoc Am|void|SvUV_set|SV* sv|UV val
-Set the value of the UV pointer in sv to val.  See C<SvIV_set>.
+Set the value of the UV pointer in C<sv> to val.  See C<L</SvIV_set>>.
 
 =for apidoc Am|void|SvRV_set|SV* sv|SV* val
-Set the value of the RV pointer in sv to val.  See C<SvIV_set>.
+Set the value of the RV pointer in C<sv> to val.  See C<L</SvIV_set>>.
 
 =for apidoc Am|void|SvMAGIC_set|SV* sv|MAGIC* val
-Set the value of the MAGIC pointer in sv to val.  See C<SvIV_set>.
+Set the value of the MAGIC pointer in C<sv> to val.  See C<L</SvIV_set>>.
 
 =for apidoc Am|void|SvSTASH_set|SV* sv|HV* val
-Set the value of the STASH pointer in sv to val.  See C<SvIV_set>.
+Set the value of the STASH pointer in C<sv> to val.  See C<L</SvIV_set>>.
 
 =for apidoc Am|void|SvCUR_set|SV* sv|STRLEN len
-Set the current length of the string which is in the SV.  See C<SvCUR>
-and C<SvIV_set>.
+Set the current length of the string which is in the SV.  See C<L</SvCUR>>
+and C<SvIV_set>>.
 
 =for apidoc Am|void|SvLEN_set|SV* sv|STRLEN len
-Set the actual length of the string which is in the SV.  See C<SvIV_set>.
+Set the actual length of the string which is in the SV.  See C<L</SvIV_set>>.
 
 =cut
 */
@@ -901,7 +901,7 @@ Set the actual length of the string which is in the SV.  See C<SvIV_set>.
 =for apidoc Am|U32|SvUTF8|SV* sv
 Returns a U32 value indicating the UTF-8 status of an SV.  If things are set-up
 properly, this indicates whether or not the SV contains UTF-8 encoded data.
-You should use this I<after> a call to SvPV() or one of its variants, in
+You should use this I<after> a call to C<SvPV()> or one of its variants, in
 case any call to string overloading updates the internal flag.
 
 If you want to take into account the L<bytes> pragma, use C<L</DO_UTF8>>
@@ -916,7 +916,7 @@ Unsets the UTF-8 status of an SV (the data is not changed, just the flag).
 Do not use frivolously.
 
 =for apidoc Am|void|SvPOK_only_UTF8|SV* sv
-Tells an SV that it is a string and disables all other OK bits,
+Tells an SV that it is a string and disables all other C<OK> bits,
 and leaves the UTF-8 status as it was.
 
 =cut
@@ -1044,14 +1044,14 @@ the scalar's value cannot change unless written to.
 /*
 =for apidoc m|U32|SvTHINKFIRST|SV *sv
 
-A quick flag check to see whether an sv should be passed to sv_force_normal
-to be "downgraded" before SvIVX or SvPVX can be modified directly.
+A quick flag check to see whether an C<sv> should be passed to C<sv_force_normal>
+to be "downgraded" before C<SvIVX> or C<SvPVX> can be modified directly.
 
-For example, if your scalar is a reference and you want to modify the SvIVX
-slot, you can't just do SvROK_off, as that will leak the referent.
+For example, if your scalar is a reference and you want to modify the C<SvIVX>
+slot, you can't just do C<SvROK_off>, as that will leak the referent.
 
 This is used internally by various sv-modifying functions, such as
-sv_setsv, sv_setiv and sv_pvn_force.
+C<sv_setsv>, C<sv_setiv> and C<sv_pvn_force..
 
 One case that this does not handle is a gv without SvFAKE set.  After
 
@@ -1059,8 +1059,8 @@ One case that this does not handle is a gv without SvFAKE set.  After
 
 it will still be a gv.
 
-SvTHINKFIRST sometimes produces false positives.  In those cases
-sv_force_normal does nothing.
+C<SvTHINKFIRST> sometimes produces false positives.  In those cases
+C<sv_force_normal> does nothing.
 
 =cut
 */
@@ -1499,17 +1499,17 @@ Returns a pointer to the string in the SV, or a stringified form of
 the SV if the SV does not contain a string.  The SV may cache the
 stringified version becoming C<SvPOK>.  Handles 'get' magic.  The
 C<len> variable will be set to the length of the string (this is a macro, so
-don't use C<&len>).  See also C<SvPVx> for a version which guarantees to
-evaluate sv only once.
+don't use C<&len>).  See also C<L</SvPVx>> for a version which guarantees to
+evaluate C<sv> only once.
 
 Note that there is no guarantee that the return value of C<SvPV()> is
 equal to C<SvPVX(sv)>, or that C<SvPVX(sv)> contains valid data, or that
 successive calls to C<SvPV(sv)> will return the same pointer value each
 time.  This is due to the way that things like overloading and
 Copy-On-Write are handled.  In these cases, the return value may point to
-a temporary buffer or similar.  If you absolutely need the SvPVX field to
+a temporary buffer or similar.  If you absolutely need the C<SvPVX> field to
 be valid (for example, if you intend to write to it), then see
-L</SvPV_force>.
+C<L</SvPV_force>>.
 
 =for apidoc Am|char*|SvPVx|SV* sv|STRLEN len
 A version of C<SvPV> which guarantees to evaluate C<sv> only once.
@@ -1526,8 +1526,8 @@ Like C<SvPV> but doesn't set a length variable.
 Like C<SvPV_nolen> but doesn't process magic.
 
 =for apidoc Am|IV|SvIV|SV* sv
-Coerces the given SV to an integer and returns it.  See C<SvIVx> for a
-version which guarantees to evaluate sv only once.
+Coerces the given SV to an integer and returns it.  See C<L</SvIVx>> for a
+version which guarantees to evaluate C<sv> only once.
 
 =for apidoc Am|IV|SvIV_nomg|SV* sv
 Like C<SvIV> but doesn't process magic.
@@ -1539,8 +1539,8 @@ this if C<sv> is an expression with side effects,
 otherwise use the more efficient C<SvIV>.
 
 =for apidoc Am|NV|SvNV|SV* sv
-Coerce the given SV to a double and return it.  See C<SvNVx> for a version
-which guarantees to evaluate sv only once.
+Coerce the given SV to a double and return it.  See C<L</SvNVx>> for a version
+which guarantees to evaluate C<sv> only once.
 
 =for apidoc Am|NV|SvNV_nomg|SV* sv
 Like C<SvNV> but doesn't process magic.
@@ -1552,8 +1552,8 @@ this if C<sv> is an expression with side effects,
 otherwise use the more efficient C<SvNV>.
 
 =for apidoc Am|UV|SvUV|SV* sv
-Coerces the given SV to an unsigned integer and returns it.  See C<SvUVx>
-for a version which guarantees to evaluate sv only once.
+Coerces the given SV to an unsigned integer and returns it.  See C<L</SvUVx>>
+for a version which guarantees to evaluate C<sv> only once.
 
 =for apidoc Am|UV|SvUV_nomg|SV* sv
 Like C<SvUV> but doesn't process magic.
@@ -1566,50 +1566,50 @@ otherwise use the more efficient C<SvUV>.
 
 =for apidoc Am|bool|SvTRUE|SV* sv
 Returns a boolean indicating whether Perl would evaluate the SV as true or
-false.  See SvOK() for a defined/undefined test.  Handles 'get' magic
-unless the scalar is already SvPOK, SvIOK or SvNOK (the public, not the
+false.  See C<L</SvOK>> for a defined/undefined test.  Handles 'get' magic
+unless the scalar is already C<SvPOK>, C<SvIOK> or C<SvNOK> (the public, not the
 private flags).
 
 =for apidoc Am|bool|SvTRUE_nomg|SV* sv
 Returns a boolean indicating whether Perl would evaluate the SV as true or
-false.  See SvOK() for a defined/undefined test.  Does not handle 'get' magic.
+false.  See C<L</SvOK>> for a defined/undefined test.  Does not handle 'get' magic.
 
 =for apidoc Am|char*|SvPVutf8_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to utf8 first if necessary.
+Like C<SvPV_force>, but converts C<sv> to UTF-8 first if necessary.
 
 =for apidoc Am|char*|SvPVutf8|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to utf8 first if necessary.
+Like C<SvPV>, but converts C<sv> to UTF-8 first if necessary.
 
 =for apidoc Am|char*|SvPVutf8_nolen|SV* sv
-Like C<SvPV_nolen>, but converts sv to utf8 first if necessary.
+Like C<SvPV_nolen>, but converts C<sv> to UTF-8 first if necessary.
 
 =for apidoc Am|char*|SvPVbyte_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to byte representation first if necessary.
+Like C<SvPV_force>, but converts C<sv> to byte representation first if necessary.
 
 =for apidoc Am|char*|SvPVbyte|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to byte representation first if necessary.
+Like C<SvPV>, but converts C<sv> to byte representation first if necessary.
 
 =for apidoc Am|char*|SvPVbyte_nolen|SV* sv
-Like C<SvPV_nolen>, but converts sv to byte representation first if necessary.
+Like C<SvPV_nolen>, but converts C<sv> to byte representation first if necessary.
 
 =for apidoc Am|char*|SvPVutf8x_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to utf8 first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVutf8_force>
+Like C<SvPV_force>, but converts C<sv> to UTF-8 first if necessary.
+Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVutf8_force>
 otherwise.
 
 =for apidoc Am|char*|SvPVutf8x|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to utf8 first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVutf8>
+Like C<SvPV>, but converts C<sv> to UTF-8 first if necessary.
+Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVutf8>
 otherwise.
 
 =for apidoc Am|char*|SvPVbytex_force|SV* sv|STRLEN len
-Like C<SvPV_force>, but converts sv to byte representation first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte_force>
+Like C<SvPV_force>, but converts C<sv> to byte representation first if necessary.
+Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVbyte_force>
 otherwise.
 
 =for apidoc Am|char*|SvPVbytex|SV* sv|STRLEN len
-Like C<SvPV>, but converts sv to byte representation first if necessary.
-Guarantees to evaluate sv only once; use the more efficient C<SvPVbyte>
+Like C<SvPV>, but converts C<sv> to byte representation first if necessary.
+Guarantees to evaluate C<sv> only once; use the more efficient C<SvPVbyte>
 otherwise.
 
 =for apidoc Am|U32|SvIsCOW|SV* sv
@@ -1635,7 +1635,7 @@ Like C<sv_catsv> but doesn't process magic.
 
 =for apidoc Amdb|STRLEN|sv_utf8_upgrade_nomg|NN SV *sv
 
-Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
+Like C<sv_utf8_upgrade>, but doesn't do magic on C<sv>.
 
 =cut
 */
@@ -1970,7 +1970,7 @@ incremented.
 
 #define newRV_inc(sv)  newRV(sv)
 
-/* the following macros update any magic values this sv is associated with */
+/* the following macros update any magic values this C<sv> is associated with */
 
 /*
 =head1 Magical Functions
@@ -1987,12 +1987,12 @@ or a tied variable (it calls C<STORE>).  This macro evaluates its
 argument more than once.
 
 =for apidoc Am|void|SvSetSV|SV* dsv|SV* ssv
-Calls C<sv_setsv> if dsv is not the same as ssv.  May evaluate arguments
+Calls C<sv_setsv> if C<dsv> is not the same as C<ssv>.  May evaluate arguments
 more than once.  Does not handle 'set' magic on the destination SV.
 
 =for apidoc Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
-Calls a non-destructive version of C<sv_setsv> if dsv is not the same as
-ssv.  May evaluate arguments more than once.
+Calls a non-destructive version of C<sv_setsv> if C<dsv> is not the same as
+C<ssv>.  May evaluate arguments more than once.
 
 =for apidoc Am|void|SvSetMagicSV|SV* dsv|SV* ssv
 Like C<SvSetSV>, but does any set magic required afterwards.
@@ -2001,15 +2001,15 @@ Like C<SvSetSV>, but does any set magic required afterwards.
 Like C<SvSetSV_nosteal>, but does any set magic required afterwards.
 
 =for apidoc Am|void|SvSHARE|SV* sv
-Arranges for sv to be shared between threads if a suitable module
+Arranges for C<sv> to be shared between threads if a suitable module
 has been loaded.
 
 =for apidoc Am|void|SvLOCK|SV* sv
-Arranges for a mutual exclusion lock to be obtained on sv if a suitable module
+Arranges for a mutual exclusion lock to be obtained on C<sv> if a suitable module
 has been loaded.
 
 =for apidoc Am|void|SvUNLOCK|SV* sv
-Releases a mutual exclusion lock on sv if a suitable module
+Releases a mutual exclusion lock on C<sv> if a suitable module
 has been loaded.
 
 =head1 SV Manipulation Functions
@@ -2019,7 +2019,7 @@ Expands the character buffer in the SV so that it has room for the
 indicated number of bytes (remember to reserve space for an extra trailing
 C<NUL> character).  Calls C<sv_grow> to perform the expansion if necessary.
 Returns a pointer to the character
-buffer.  SV must be of type >= SVt_PV.  One
+buffer.  SV must be of type >= C<SVt_PV>.  One
 alternative is to call C<sv_grow> if you are not sure of the type of SV.
 
 =cut
@@ -2079,7 +2079,7 @@ alternative is to call C<sv_grow> if you are not sure of the type of SV.
 
 Returns a true SV if C<b> is a true value, or a false SV if C<b> is 0.
 
-See also C<PL_sv_yes> and C<PL_sv_no>.
+See also C<L</PL_sv_yes>> and C<L</PL_sv_no>>.
 
 =cut
 */
@@ -2137,7 +2137,7 @@ struct clone_params {
 =for apidoc Am|SV*|newSVpvn_utf8|NULLOK const char* s|STRLEN len|U32 utf8
 
 Creates a new SV and copies a string (which may contain C<NUL> (C<\0>)
-characters) into it.  If utf8 is true, calls
+characters) into it.  If C<utf8> is true, calls
 C<SvUTF8_on> on the new SV.  Implemented as a wrapper around C<newSVpvn_flags>.
 
 =cut
@@ -2158,7 +2158,7 @@ Creates a new SV containing the pad name.
 /*
 =for apidoc Am|void|SvOOK_offset|NN SV*sv|STRLEN len
 
-Reads into C<len> the offset from SvPVX back to the true start of the
+Reads into C<len> the offset from C<SvPVX> back to the true start of the
 allocated buffer, which will be non-zero if C<sv_chop> has been used to
 efficiently remove characters from start of the buffer.  Implemented as a
 macro, which takes the address of C<len>, which must be of type C<STRLEN>.
diff --git a/t/TEST b/t/TEST
index 6b137b6..b27ab02 100755 (executable)
--- a/t/TEST
+++ b/t/TEST
@@ -41,7 +41,6 @@ my %abs = (
           '../cpan/CPAN' => 1,
           '../cpan/Devel-PPPort' => 1,
           '../cpan/Encode' => 1,
-          '../cpan/ExtUtils-Command' => 1,
           '../cpan/ExtUtils-Constant' => 1,
           '../cpan/ExtUtils-Install' => 1,
           '../cpan/ExtUtils-MakeMaker' => 1,
index 8862337..981b2e5 100644 (file)
@@ -1,6 +1,6 @@
 #!./perl
 
-print "1..103\n";
+print "1..104\n";
 
 $x = 'x';
 
@@ -386,7 +386,7 @@ print "ok $test - call a function in package v10::foo\n"; $test++;
 
 print "not " unless (1?v65:"bar") eq chr(65);
 print "ok $test - colon detection after vstring does not break ? vstring :\n"; $test++;
-if (ord("\t") == 9) {
+if (ord("A") == 65) {
     print v35;
     print "not ";
     print v10;
@@ -517,3 +517,9 @@ eval q|s##[}#e|;
  eval '0; qq{@{sub{]]}}}}}';
  print "ok $test - 124385\n"; $test++;
 }
+
+{
+ # Used to crash [perl #125350]
+ eval ('qq{@{[0}*sub{]]}}}=sub{0' . "\c[");
+ print "ok $test - 125350\n"; $test++;
+}
index 756f307..2606ef5 100644 (file)
@@ -68,8 +68,7 @@ close(F);
     binmode(F, ":bytes");
     $x = <F>;
     chomp($x);
-    $chr = chr(196).chr(172);
-    if ($::IS_EBCDIC) { $chr = chr(141).chr(83); } # EBCDIC
+    $chr = byte_utf8a_to_utf8n(chr(196).chr(172));
     is( $x, $chr );
     close F;
 
@@ -88,7 +87,7 @@ close(F);
        cmp_ok( $y, '==', 1 );
     }
 
-    print F $b,"\n"; # Don't upgrades $b
+    print F $b,"\n"; # Don't upgrade $b
 
     { # Check byte length of $b
        use bytes; my $y = length($b);
@@ -167,7 +166,7 @@ SKIP: {
 
 SKIP: {
     if ($::IS_EBCDIC) {
-       skip("EBCDIC doesn't complain", 2);
+       skip("EBCDIC The file isn't deformed in UTF-EBCDIC", 2);
     } else {
        my @warnings;
        open F, "<:utf8", $a_file or die $!;
index 78ff6cd..64012fb 100644 (file)
@@ -279,3 +279,8 @@ state ($x, $y, state $z);
 EXPECT
 Can't redeclare "state" in "state" at - line 2, near ", "
 Execution of - aborted due to compilation errors.
+########
+# NAME BEGIN <> [perl #125341]
+BEGIN <>
+EXPECT
+Illegal declaration of subroutine BEGIN at - line 1.
index 750880e..1f3b65b 100644 (file)
@@ -212,3 +212,50 @@ Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at -
 Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 16.
 Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 17.
 Use of \b{} or \B{} for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 17.
+########
+# NAME (?[ ]) in non-UTF-8 locale
+eval { require POSIX; POSIX->import("locale_h") };
+if ($@) {
+    print("SKIPPED\n# no POSIX\n"),exit;
+}
+no warnings 'experimental::regex_sets';
+use warnings 'locale';
+use locale;
+setlocale(&POSIX::LC_CTYPE, "C");
+"\N{KELVIN SIGN}" =~ /(?[ \N{KELVIN SIGN} ])/i;
+"K" =~ /(?[ \N{KELVIN SIGN} ])/i;
+"k" =~ /(?[ \N{KELVIN SIGN} ])/i;
+":" =~ /(?[ \: ])/;
+no warnings 'locale';
+EXPECT
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 9.
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 9.
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 10.
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 10.
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 11.
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 11.
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 12.
+Use of (?[ ]) for non-UTF-8 locale is wrong.  Assuming a UTF-8 locale at - line 12.
+########
+# NAME (?[ ]) in UTF-8 locale
+require '../loc_tools.pl';
+unless (locales_enabled()) {
+    print("SKIPPED\n# locales not available\n"),exit;
+}
+eval { require POSIX; POSIX->import("locale_h") };
+if ($@) {
+    print("SKIPPED\n# no POSIX\n"),exit;
+}
+my $utf8_locale = find_utf8_ctype_locale();
+unless ($utf8_locale) {
+    print("SKIPPED\n# No UTF-8 locale available\n"),exit;
+}
+no warnings 'experimental::regex_sets';
+use warnings 'locale';
+use locale;
+setlocale(&POSIX::LC_CTYPE, $utf8_locale);
+"\N{KELVIN SIGN}" =~ /(?[ \N{KELVIN SIGN} ])/i;
+"K" =~ /(?[ \N{KELVIN SIGN} ])/i;
+"k" =~ /(?[ \N{KELVIN SIGN} ])/i;
+":" =~ /(?[ \: ])/;
+EXPECT
index 541e08f..86d8e48 100644 (file)
@@ -80,20 +80,38 @@ sub _decode_encodings { # For use only by other functions in this file!
     return @enc;
 }
 
+# LC_ALL can be -1 on some platforms.  And, in fact the implementors could
+# legally use any integer to represent any category.  But it makes the most
+# sense for them to have used small integers.  Below, we create new locale
+# numbers for ones missing from this machine.  We make them very negative,
+# hopefully more negative than anything likely to be a valid category on the
+# platform, but also below is a check to be sure that our guess is valid.
+my $max_bad_category_number = -1000000;
+
 # Initialize this hash so that it looks like e.g.,
 #   6 => 'CTYPE',
 # where 6 is the value of &POSIX::LC_CTYPE
 my %category_name;
 eval { require POSIX; import POSIX 'locale_h'; };
 unless ($@) {
-    my $number_for_missing_category = 0;
+    my $number_for_missing_category = $max_bad_category_number;
     foreach my $name (qw(ALL COLLATE CTYPE MESSAGES MONETARY NUMERIC TIME)) {
         my $number = eval "&POSIX::LC_$name";
 
-        # Use a negative number if the platform doesn't support this category,
-        # so we have an entry for all ones that might be specified in calls to
-        # us.
-        $number = --$number_for_missing_category if $@;
+        if ($@) {
+            # Use a negative number (smaller than any legitimate category
+            # number) if the platform doesn't support this category, so we
+            # have an entry for all the ones that might be specified in calls
+            # to us.
+            $number = $number_for_missing_category-- if $@;
+        }
+        elsif (   $number !~ / ^ -? \d+ $ /x
+               || $number <=  $max_bad_category_number)
+        {
+            # We think this should be an int.  And it has to be larger than
+            # any of our synthetic numbers.
+            die "Unexpected locale category number '$number' for LC_$name"
+        }
 
         $category_name{$number} = "$name";
     }
@@ -129,19 +147,30 @@ sub locales_enabled(;$) {
     if (defined $categories_ref) {
         $categories_ref = [ $categories_ref ] if ! ref $categories_ref;
         my @local_categories_copy = @$categories_ref;
-        for my $category (@local_categories_copy) {
-            if ($category =~ / ^ -? \d+ $ /x) {
-                die "Invalid locale category number '$category'"
-                    unless grep { $category == $_ } keys %category_name;
-                $category = $category_name{$category};
+        for my $category_name_or_number (@local_categories_copy) {
+            my $name;
+            my $number;
+            if ($category_name_or_number =~ / ^ -? \d+ $ /x) {
+                $number = $category_name_or_number;
+                die "Invalid locale category number '$number'"
+                    unless grep { $number == $_ } keys %category_name;
+                $name = $category_name{$number};
             }
             else {
-                $category =~ s/ ^ LC_ //x;
-                die "Invalid locale category name '$category'"
-                    unless grep { $category eq $_ } values %category_name;
+                $name = $category_name_or_number;
+                $name =~ s/ ^ LC_ //x;
+                foreach my $trial (keys %category_name) {
+                    if ($category_name{$trial} eq $name) {
+                        $number = $trial;
+                        last;
+                    }
+                }
+                die "Invalid locale category name '$name'"
+                    unless defined $number;
             }
 
-            return 0 if $Config{ccflags} =~ /\bD?NO_LOCALE_$category\b/;
+            return 0 if    $number <= $max_bad_category_number
+                        || $Config{ccflags} =~ /\bD?NO_LOCALE_$name\b/;
         }
     }
 
index e73e172..7b245cd 100644 (file)
@@ -269,7 +269,11 @@ sub sh {
 # b) it's such an important usage that for performance reasons we
 #    mark it as safe even though it isn't really. Hence it's a TODO.
 
-{
+SKIP: {
+    use Config;
+    # debugging builds will detect this failure and panic
+    skip "DEBUGGING build" if $::Config{ccflags} =~ /DEBUGGING/
+                              or $^O eq 'VMS' && $::Config{usedebugging_perl} eq 'Y';
     local $::TODO = 'cheat and optimise my (....) = @_';
     local @_ = 1..3;
     &f17;
@@ -331,5 +335,13 @@ sub sh {
 
 }
 
+{
+    my $x = 1;
+    my $y = 2;
+    ($x,$y) = (undef, $x);
+    is($x, undef, 'single scalar on RHS, but two on LHS: x');
+    is($y, 1, 'single scalar on RHS, but two on LHS: y');
+}
+
 
 done_testing();
index 3546f02..5f57bad 100644 (file)
@@ -49,7 +49,9 @@ is chr "-2.2", chr -2.2, 'chr "-2.2" eq chr -2.2';
 
 # Check UTF-8 (not UTF-EBCDIC).
 SKIP: {
-    skip "no UTF-8 on EBCDIC", 21 if chr(193) eq 'A';
+    skip "ASCII centric tests", 21 if $::IS_EBCDIC;
+    # Too hard to convert these tests generically to EBCDIC code pages without
+    # using chr(), which is what we're testing.
 
 sub hexes {
     no warnings 'utf8'; # avoid surrogate and beyond Unicode warnings
index e695923..2c9cc64 100644 (file)
--- a/t/op/gv.t
+++ b/t/op/gv.t
@@ -12,7 +12,7 @@ BEGIN {
 
 use warnings;
 
-plan( tests => 273 );
+plan(tests => 276 );
 
 # type coercion on assignment
 $foo = 'foo';
@@ -1132,6 +1132,24 @@ pass "No crash due to CvGV pointing to glob copy in the stash";
     is $z, 3, 'list assignment after aliasing [perl #89646]';
 }
 
+# RT #125840: make sure *x = $x doesn't do bad things by freeing $x before
+# it's assigned.
+
+{
+    $a_125840 = 1;
+    $b_125840 = 2;
+    $a_125840 = *b_125840;
+    *a_125840 = $a_125840;
+    is($a_125840, 2, 'RT #125840: *a = $a');
+
+    $c_125840 = 1;
+    $d_125840 = 2;
+    *d_125840 = $d_125840 = *c_125840;
+    is($d_125840, 1, 'RT #125840: *d=$d=*c');
+    $c_125840 = $d_125840;
+    is($c_125840, 1, 'RT #125840: $c=$d');
+}
+
 
 __END__
 Perl
index a4ce65c..c515449 100644 (file)
@@ -129,7 +129,7 @@ fresh_perl_is(
   '* <null> ident'
 );
 SKIP: {
-    skip "Different output on EBCDIC (presumably)", 2 if ord("A") != 65;
+    skip "Different output on EBCDIC (presumably)", 2 if $::IS_EBCDIC;
     fresh_perl_is(
       qq'"ab}"ax;&\0z\x8Ao}\x82x;', <<gibberish,
 Bareword found where operator expected at - line 1, near ""ab}"ax"
index 2324655..84814b1 100644 (file)
@@ -111,7 +111,7 @@ is(length, 5,
 is($_, "\0"."_"."7"."_"."7", "string concatenation with nul character");
 chop, chop, chop, chop;
 is($_, "\0", "repeated chop() eliminated all but nul character");
-if (ord("\t") != 9) {
+if ($::IS_EBCDIC) {
     is("\157_", "?_",
         "question mark is 111 in 1047, 037, && POSIX-BC");
 }
@@ -126,7 +126,7 @@ is(length, 5,
 is($_, "\0"."_"."7"."_"."7", "string concatenation with nul character");
 chop, chop, chop, chop;
 is($_, "\0", "repeated chop() eliminated all but nul character");
-if (ord("\t") != 9) {
+if ($::IS_EBCDIC) {
     is("\x61_", "/_",
         "/ is 97 in 1047, 037, && POSIX-BC");
 }
index 05c923f..3c76365 100644 (file)
@@ -1,4 +1,5 @@
 #!./perl
+$|=1;
 
 BEGIN {
     chdir 't' if -d 't';
@@ -6,7 +7,7 @@ BEGIN {
     set_up_inc('../lib');
 }
 use warnings;
-plan(tests => 189);
+plan(tests => 193);
 
 # these shouldn't hang
 {
@@ -63,6 +64,84 @@ $expected = $upperfirst ?
     'AbelAxedCaincatchaseddoggonepunishedtoxyz' :
     'catchaseddoggonepunishedtoxyzAbelAxedCain' ;
 
+my @initially_sorted = ( 0 .. 260,
+                         0x3FF, 0x400, 0x401,
+                         0x7FF, 0x800, 0x801,
+                         0x3FFF, 0x4000, 0x4001,
+                        0xFFFF, 0x10000, 0x10001,
+                       );
+# It makes things easier below if there are an even number of elements in the
+# array.
+if (scalar(@initially_sorted) % 2 == 1) {
+    push @initially_sorted, $initially_sorted[-1] + 1;
+}
+
+# We convert to a chr(), but prepend a constant string to make sure things can
+# work on more than a single character.
+my $prefix = "a\xb6";
+my $prefix_len = length $prefix;
+
+my @chr_initially_sorted = @initially_sorted;
+$_ = $prefix . chr($_) for @chr_initially_sorted;
+
+# Create a very unsorted version by reversing it, and then pushing the same
+# code points again, but pair-wise reversed.
+my @initially_unsorted = reverse @chr_initially_sorted;
+for (my $i = 0; $i < @chr_initially_sorted - 1; $i += 2) {
+    push @initially_unsorted, $chr_initially_sorted[$i+1],
+                              $chr_initially_sorted[$i];
+}
+
+# And, an all-UTF-8 version
+my @utf8_initialy_unsorted = @initially_unsorted;
+utf8::upgrade($_) for @utf8_initialy_unsorted;
+
+# Sort the non-UTF-8 version
+my @non_utf8_result = sort @initially_unsorted;
+my @wrongly_utf8;
+my $ordered_correctly = 1;
+for my $i (0 .. @chr_initially_sorted -1) {
+    if (   $chr_initially_sorted[$i] ne $non_utf8_result[2*$i]
+        || $chr_initially_sorted[$i] ne $non_utf8_result[2*$i+1])
+    {
+        $ordered_correctly = 0;
+        last;
+    }
+    push @wrongly_utf8, $i if $i < 256 && utf8::is_utf8($non_utf8_result[$i]);
+}
+if (! ok($ordered_correctly, "sort of non-utf8 list worked")) {
+    diag ("This should be in numeric order (with 2 instances of every code point):\n"
+        . join " ", map { sprintf "%02x", ord substr $_, $prefix_len, 1 } @non_utf8_result);
+}
+if (! is(@wrongly_utf8, 0,
+                      "No elements were wrongly converted to utf8 in sorting"))
+{
+    diag "For code points " . join " ", @wrongly_utf8;
+}
+
+# And then the UTF-8 one
+my @wrongly_non_utf8;
+$ordered_correctly = 1;
+my @utf8_result = sort @utf8_initialy_unsorted;
+for my $i (0 .. @chr_initially_sorted -1) {
+    if (   $chr_initially_sorted[$i] ne $utf8_result[2*$i]
+        || $chr_initially_sorted[$i] ne $utf8_result[2*$i+1])
+    {
+        $ordered_correctly = 0;
+        last;
+    }
+    push @wrongly_non_utf8, $i unless utf8::is_utf8($utf8_result[$i]);
+}
+if (! ok($ordered_correctly, "sort of utf8 list worked")) {
+    diag ("This should be in numeric order (with 2 instances of every code point):\n"
+        . join " ", map { sprintf "%02x", ord substr $_, $prefix_len, 1 } @utf8_result);
+}
+if (! is(@wrongly_non_utf8, 0,
+                      "No elements were wrongly converted from utf8 in sorting"))
+{
+    diag "For code points " . join " ", @wrongly_non_utf8;
+}
+
 cmp_ok($x,'eq',$expected,'upper first 4');
 $" = ' ';
 @a = ();
index 50579bf..fb73271 100644 (file)
@@ -3,6 +3,7 @@
 BEGIN {
     chdir 't' if -d 't';
     require './test.pl';
+    require './charset_tools.pl';
     set_up_inc('../lib');
 }
 
@@ -264,15 +265,11 @@ is($cnt, scalar(@ary));
 {
     my $s = "\x20\x40\x{80}\x{100}\x{80}\x40\x20";
 
-  SKIP: {
-    if (ord('A') == 193) {
-       skip("EBCDIC", 1);
-    } else {
+  {
        # bug id 20000426.003
 
        my ($a, $b, $c) = split(/\x40/, $s);
        ok($a eq "\x20" && $b eq "\x{80}\x{100}\x{80}" && $c eq $a);
-    }
   }
 
     my ($a, $b) = split(/\x{100}/, $s);
@@ -281,13 +278,9 @@ is($cnt, scalar(@ary));
     my ($a, $b) = split(/\x{80}\x{100}\x{80}/, $s);
     ok($a eq "\x20\x40" && $b eq "\x40\x20");
 
-  SKIP: {
-    if (ord('A') == 193) {
-       skip("EBCDIC", 1);
-    }  else {
+  {
        my ($a, $b) = split(/\x40\x{80}/, $s);
        ok($a eq "\x20" && $b eq "\x{100}\x{80}\x40\x20");
-    }
   }
 
     my ($a, $b, $c) = split(/[\x40\x{80}]+/, $s);
@@ -492,16 +485,14 @@ is($cnt, scalar(@ary));
     my @results;
     my $expr;
     $expr = ' a b c ';
-    @results = split "\x20", $expr if $::IS_ASCII;
-    @results = split "\x40", $expr if $::IS_EBCDIC;
+    @results = split uni_to_native("\x20"), $expr;
     is @results, 3,
         "RT #116086: split on string of single hex-20: captured 3 elements";
     is $results[0], 'a',
         "RT #116086: split on string of single hex-20: first element is non-empty";
 
     $expr = " a \tb c ";
-    @results = split "\x20", $expr if $::IS_ASCII;
-    @results = split "\x40", $expr if $::IS_EBCDIC;
+    @results = split uni_to_native("\x20"), $expr;
     is @results, 3,
         "RT #116086: split on string of single hex-20: captured 3 elements";
     is $results[0], 'a',
index db934c7..c6550d0 100644 (file)
@@ -312,6 +312,7 @@ __END__
 >%4.*2$d<   >[5,3]<       > 005<          >width with reordered precision<
 >%*3$.*2$d< >[5,3,4]<     > 005<          >reordered width with reordered precision<
 >%3$*2$.*1$d< >[3,4,5]<   > 005<          >reordered param, width, precision<
+>%*1$.*f<   >[4, 5, 10]<  >5.0000<        >perl #125956: reordered param, width, precision, floating point<
 >%d<        >-1<          >-1<
 >%-d<       >-1<          >-1<
 >%+d<       >-1<          >-1<
index a807b90..2d7e3c7 100644 (file)
@@ -25,7 +25,7 @@ if ($^O eq 'MSWin32') {
     ${^WIN32_SLOPPY_STAT} = 0;
 }
 
-plan tests => 115;
+plan tests => 116;
 
 my $Perl = which_perl();
 
@@ -632,6 +632,10 @@ SKIP: {
     ok(1, 'can "lstat -t" without crashing');
 }
 
+# [perl #126064] stat stat stack busting
+is join("-", 1,2,3,(stat stat stat),4,5,6), "1-2-3-4-5-6",
+  'stat inside stat gets scalar context';
+
 END {
     chmod 0666, $tmpfile;
     unlink_all $tmpfile;
index 9b0ad06..ab9faac 100644 (file)
@@ -530,7 +530,7 @@ is($str, "Hi, world!");
 
 $str = "Made w/ JavaScript";
 sub veclv : lvalue { vec($str, 2, 32) }
-if (ord('A') != 193) {
+if ($::IS_ASCII) {
     veclv() = 0x5065726C;
 }
 else { # EBCDIC?
index f5ce339..d3b8b9c 100644 (file)
@@ -12,7 +12,7 @@ plan tests => 72;
 # burning tons of CPU for dates far in the future.
 # watchdog() makes sure that the test script eventually exits if
 # the tests are triggering the failing behavior
-watchdog(15);
+watchdog(25);
 
 ($beguser,$begsys) = times;
 
@@ -21,9 +21,9 @@ $beg = time;
 while (($now = time) == $beg) { sleep 1 }
 
 ok($now > $beg && $now - $beg < 10,             'very basic time test');
-
+my $x = "aaaa";
 for ($i = 0; $i < 1_000_000; $i++) {
-    for my $j (1..100) {}; # burn some user cycles
+    for my $j (1..1000) { ++$x; }; # burn some user cycles
     ($nowuser, $nowsys) = times;
     $i = 2_000_000 if $nowuser > $beguser && ( $nowsys >= $begsys ||
                                             (!$nowsys && !$begsys));
index 508ab14..6783dad 100644 (file)
--- a/t/op/tr.t
+++ b/t/op/tr.t
@@ -1,4 +1,5 @@
 # tr.t
+$|=1;
 
 use utf8;
 
@@ -8,14 +9,12 @@ BEGIN {
     set_up_inc('../lib');
 }
 
-plan tests => 138;
+plan tests => 164;
 
 # Test this first before we extend the stack with other operations.
 # This caused an asan failure due to a bad write past the end of the stack.
 eval { my $x; die  1..127, $x =~ y/// };
 
-my $Is_EBCDIC = (ord('i') == 0x89 & ord('J') == 0xd1);
-
 $_ = "abcdefghijklmnopqrstuvwxyz";
 
 tr/a-z/A-Z/;
@@ -29,12 +28,108 @@ is($_, "abcdefghijklmnopqrstuvwxyz",    'lc');
 tr/b-y/B-Y/;
 is($_, "aBCDEFGHIJKLMNOPQRSTUVWXYz",    'partial uc');
 
+eval 'tr/a/\N{KATAKANA LETTER AINU P}/;';
+like $@,
+     qr/\\N\{KATAKANA LETTER AINU P} must not be a named sequence in transliteration operator/,
+     "Illegal to tr/// named sequence";
+
+eval 'tr/\x{101}-\x{100}//;';
+like $@,
+     qr/Invalid range "\\x\{0101}-\\x\{0100}" in transliteration operator/,
+     "UTF-8 range with min > max";
+
+SKIP: {   # Test literal range end point special handling
+    unless ($::IS_EBCDIC) {
+        skip "Valid only for EBCDIC", 24;
+    }
+
+    $_ = "\x89";    # is 'i'
+    tr/i-j//d;
+    is($_, "", '"\x89" should match [i-j]');
+    $_ = "\x8A";
+    tr/i-j//d;
+    is($_, "\x8A", '"\x8A" shouldnt match [i-j]');
+    $_ = "\x90";
+    tr/i-j//d;
+    is($_, "\x90", '"\x90" shouldnt match [i-j]');
+    $_ = "\x91";    # is 'j'
+    tr/i-j//d;
+    is($_, "", '"\x91" should match [i-j]');
+
+    $_ = "\x89";
+    tr/i-\N{LATIN SMALL LETTER J}//d;
+    is($_, "", '"\x89" should match [i-\N{LATIN SMALL LETTER J}]');
+    $_ = "\x8A";
+    tr/i-\N{LATIN SMALL LETTER J}//d;
+    is($_, "\x8A", '"\x8A" shouldnt match [i-\N{LATIN SMALL LETTER J}]');
+    $_ = "\x90";
+    tr/i-\N{LATIN SMALL LETTER J}//d;
+    is($_, "\x90", '"\x90" shouldnt match [i-\N{LATIN SMALL LETTER J}]');
+    $_ = "\x91";
+    tr/i-\N{LATIN SMALL LETTER J}//d;
+    is($_, "", '"\x91" should match [i-\N{LATIN SMALL LETTER J}]');
+
+    $_ = "\x89";
+    tr/i-\N{U+6A}//d;
+    is($_, "", '"\x89" should match [i-\N{U+6A}]');
+    $_ = "\x8A";
+    tr/i-\N{U+6A}//d;
+    is($_, "\x8A", '"\x8A" shouldnt match [i-\N{U+6A}]');
+    $_ = "\x90";
+    tr/i-\N{U+6A}//d;
+    is($_, "\x90", '"\x90" shouldnt match [i-\N{U+6A}]');
+    $_ = "\x91";
+    tr/i-\N{U+6A}//d;
+    is($_, "", '"\x91" should match [i-\N{U+6A}]');
+
+    $_ = "\x89";
+    tr/\N{U+69}-\N{U+6A}//d;
+    is($_, "", '"\x89" should match [\N{U+69}-\N{U+6A}]');
+    $_ = "\x8A";
+    tr/\N{U+69}-\N{U+6A}//d;
+    is($_, "\x8A", '"\x8A" shouldnt match [\N{U+69}-\N{U+6A}]');
+    $_ = "\x90";
+    tr/\N{U+69}-\N{U+6A}//d;
+    is($_, "\x90", '"\x90" shouldnt match [\N{U+69}-\N{U+6A}]');
+    $_ = "\x91";
+    tr/\N{U+69}-\N{U+6A}//d;
+    is($_, "", '"\x91" should match [\N{U+69}-\N{U+6A}]');
+
+    $_ = "\x89";
+    tr/i-\x{91}//d;
+    is($_, "", '"\x89" should match [i-\x{91}]');
+    $_ = "\x8A";
+    tr/i-\x{91}//d;
+    is($_, "", '"\x8A" should match [i-\x{91}]');
+    $_ = "\x90";
+    tr/i-\x{91}//d;
+    is($_, "", '"\x90" should match [i-\x{91}]');
+    $_ = "\x91";
+    tr/i-\x{91}//d;
+    is($_, "", '"\x91" should match [i-\x{91}]');
+
+    # Need to use eval, because tries to compile on ASCII platforms even
+    # though the tests are skipped, and fails because 0x89-j is an illegal
+    # range there.
+    $_ = "\x89";
+    eval 'tr/\x{89}-j//d';
+    is($_, "", '"\x89" should match [\x{89}-j]');
+    $_ = "\x8A";
+    eval 'tr/\x{89}-j//d';
+    is($_, "", '"\x8A" should match [\x{89}-j]');
+    $_ = "\x90";
+    eval 'tr/\x{89}-j//d';
+    is($_, "", '"\x90" should match [\x{89}-j]');
+    $_ = "\x91";
+    eval 'tr/\x{89}-j//d';
+    is($_, "", '"\x91" should match [\x{89}-j]');
+}
+
 
 # In EBCDIC 'I' is \xc9 and 'J' is \0xd1, 'i' is \x89 and 'j' is \x91.
 # Yes, discontinuities.  Regardless, the \xca in the below should stay
 # untouched (and not became \x8a).
 {
-    no utf8;
     $_ = "I\xcaJ";
 
     tr/I-J/i-j/;
@@ -43,7 +138,6 @@ is($_, "aBCDEFGHIJKLMNOPQRSTUVWXYz",    'partial uc');
 }
 #
 
-
 ($x = 12) =~ tr/1/3/;
 (my $y = 12) =~ tr/1/3/;
 ($f = 1.5) =~ tr/1/3/;
@@ -96,7 +190,7 @@ is(length $x, 3);
 
 $x =~ tr/A/B/;
 is(length $x, 3);
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is($x, 256.66.258);
 }
 else {
@@ -110,7 +204,7 @@ is($x, 256.193.258);
 
 $x =~ tr/A/B/;
 is(length $x, 3);
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is($x, 256.193.258);
 }
 else {
@@ -282,7 +376,6 @@ is(sprintf("%vd", $a), '196.172.200');
 
 # UTF8 range tests from Inaba Hiroto
 
-# Not working in EBCDIC as of 12674.
 ($a = v300.196.172.302.197.172) =~ tr/\x{12c}-\x{130}/\xc0-\xc4/;
 is($a, v192.196.172.194.197.172,    'UTF range');
 
@@ -326,7 +419,7 @@ is($c, 8);
 is($a, "XXXXXXXX");
 
 SKIP: {
-    skip "not EBCDIC", 4 unless $Is_EBCDIC;
+    skip "EBCDIC-centric tests", 4 unless $::IS_EBCDIC;
 
     $c = ($a = "\x89\x8a\x8b\x8c\x8d\x8f\x90\x91") =~ tr/i-j/X/;
     is($c, 2);
index 92de821..fe6d41f 100644 (file)
@@ -11,7 +11,7 @@ BEGIN {
     use bytes;
     my $ordwide = ord($wide);
     printf "# under use bytes ord(v256) = 0x%02x\n", $ordwide;
-    skip_all('UTF-EBCDIC (not UTF-8) used here') if $ordwide == 140;
+    skip_all('UTF-8-centric tests (not valid for UTF-EBCDIC)') if $ordwide == 140;
 
     if ($ordwide != 196) {
        printf "# v256 starts with 0x%02x\n", $ordwide;
@@ -79,7 +79,7 @@ done_testing();
 
 # This table is based on Markus Kuhn's UTF-8 Decode Stress Tester,
 # http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt,
-# version dated 2000-09-02.
+# version dated 2015-08-28.
 
 __DATA__
 1      Correct UTF-8
@@ -180,4 +180,68 @@ __DATA__
 5.3    Other illegal code positions
 5.3.1 y fffe   3       ef:bf:be        1       byte order mark 0xfffe
 # The ffff is legal by default since 872c91ae155f6880
-5.3.2 y ffff   3       ef:bf:bf        1       character 0xffff
+5.3.2 y ffff   3       ef:bf:bf        1       non-character 0xffff
+5.3.3 y fdd0   3       ef:b7:90        1       non-character 0xfdd0
+5.3.3 y        fdd1    3       ef:b7:91        1       non-character 0xfdd1
+5.3.3 y        fdd2    3       ef:b7:92        1       non-character 0xfdd2
+5.3.3 y        fdd3    3       ef:b7:93        1       non-character 0xfdd3
+5.3.3 y        fdd4    3       ef:b7:94        1       non-character 0xfdd4
+5.3.3 y        fdd5    3       ef:b7:95        1       non-character 0xfdd5
+5.3.3 y        fdd6    3       ef:b7:96        1       non-character 0xfdd6
+5.3.3 y        fdd7    3       ef:b7:97        1       non-character 0xfdd7
+5.3.3 y        fdd8    3       ef:b7:98        1       non-character 0xfdd8
+5.3.3 y        fdd9    3       ef:b7:99        1       non-character 0xfdd9
+5.3.3 y        fdda    3       ef:b7:9a        1       non-character 0xfdda
+5.3.3 y        fddb    3       ef:b7:9b        1       non-character 0xfddb
+5.3.3 y        fddc    3       ef:b7:9c        1       non-character 0xfddc
+5.3.3 y        fddd    3       ef:b7:9d        1       non-character 0xfddd
+5.3.3 y        fdde    3       ef:b7:9e        1       non-character 0xfdde
+5.3.3 y        fddf    3       ef:b7:9f        1       non-character 0xfddf
+5.3.3 y        fde0    3       ef:b7:a0        1       non-character 0xfde0
+5.3.3 y        fde1    3       ef:b7:a1        1       non-character 0xfde1
+5.3.3 y        fde2    3       ef:b7:a2        1       non-character 0xfde2
+5.3.3 y        fde3    3       ef:b7:a3        1       non-character 0xfde3
+5.3.3 y        fde4    3       ef:b7:a4        1       non-character 0xfde4
+5.3.3 y        fde5    3       ef:b7:a5        1       non-character 0xfde5
+5.3.3 y        fde6    3       ef:b7:a6        1       non-character 0xfde6
+5.3.3 y        fde7    3       ef:b7:a7        1       non-character 0xfde7
+5.3.3 y        fde8    3       ef:b7:a8        1       non-character 0xfde8
+5.3.3 y        fde9    3       ef:b7:a9        1       non-character 0xfde9
+5.3.3 y        fdea    3       ef:b7:aa        1       non-character 0xfdea
+5.3.3 y        fdeb    3       ef:b7:ab        1       non-character 0xfdeb
+5.3.3 y        fdec    3       ef:b7:ac        1       non-character 0xfdec
+5.3.3 y        fded    3       ef:b7:ad        1       non-character 0xfded
+5.3.3 y        fdee    3       ef:b7:ae        1       non-character 0xfdee
+5.3.3 y        fdef    3       ef:b7:af        1       non-character 0xfdef
+5.3.4 y 1fffe  4       f0:9f:bf:be     1       non-character 0x1fffe
+5.3.4 y 1ffff  4       f0:9f:bf:bf     1       non-character 0x1ffff
+5.3.4 y 2fffe  4       f0:af:bf:be     1       non-character 0x2fffe
+5.3.4 y 2ffff  4       f0:af:bf:bf     1       non-character 0x2ffff
+5.3.4 y 3fffe  4       f0:bf:bf:be     1       non-character 0x3fffe
+5.3.4 y 3ffff  4       f0:bf:bf:bf     1       non-character 0x3ffff
+5.3.4 y 4fffe  4       f1:8f:bf:be     1       non-character 0x4fffe
+5.3.4 y 4ffff  4       f1:8f:bf:bf     1       non-character 0x4ffff
+5.3.4 y 5fffe  4       f1:9f:bf:be     1       non-character 0x5fffe
+5.3.4 y 5ffff  4       f1:9f:bf:bf     1       non-character 0x5ffff
+5.3.4 y 6fffe  4       f1:af:bf:be     1       non-character 0x6fffe
+5.3.4 y 6ffff  4       f1:af:bf:bf     1       non-character 0x6ffff
+5.3.4 y 7fffe  4       f1:bf:bf:be     1       non-character 0x7fffe
+5.3.4 y 7ffff  4       f1:bf:bf:bf     1       non-character 0x7ffff
+5.3.4 y 8fffe  4       f2:8f:bf:be     1       non-character 0x8fffe
+5.3.4 y 8ffff  4       f2:8f:bf:bf     1       non-character 0x8ffff
+5.3.4 y 9fffe  4       f2:9f:bf:be     1       non-character 0x9fffe
+5.3.4 y 9ffff  4       f2:9f:bf:bf     1       non-character 0x9ffff
+5.3.4 y afffe  4       f2:af:bf:be     1       non-character 0xafffe
+5.3.4 y affff  4       f2:af:bf:bf     1       non-character 0xaffff
+5.3.4 y bfffe  4       f2:bf:bf:be     1       non-character 0xbfffe
+5.3.4 y bffff  4       f2:bf:bf:bf     1       non-character 0xbffff
+5.3.4 y cfffe  4       f3:8f:bf:be     1       non-character 0xcfffe
+5.3.4 y cffff  4       f3:8f:bf:bf     1       non-character 0xcffff
+5.3.4 y dfffe  4       f3:9f:bf:be     1       non-character 0xdfffe
+5.3.4 y dffff  4       f3:9f:bf:bf     1       non-character 0xdffff
+5.3.4 y efffe  4       f3:af:bf:be     1       non-character 0xefffe
+5.3.4 y effff  4       f3:af:bf:bf     1       non-character 0xeffff
+5.3.4 y ffffe  4       f3:bf:bf:be     1       non-character 0xffffe
+5.3.4 y fffff  4       f3:bf:bf:bf     1       non-character 0xfffff
+5.3.4 y 10fffe 4       f4:8f:bf:be     1       non-character 0x10fffe
+5.3.4 y 10ffff 4       f4:8f:bf:bf     1       non-character 0x10ffff
index 141a6da..33aedab 100644 (file)
@@ -8,7 +8,6 @@ BEGIN {
 
 plan( tests => 35 );
 
-my $Is_EBCDIC = (ord('A') == 193) ? 1 : 0;
 
 is(vec($foo,0,1), 0);
 is(length($foo), undef);
@@ -68,7 +67,7 @@ ok(! $@);
 $@ = undef;
 eval { vec($foo, 1, 8) = 13 };
 ok(! $@);
-if ($Is_EBCDIC) {
+if ($::IS_EBCDIC) {
     is($foo, "\x8c\x0d\xff\x8a\x69"); 
 }
 else {
index e896e9e..144a352 100644 (file)
@@ -19,7 +19,7 @@ is( $@, '', "use v5.5.640; $@");
 require_ok('v5.5.640');
 
 # printing characters should work
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is('ok ',v111.107.32,'ASCII printing characters');
 
     # hash keys too
@@ -40,7 +40,7 @@ $x = v77;
 is('ok',$x,'poetry optimization');
 
 # but not when dots are involved
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     $x = v77.78.79;
 }
 else {
@@ -58,7 +58,7 @@ is( $@, '', "use 5.5.640; $@");
 require_ok('5.5.640');
 
 # hash keys too
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     $h{111.107.32} = "ok";
 }
 else {
@@ -66,7 +66,7 @@ else {
 }
 is('ok',$h{ok },'hash keys w/o v');
 
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     $x = 77.78.79;
 }
 else {
@@ -77,7 +77,7 @@ is($x, 'MNO','poetry optimization with dots w/o v');
 is(1.20.300.4000, "\x{1}\x{14}\x{12c}\x{fa0}",'compare embedded \x{} string w/o v');
 
 # test sprintf("%vd"...) etc
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is(sprintf("%vd", "Perl"), '80.101.114.108', 'ASCII sprintf("%vd", "Perl")');
 }
 else {
@@ -86,7 +86,7 @@ else {
 
 is(sprintf("%vd", v1.22.333.4444), '1.22.333.4444', 'sprintf("%vd", v1.22.333.4444)');
 
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is(sprintf("%vx", "Perl"), '50.65.72.6c', 'ASCII sprintf("%vx", "Perl")');
 }
 else {
@@ -95,7 +95,7 @@ else {
 
 is(sprintf("%vX", 1.22.333.4444), '1.16.14D.115C','ASCII sprintf("%vX", 1.22.333.4444)');
 
-if (ord("\t") == 9) { # ASCII
+if ($::IS_ASCII) { # ASCII
     is(sprintf("%#*vo", ":", "Perl"), '0120:0145:0162:0154', 'ASCII sprintf("%vo", "Perl")');
 }
 else {
@@ -112,42 +112,42 @@ is(sprintf("%vd", join("", map { chr }
 {
     use bytes;
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vd", "Perl"), '80.101.114.108', 'ASCII sprintf("%vd", "Perl") w/use bytes');
     }
     else {
        is(sprintf("%vd", "Perl"), '215.133.153.147', 'EBCDIC sprintf("%vd", "Perl") w/use bytes');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vd", 1.22.333.4444), '1.22.197.141.225.133.156', 'ASCII sprintf("%vd", v1.22.333.4444 w/use bytes');
     }
     else {
        is(sprintf("%vd", 1.22.333.4444), '1.22.142.84.187.81.112', 'EBCDIC sprintf("%vd", v1.22.333.4444 w/use bytes');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vx", "Perl"), '50.65.72.6c', 'ASCII sprintf("%vx", "Perl")');
     }
     else {
        is(sprintf("%vx", "Perl"), 'd7.85.99.93', 'EBCDIC sprintf("%vx", "Perl")');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%vX", v1.22.333.4444), '1.16.C5.8D.E1.85.9C', 'ASCII sprintf("%vX", v1.22.333.4444)');
     }
     else {
        is(sprintf("%vX", v1.22.333.4444), '1.16.8E.54.BB.51.70', 'EBCDIC sprintf("%vX", v1.22.333.4444)');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%#*vo", ":", "Perl"), '0120:0145:0162:0154', 'ASCII sprintf("%#*vo", ":", "Perl")');
     }
     else {
        is(sprintf("%#*vo", ":", "Perl"), '0327:0205:0231:0223', 'EBCDIC sprintf("%#*vo", ":", "Perl")');
     }
 
-    if (ord("\t") == 9) { # ASCII
+    if ($::IS_ASCII) { # ASCII
        is(sprintf("%*vb", "##", v1.22.333.4444),
             '1##10110##11000101##10001101##11100001##10000101##10011100',
             'ASCII sprintf("%*vb", "##", v1.22.333.4444)');
index 6baa3b2..7fcc1fd 100644 (file)
     'expr::aassign::2l_1l' => {
         desc    => 'single lexical RHS',
         setup   => 'my $x = 1;',
+        code    => '($x,$x) = ($x)',
+    },
+    'expr::aassign::2l_1ul' => {
+        desc    => 'undef and single lexical RHS',
+        setup   => 'my $x = 1;',
         code    => '($x,$x) = (undef, $x)',
     },
 
index ee65785..190161c 100644 (file)
@@ -1,38 +1,10 @@
 CPAN cpan/CPAN/lib/CPAN.pm ce62c43d72f101c011184dbbc59e21c2790826f0
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm 7f4dfd0fe884bd42412bcf04ca80ef97b39c1d54
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm bef099988b15fb0b2a1f5ac48c01af1f7f36d329
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm 8168e18f0e3ce3ece4bb7e7c72d57ec07c67c402
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm 7115e97a53559cb3ec061dd6f7f344e522724c4a
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm f8db8d4245bf0684b8210c811f50d7cfb1a27d78
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod 757bffb47857521311f8f3bde43ebe165f8d5191
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Locale.pm 82be06851deb84c6419ad003ce9b6d1957f395f3
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod b01a546e52a908ce4ccd0b1a36fe81de52ab0691
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version.pm 91a7b2a36210cebd57ff89d202af3d2b7bce430c
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/regex.pm d4e7d722b4544be28da838912a7cc714528bc05f
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/version/vpp.pm 7297903505ab551731692ec79cdc0f5396e12479
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm 58872d66a72515f7d5be02417dfd2b28005fd61a
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm ab80029ab16d38d4f2e41dc88d2ceb9f3790e477
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm 453e0abbc4bb38db4c0820ad5c4846f313b66291
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm c1b1babda8f43ae7a2caba1cb4f70f92af5a0e34
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm 6f90d94ad3e7aa0045a3b1a10a1bb18391f89f57
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm cab2b3ce08b71a4ce89aa630f236eb08b852439d
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm 61fced0faf518bf87c265fcb51ed330ba354623f
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm ae0ef51a7b6dd0b05aa61c779df7167dda5f5119
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm 9bff0fc8801d93578a5ac35d39f06cdc0e2af1ef
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm 0544301f7121ff02fd3a11b73ca2fab22e1176d4
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm 433135eecb85b4b1d90d3027432f329436c78447
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm 1fbb5605bfb47feee4083feba8aa85e659628f70
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm 5b66d1f485a6034d96fc24ba1665b1bad9e447f1
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm 8cef99a9bd370ecfd07ddb0efbdcbb4101255e45
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm 939572fde3d59ba77c2e677fe2df2bed4bed5898
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 09c2049bfd25b735e2a5bcf56a6cff7b4827f9c8
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm d65d63f8217a55c36f62e249814988974f593c79
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm c0ae2a92a7a9f71fc5f608b4192c6255510b7ae4
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm 12df38eacceeed73cab94c423236bfaed0fbbfec
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm 22fe9596a0237252f45399a36abc83b7813bc328
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm 7fbc42ca2ebc6c677b79ae5fd5647243cf069463
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/basic.t 6cdc7701b50e586bc9c4cfb1616de8eb0b1baf34
-ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/pm_to_blib.t 71ebcee355691ce374fcad251b12d8b2412462b3
+Compress::Raw::Zlib cpan/Compress-Raw-Zlib/Zlib.xs 50a0176905a1702caef88abf268e0b60ae1f7382
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm fd048a43fc1a53acbe133bd96ddbf1421cfb28cf
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm 0c78ba02d6249dfcca12ac9886a7c7cfb60e77fe
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/prereq.t 53bda2c549fd13a6b6c13a070ca6bc79883081c0
+ExtUtils::MakeMaker cpan/ExtUtils-MakeMaker/t/vstrings.t 90035a2bdbf45f15b9c3196d072d7cba7e662871
+Pod::Perldoc cpan/Pod-Perldoc/lib/Pod/Perldoc.pm dcd53fba13060dbb71b1b5861fbc5c0881c8625a
 Pod::Simple cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm 4108633c4f40f7f63c5a0245df2b07a4a2f22fec
 Pod::Simple cpan/Pod-Simple/lib/Pod/Simple/Search.pm 7a48823f9faec6d6bbef08060e679e46ccf60bc8
 Pod::Simple cpan/Pod-Simple/t/search10.t 776e41bf3494da010f306e0f6cadd416d84671a0
@@ -46,6 +18,7 @@ Scalar-List-Utils cpan/Scalar-List-Utils/lib/List/Util/XS.pm 08abbe1a707927cee53
 Scalar-List-Utils cpan/Scalar-List-Utils/lib/Scalar/Util.pm 7f1e6eb11105623200ef9cdcb881545ccb769ded
 Scalar-List-Utils cpan/Scalar-List-Utils/lib/Sub/Util.pm d87811528ae3587f04e2f09894b8c88471754386
 Scalar-List-Utils cpan/Scalar-List-Utils/ListUtil.xs ed25abc419771d6f3f12323f1f0a372f043d51b2
+Socket cpan/Socket/Socket.xs ae3f68904b11389da5442319cb15918b629d86b4
 Text::ParseWords cpan/Text-ParseWords/t/ParseWords.t 9bae51c9b944cd5c0bbabe9d397e573976a2be8e
 Win32API::File cpan/Win32API-File/buffers.h 02d230ac9ac7091365128161a0ed671898baefae
 Win32API::File cpan/Win32API-File/cFile.h fca7e383e76979c3ac3adf12d11d1bcd2618e489
index b2a75fc..62c1d5a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is the data file for porting/podcheck.t.
+# This file is the data file for t/porting/podcheck.t.
 # There are three types of lines.
 # Comment lines are white-space only or begin with a '#', like this one.  Any
 #   changes you make to the comment lines will be lost when the file is
@@ -62,6 +62,7 @@ DBI
 DBIx::Profile
 Devel::CallParser
 Devel::Callsite
+Devel::Cover
 Devel::DProf
 Devel::DTrace::Provider
 Devel::InnerPackage
@@ -70,6 +71,7 @@ Devel::PPPort
 Devel::SawAmpersand
 Devel::Spy
 dirname(1)
+Encode::Detect
 Encode::Locale
 Eval::WithLexicals
 Exporter::Easy
@@ -211,6 +213,7 @@ Term::UI::History
 Test::Harness::TAP
 Test::Inline
 Test::MockObject
+Test::Unit
 Text::Autoformat
 Text::Soundex
 Text::Template
@@ -240,56 +243,43 @@ YAML
 YAML::Syck
 YAML::Tiny
 dist/data-dumper/dumper.pm     ? Should you be using L<...> instead of 1
-dist/math-bigint/lib/math/bigint.pm    Verbatim line length including indents exceeds 79 by    71
-dist/math-bigrat/lib/math/bigrat.pm    Verbatim line length including indents exceeds 79 by    7
 dist/module-corelist/lib/module/corelist.pod   Verbatim line length including indents exceeds 79 by    4
 dist/module-corelist/lib/module/corelist/utils.pm      Verbatim line length including indents exceeds 79 by    2
+dist/pathtools/lib/file/spec/amigaos.pm        Verbatim line length including indents exceeds 79 by    1
 dist/selfloader/lib/selfloader.pm      Verbatim line length including indents exceeds 79 by    13
 dist/storable/storable.pm      Verbatim line length including indents exceeds 79 by    4
-dist/thread-queue/lib/thread/queue.pm  Verbatim line length including indents exceeds 79 by    4
+dist/thread-queue/lib/thread/queue.pm  Verbatim line length including indents exceeds 79 by    3
 dist/threads/lib/threads.pm    Verbatim line length including indents exceeds 79 by    3
 dist/tie-file/lib/tie/file.pm  Verbatim line length including indents exceeds 79 by    3
+ext/amiga-arexx/arexx.pm       Verbatim line length including indents exceeds 79 by    2
+ext/amiga-exec/exec.pm Verbatim line length including indents exceeds 79 by    2
 ext/devel-peek/peek.pm ? Should you be using L<...> instead of 2
 ext/dynaloader/dynaloader.pm   Verbatim line length including indents exceeds 79 by    1
 ext/file-find/lib/file/find.pm Verbatim line length including indents exceeds 79 by    1
-ext/file-glob/glob.pm  Verbatim line length including indents exceeds 79 by    15
-ext/hash-util-fieldhash/lib/hash/util/fieldhash.pm     Apparent broken link    1
+ext/file-glob/glob.pm  Verbatim line length including indents exceeds 79 by    6
 ext/hash-util/lib/hash/util.pm Verbatim line length including indents exceeds 79 by    2
-ext/pod-html/testdir/perlpodspec-copy.pod      Verbatim line length including indents exceeds 79 by    8
+ext/pod-html/testdir/perlpodspec-copy.pod      Verbatim line length including indents exceeds 79 by    2
 ext/pod-html/testdir/perlvar-copy.pod  ? Should you be using L<...> instead of 3
 ext/pod-html/testdir/perlvar-copy.pod  Verbatim line length including indents exceeds 79 by    6
-ext/posix/lib/posix.pod        ? Should you be using F<...> or maybe L<...> instead of 1
 ext/vms-dclsym/dclsym.pm       ? Should you be using L<...> instead of 1
 ext/vms-filespec/lib/vms/filespec.pm   Verbatim line length including indents exceeds 79 by    1
 install        ? Should you be using F<...> or maybe L<...> instead of 1
-os2/os2/os2-extattr/extattr.pm ? Should you be using F<...> or maybe L<...> instead of 1
-os2/os2/os2-process/process.pm Verbatim line length including indents exceeds 79 by    27
-os2/os2/os2-rexx/dll/dll.pm    Verbatim line length including indents exceeds 79 by    2
-os2/os2/os2-rexx/rexx.pm       Verbatim line length including indents exceeds 79 by    1
 pod/perl.pod   Verbatim line length including indents exceeds 79 by    8
-pod/perlaix.pod        Verbatim line length including indents exceeds 79 by    11
-pod/perlandroid.pod    Verbatim line length including indents exceeds 79 by    2
-pod/perlapi.pod        ? Should you be using L<...> instead of 80
-pod/perlapio.pod       Verbatim line length including indents exceeds 79 by    5
+pod/perlandroid.pod    Verbatim line length including indents exceeds 79 by    1
 pod/perlbook.pod       Verbatim line length including indents exceeds 79 by    1
 pod/perlcall.pod       Verbatim line length including indents exceeds 79 by    2
 pod/perlce.pod Verbatim line length including indents exceeds 79 by    3
-pod/perlcygwin.pod     Verbatim line length including indents exceeds 79 by    24
-pod/perldebguts.pod    Verbatim line length including indents exceeds 79 by    34
-pod/perldebtut.pod     Verbatim line length including indents exceeds 79 by    22
-pod/perldebug.pod      Verbatim line length including indents exceeds 79 by    3
-pod/perldtrace.pod     Verbatim line length including indents exceeds 79 by    26
-pod/perlfunc.pod       ? Should you be using F<...> or maybe L<...> instead of 1
+pod/perlcygwin.pod     Verbatim line length including indents exceeds 79 by    20
+pod/perldebguts.pod    Verbatim line length including indents exceeds 79 by    27
+pod/perldebtut.pod     Verbatim line length including indents exceeds 79 by    3
+pod/perldtrace.pod     Verbatim line length including indents exceeds 79 by    7
 pod/perlgit.pod        Verbatim line length including indents exceeds 79 by    11
-pod/perlgpl.pod        Verbatim line length including indents exceeds 79 by    50
-pod/perlguts.pod       ? Should you be using F<...> or maybe L<...> instead of 2
 pod/perlguts.pod       ? Should you be using L<...> instead of 1
 pod/perlguts.pod       Verbatim line length including indents exceeds 79 by    1
 pod/perlhack.pod       ? Should you be using L<...> instead of 1
 pod/perlhist.pod       Verbatim line length including indents exceeds 79 by    1
 pod/perlhpux.pod       Verbatim line length including indents exceeds 79 by    7
 pod/perlhurd.pod       Verbatim line length including indents exceeds 79 by    2
-pod/perlintern.pod     ? Should you be using L<...> instead of 5
 pod/perlinterp.pod     ? Should you be using L<...> instead of 1
 pod/perliol.pod        Verbatim line length including indents exceeds 79 by    8
 pod/perlipc.pod        Verbatim line length including indents exceeds 79 by    19
@@ -301,28 +291,22 @@ pod/perlmodstyle.pod      Verbatim line length including indents exceeds 79 by    1
 pod/perlmroapi.pod     ? Should you be using L<...> instead of 1
 pod/perlnetware.pod    Verbatim line length including indents exceeds 79 by    4
 pod/perlnewmod.pod     Verbatim line length including indents exceeds 79 by    1
-pod/perlootut.pod      ? Should you be using F<...> or maybe L<...> instead of 1
 pod/perlos2.pod        ? Should you be using L<...> instead of 2
 pod/perlos2.pod        Verbatim line length including indents exceeds 79 by    21
 pod/perlos390.pod      Verbatim line length including indents exceeds 79 by    11
-pod/perlperf.pod       Verbatim line length including indents exceeds 79 by    154
+pod/perlperf.pod       Verbatim line length including indents exceeds 79 by    122
 pod/perlport.pod       ? Should you be using L<...> instead of 1
 pod/perlrun.pod        Verbatim line length including indents exceeds 79 by    3
 pod/perlsolaris.pod    Verbatim line length including indents exceeds 79 by    14
-pod/perlsource.pod     ? Should you be using F<...> or maybe L<...> instead of 1
-pod/perlsub.pod        ? Should you be using F<...> or maybe L<...> instead of 3
 pod/perlsymbian.pod    Verbatim line length including indents exceeds 79 by    20
 pod/perltie.pod        Verbatim line length including indents exceeds 79 by    13
-pod/perltrap.pod       ? Should you be using F<...> or maybe L<...> instead of 1
-pod/perltru64.pod      ? Should you be using F<...> or maybe L<...> instead of 1
 pod/perltru64.pod      Verbatim line length including indents exceeds 79 by    5
-pod/perlwin32.pod      Verbatim line length including indents exceeds 79 by    12
+pod/perlwin32.pod      Verbatim line length including indents exceeds 79 by    7
 porting/epigraphs.pod  Verbatim line length including indents exceeds 79 by    16
 porting/expand-macro.pl        Verbatim line length including indents exceeds 79 by    2
-porting/release_managers_guide.pod     Verbatim line length including indents exceeds 79 by    7
-porting/todo.pod       Verbatim line length including indents exceeds 79 by    7
+porting/release_managers_guide.pod     Verbatim line length including indents exceeds 79 by    1
+porting/todo.pod       Verbatim line length including indents exceeds 79 by    1
 utils/c2ph     Verbatim line length including indents exceeds 79 by    44
-utils/encguess Apparent broken link    1
 utils/encguess There is no NAME        1
 lib/benchmark.pm       Verbatim line length including indents exceeds 79 by    2
 lib/config.pod ? Should you be using L<...> instead of -1
index cd4519d..f82656d 100644 (file)
@@ -19,6 +19,10 @@ if ( $Config{usecrosscompile} ) {
   skip_all( "Odd failures during cross-compilation" );
 }
 
+if ($::IS_EBCDIC) {
+    skip_all("Fails on EBCDIC machines, prob. because of different sort order");
+}
+
 use strict;
 use warnings;
 use Maintainers qw(show_results process_options finish_tap_output);
index 64f6487..3377b19 100644 (file)
@@ -23,7 +23,7 @@ BEGIN {
     skip_all_without_unicode_tables();
 }
 
-plan tests => 774;  # Update this when adding/deleting tests.
+plan tests => 775;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -1675,6 +1675,22 @@ EOP
                 "test that we handle things like m/\\888888888/ without infinite loops" );
         }
 
+        {   # Test that we handle some malformed UTF-8 without looping [perl
+            # #123562]
+
+            my $code='
+                BEGIN{require q(test.pl);}
+                use Encode qw(_utf8_on);
+                my $malformed = "a\x80\n";
+                _utf8_on($malformed);
+                watchdog(3);
+                $malformed =~ /(\n\r|\r)$/;
+                print q(No infinite loop here!);
+            ';
+            fresh_perl_like($code, qr/Malformed UTF-8 character/, {},
+                "test that we handle some UTF-8 malformations without looping" );
+        }
+
        {
                # [perl #123843] hits SEGV trying to compile this pattern
                my $match;
index 33647f3..e221ece 100644 (file)
@@ -2411,6 +2411,27 @@ EOF
                             "Overlapping ranges in user-defined properties");
     }
 
+    { # [perl #125990], the final 2 tests below each caused a panic.
+        # The \0's are not necessary; it could be a printable character
+        # instead, but were in the ticket, so using them.
+        my $sharp_s = chr utf8::unicode_to_native(0xdf);
+        my $string        = ("\0" x 8)
+                          . ($sharp_s x 3)
+                          . ("\0" x 42)
+                          .  "ý";
+        my $folded_string = ("\0" x 8)
+                          . ("ss" x 3)
+                          . ("\0" x 42)
+                          .  "ý";
+        utf8::downgrade($string);
+        utf8::downgrade($folded_string);
+
+        like($string, qr/$string/i, "LATIN SMALL SHARP S matches itself under /id");
+        unlike($folded_string, qr/$string/i, "LATIN SMALL SHARP S doesn't match 'ss' under /di");
+        like($folded_string, qr/\N{}$string/i, "\\N{} earlier than LATIN SMALL SHARP S transforms /di into /ui, matches 'ss'");
+        like($folded_string, qr/$string\N{}/i, "\\N{} after LATIN SMALL SHARP S transforms /di into /ui, matches 'ss'");
+    }
+
     { # Regexp:Grammars was broken:
   # http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-06/msg01290.html
         fresh_perl_like('use warnings; "abc" =~ qr{(?&foo){0}abc(?<foo>)}',
@@ -2428,6 +2449,7 @@ EOF
                      "buffer overflow in TRIE_STORE_REVCHAR");
     }
 
+
     # !!! NOTE that tests that aren't at all likely to crash perl should go
     # a ways above, above these last ones.
 
index 6674a2a..9d5fa73 100644 (file)
@@ -1924,5 +1924,7 @@ A+(*PRUNE)BC(?{}) AAABC   y       $&      AAABC
 /w\zxy?\z/i    \x{100}a\x{80}a n       -       -
 /w\z\R\z/i     \x{100}a\x{80}a n       -       -
 
+/(a+){1}+a/    aaa     n       -       -               # [perl #125825]
+
 # Keep these lines at the end of the file
 # vim: softtabstop=0 noexpandtab
index 452d982..dd82949 100644 (file)
@@ -205,7 +205,6 @@ my @death =
  '/(?[[[:w:]]])/' => "POSIX class [:w:] unknown {#} m/(?[[[:w:]{#}]])/",
  '/(?[[:w:]])/' => "POSIX class [:w:] unknown {#} m/(?[[:w:]{#}])/",
  '/(?[a])/' =>  'Unexpected character {#} m/(?[a{#}])/',
- '/(?[\t])/l' => '(?[...]) not valid in locale {#} m/(?[{#}\t])/',
  '/(?[ + \t ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/(?[ +{#} \t ])/',
  '/(?[ \cK - ( + \t ) ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/(?[ \cK - ( +{#} \t ) ])/',
  '/(?[ \cK ( \t ) ])/' => 'Unexpected \'(\' with no preceding operator {#} m/(?[ \cK ({#} \t ) ])/',
@@ -219,6 +218,7 @@ my @death =
  '/(?[ \x{} ])/' => 'Number with no digits {#} m/(?[ \x{}{#} ])/',
  '/(?[ \cK + ) ])/' => 'Unexpected \')\' {#} m/(?[ \cK + ){#} ])/',
  '/(?[ \cK + ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ \cK + {#}])/',
+ '/(?[ ( ) ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ ( ) {#}])/',
  '/(?[ \p{foo} ])/' => 'Property \'foo\' is unknown {#} m/(?[ \p{foo}{#} ])/',
  '/(?[ \p{ foo = bar } ])/' => 'Property \'foo = bar\' is unknown {#} m/(?[ \p{ foo = bar }{#} ])/',
  '/(?[ \8 ])/' => 'Unrecognized escape \8 in character class {#} m/(?[ \8{#} ])/',
@@ -409,7 +409,6 @@ my @death_utf8 = mark_as_utf8(
  '/ネ(?[[[:ネ:]]])ネ/' => "POSIX class [:ネ:] unknown {#} m/ネ(?[[[:ネ:]{#}]])ネ/",
  '/ネ(?[[:ネ:]])ネ/' => "POSIX class [:ネ:] unknown {#} m/ネ(?[[:ネ:]{#}])ネ/",
  '/ネ(?[ネ])ネ/' =>  'Unexpected character {#} m/ネ(?[ネ{#}])ネ/',
- '/ネ(?[ネ])/l' => '(?[...]) not valid in locale {#} m/ネ(?[{#}ネ])/',
  '/ネ(?[ + [ネ] ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/ネ(?[ +{#} [ネ] ])/',
  '/ネ(?[ \cK - ( + [ネ] ) ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/ネ(?[ \cK - ( +{#} [ネ] ) ])/',
  '/ネ(?[ \cK ( [ネ] ) ])/' => 'Unexpected \'(\' with no preceding operator {#} m/ネ(?[ \cK ({#} [ネ] ) ])/',
@@ -505,7 +504,6 @@ my @warning = (
                     'Useless (?c) - use /gc modifier {#} m/(?ogc{#})\x{100}/',
                   ],
     '/a{1,1}?\x{100}/' => 'Useless use of greediness modifier \'?\' {#} m/a{1,1}?{#}\x{100}/',
-    '/b{3}  +\x{100}/x' => 'Useless use of greediness modifier \'+\' {#} m/b{3}  +{#}\x{100}/',
     "/(?[ [ % - % ] ])/" => "",
     "/(?[ [ : - \\x$colon_hex ] ])\\x{100}/" => "\": - \\x$colon_hex \" is more clearly written simply as \":\" {#} m/(?[ [ : - \\x$colon_hex {#}] ])\\x{100}/",
     "/(?[ [ \\x$colon_hex - : ] ])\\x{100}/" => "\"\\x$colon_hex\ - : \" is more clearly written simply as \":\" {#} m/(?[ [ \\x$colon_hex - : {#}] ])\\x{100}/",
index 48a4f00..ee161b2 100644 (file)
@@ -9,7 +9,8 @@ BEGIN {
     chdir 't' if -d 't';
     @INC = ('../lib','.','../ext/re');
     require './test.pl';
-    require './test.pl'; require './charset_tools.pl';
+    require './charset_tools.pl';
+    require './loc_tools.pl';
     skip_all_without_unicode_tables();
 }
 
@@ -96,6 +97,48 @@ like("k", $still_fold, "/i on interpolated (?[ ]) is retained in outer without /
 eval 'my $x = qr/(?[ [a] ])/; qr/(?[ $x ])/';
 is($@, "", 'qr/(?[ [a] ])/ can be interpolated');
 
+like("B", qr/(?[ [B] | ! ( [^B] ) ])/, "[perl #125892]");
+
+if (! is_miniperl() && locales_enabled('LC_CTYPE')) {
+    my $utf8_locale = find_utf8_ctype_locale;
+    SKIP: {
+        skip("No utf8 locale available on this platform", 8) unless $utf8_locale;
+
+        setlocale(&POSIX::LC_ALL, "C");
+        use locale;
+
+        $kelvin_fold = qr/(?[ \N{KELVIN SIGN} ])/i;
+        my $single_char_class = qr/(?[ \: ])/;
+
+        setlocale(&POSIX::LC_ALL, $utf8_locale);
+
+        like("\N{KELVIN SIGN}", $kelvin_fold,
+             '(?[ \N{KELVIN SIGN} ]) matches itself under /i in UTF8-locale');
+        like("K", $kelvin_fold,
+                '(?[ \N{KELVIN SIGN} ]) matches "K" under /i in UTF8-locale');
+        like("k", $kelvin_fold,
+                '(?[ \N{KELVIN SIGN} ]) matches "k" under /i in UTF8-locale');
+        like(":", $single_char_class,
+             '(?[ : ]) matches itself in UTF8-locale (a single character class)');
+
+        setlocale(&POSIX::LC_ALL, "C");
+
+        # These should generate warnings (the above 4 shouldn't), but like()
+        # suppresses them, so the warnings tests are in t/lib/warnings/regexec
+        $^W = 0;   # Suppress the warnings that occur when run by hand with
+                   # the -w option
+        like("\N{KELVIN SIGN}", $kelvin_fold,
+             '(?[ \N{KELVIN SIGN} ]) matches itself under /i in C locale');
+        like("K", $kelvin_fold,
+                '(?[ \N{KELVIN SIGN} ]) matches "K" under /i in C locale');
+        like("k", $kelvin_fold,
+                '(?[ \N{KELVIN SIGN} ]) matches "k" under /i in C locale');
+        like(":", $single_char_class,
+             '(?[ : ]) matches itself in C locale (a single character class)');
+    }
+}
+
+
 done_testing();
 
 1;
index de793b8..4d6e2f0 100644 (file)
@@ -23,7 +23,7 @@ BEGIN {
     skip_all_without_unicode_tables();
 }
 
-plan tests => 25;  # Update this when adding/deleting tests.
+plan tests => 57;  #** update watchdog timeouts proportionally when adding tests
 
 use strict;
 use warnings;
@@ -41,7 +41,7 @@ run_tests() unless caller;
 sub run_tests {
 
 
-    watchdog(($::running_as_thread && $::running_as_thread) ? 50 : 75);
+    watchdog(($::running_as_thread && $::running_as_thread) ? 150 : 225);
 
     {
         # [perl #120446]
@@ -118,6 +118,22 @@ sub run_tests {
         ok ($s !~ /.*?:::\s*ab/si, 'PREGf_IMPLICIT/si');
         ok ($s !~ /.*?:::\s*ab/ms, 'PREGf_IMPLICIT/ms');
         ok ($s !~ /.*?:::\s*ab/msi,'PREGf_IMPLICIT/msi');
+
+        for my $star ('*', '{0,}') {
+            for my $greedy ('', '?') {
+                for my $flags ('', 'i', 'm', 'mi') {
+                    for my $s ('', 's') {
+                        my $XBOL = $s ? 'SBOL' : 'MBOL';
+                        my $text = "anchored($XBOL) implicit";
+                        fresh_perl_like(<<"PROG", qr/\b\Q$text\E\b/, {}, "/.${star}${greedy}X/${flags}${s} anchors implicitly");
+BEGIN { \@INC = ('../lib', '.', '../ext/re'); }
+use re 'debug';
+qr/.${star}${greedy}:::\\s*ab/${flags}${s}
+PROG
+                    }
+                }
+            }
+        }
     }
 
 } # End of sub run_tests
index 5200377..f767267 100644 (file)
@@ -45,7 +45,7 @@ $|=1;
 
 # When in doubt, skip.
 skip_all($^O)
-    if $^O eq 'VMS' or $^O eq 'MSWin32';
+    if $^O eq 'VMS' or $^O eq 'MSWin32' or $^O eq 'amigaos';
 
 sub make_tmp_file {
     my ($fname, $fcontents) = @_;
index a730297..89905fd 100644 (file)
@@ -121,26 +121,33 @@ is (scalar %ᕘ, 0);
     *ᕘ = undef;
     like($msg, qr/Undefined value assigned to typeglob/);
 
+    my $O_grave = utf8::unicode_to_native(0xd2);
+    my $E_grave = utf8::unicode_to_native(0xc8);
+    my $pat = sprintf(
+        # It took a lot of experimentation to get the backslashes right (khw)
+        "Argument \"\\*main::(?:PW\\\\x\\{%x}MPF"
+                            . "|SKR\\\\x\\{%x}\\\\x\\{%x}\\\\x\\{%x})\" "
+                            . "isn't numeric in sprintf",
+                              $O_grave, $E_grave, $E_grave, $E_grave);
+    $pat = qr/$pat/;
+
     no warnings 'once';
     # test warnings for converting globs to other forms
     my $copy = *PWÒMPF;
     foreach ($copy, *SKRÈÈÈ) {
        $msg = '';
        my $victim = sprintf "%d", $_;
-       like($msg, qr/^Argument "\*main::(?:PW\\x\{d2\}MPF|SKR\\x\{c8\}\\x\{c8\}\\x\{c8\})" isn't numeric in sprintf/,
-            "Warning on conversion to IV");
+       like($msg, $pat, "Warning on conversion to IV");
        is($victim, 0);
 
        $msg = '';
        $victim = sprintf "%u", $_;
-       like($msg, qr/^Argument "\*main::(?:PW\\x\{d2\}MPF|SKR\\x\{c8\}\\x\{c8\}\\x\{c8\})" isn't numeric in sprintf/,
-            "Warning on conversion to UV");
+       like($msg, $pat, "Warning on conversion to UV");
        is($victim, 0);
 
        $msg = '';
        $victim = sprintf "%e", $_;
-       like($msg, qr/^Argument "\*main::(?:PW\\x\{d2\}MPF|SKR\\x\{c8\}\\x\{c8\}\\x\{c8\})" isn't numeric in sprintf/,
-            "Warning on conversion to NV");
+       like($msg, $pat, "Warning on conversion to NV");
        like($victim, qr/^0\.0+E\+?00/i, "Expect floating point zero");
 
        $msg = '';
index 6b155bb..c7f447f 100644 (file)
@@ -8,9 +8,9 @@ BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
+    require './charset_tools.pl';
     skip_all('no re module') unless defined &DynaLoader::boot_DynaLoader;
     skip_all_without_unicode_tables();
-    skip_all('EBCDIC') if $::IS_EBCDIC;
 }
 
 use strict;
@@ -31,18 +31,38 @@ my $uname_last = "bƁ\N{U+00B5}";
 my $octal_first = "c\377Ć";
 my $octal_last = "cĆ\377";
 
+sub fixup (@) {
+    # @_ is a list of strings.  Each string is comprised of the digits that
+    # form a byte of the UTF-8 representation of a character, or sequence of
+    # characters
+
+    my $string = join "", map { chr 0 + $_ } @_;
+    $string = byte_utf8a_to_utf8n($string);
+
+    # Return the concatenation of each byte of $string converted to a string of
+    # its decimal ordinal value.  This is just the input array converted to
+    # native, and joined together.
+    return join "", map { sprintf "%d", ord $_ } split "", $string;
+}
+
 do {
        use bytes;
-       is((join "", unpack("C*", $A_with_ogonek)), "196" . "132", 'single char above 0x100');
-       is((join "", unpack("C*", $micro_sign)), "194" . "181", 'single char in 0x80 .. 0xFF');
-       is((join "", unpack("C*", $hex_first)), "97" . "194" . "162" . "196" . "132", 'a . \x{A2} . char above 0x100');
-       is((join "", unpack("C*", $hex_last)), "97" . "196" . "132" . "194" . "162", 'a . char above 0x100 . \x{A2}');
-       is((join "", unpack("C*", $name_first)), "98" . "194" . "181" . "198" . "129", 'b . \N{MICRO SIGN} . char above 0x100');
-       is((join "", unpack("C*", $name_last)), "98" . "198" . "129" . "194" . "181", 'b . char above 0x100 . \N{MICRO SIGN}');
-       is((join "", unpack("C*", $uname_first)), "98" . "194" . "181" . "198" . "129", 'b . \N{U+00B5} . char above 0x100');
-       is((join "", unpack("C*", $uname_last)), "98" . "198" . "129" . "194" . "181", 'b . char above 0x100 . \N{U+00B5}');
-       is((join "", unpack("C*", $octal_first)), "99" . "195" . "191" . "196" . "134", 'c . \377 . char above 0x100');
-       is((join "", unpack("C*", $octal_last)), "99" . "196" . "134" . "195" . "191", 'c . char above 0x100 . \377');
+       is((join "", unpack("C*", $A_with_ogonek)), fixup("196", "132"), 'single char above 0x100');
+       is((join "", unpack("C*", $micro_sign)), fixup("194", "181"), 'single char in 0x80 .. 0xFF');
+        SKIP: {
+            skip("ASCII-centric tests", 2) if $::IS_EBCDIC;
+            is((join "", unpack("C*", $hex_first)), fixup("97", "194", "162", "196", "132"), 'a, \x{A2}, char above 0x100');
+            is((join "", unpack("C*", $hex_last)), fixup("97", "196", "132", "194", "162"), 'a, char above 0x100, \x{A2}');
+        }
+       is((join "", unpack("C*", $name_first)), fixup("98", "194", "181", "198", "129"), 'b, \N{MICRO SIGN}, char above 0x100');
+       is((join "", unpack("C*", $name_last)), fixup("98", "198", "129", "194", "181"), 'b, char above 0x100, \N{MICRO SIGN}');
+       is((join "", unpack("C*", $uname_first)), fixup("98", "194", "181", "198", "129"), 'b, \N{U+00B5}, char above 0x100');
+       is((join "", unpack("C*", $uname_last)), fixup("98", "198", "129", "194", "181"), 'b, char above 0x100, \N{U+00B5}');
+        SKIP: {
+            skip("ASCII-centric tests", 2) if $::IS_EBCDIC;
+            is((join "", unpack("C*", $octal_first)), fixup("99", "195", "191", "196", "134"), 'c, \377, char above 0x100');
+            is((join "", unpack("C*", $octal_last)), fixup("99", "196", "134", "195", "191"), 'c, char above 0x100, \377');
+        }
 };
 
 {
@@ -62,10 +82,13 @@ eval 'tr νaνbν';
 is $@, "", 'y/// compiles, where / is actually a wide character';
 is $_, "b", 'transliteration worked';
 
-use constant foofoo=>qq|\xc4\xb5|;
-{ no strict; ()=${"\xc4\xb5::foo"} } # vivify Äµ package
-eval 'my foofoo $dog'; # foofoo was resolving to ĵ, not Äµ
-is $@, '', 'my constant $var in utf8 scope where constant is not utf8';
+SKIP: {
+    skip("ASCII-centric test", 1) if $::IS_EBCDIC;
+    use constant foofoo=>qq|\xc4\xb5|;
+    { no strict; ()=${"\xc4\xb5::foo"} } # vivify Äµ package
+    eval 'my foofoo $dog'; # foofoo was resolving to ĵ, not Äµ
+    is $@, '', 'my constant $var in utf8 scope where constant is not utf8';
+}
 
 __END__
 
diff --git a/toke.c b/toke.c
index 7a0f1b6..b1bdfad 100644 (file)
--- a/toke.c
+++ b/toke.c
@@ -1033,7 +1033,7 @@ Perl_lex_stuff_pvn(pTHX_ const char *pv, STRLEN len, U32 flags)
                }
                else {
                     assert(p < e -1 );
-                   *bufptr++ = TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1));
+                   *bufptr++ = EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1));
                    p += 2;
                 }
            }
@@ -1241,7 +1241,7 @@ the current chunk at this time.
 If L</PL_parser-E<gt>bufptr> is pointing to the very end of the current
 chunk (i.e., the current chunk has been entirely consumed), normally the
 current chunk will be discarded at the same time that the new chunk is
-read in.  If C<flags> includes C<LEX_KEEP_PREVIOUS>, the current chunk
+read in.  If C<flags> has the C<LEX_KEEP_PREVIOUS> bit set, the current chunk
 will not be discarded.  If the current chunk has not been entirely
 consumed, then it will not be discarded regardless of the flag.
 
@@ -1362,8 +1362,8 @@ peeked character, use L</lex_read_unichar>.
 
 If the next character is in (or extends into) the next chunk of input
 text, the next chunk will be read in.  Normally the current chunk will be
-discarded at the same time, but if C<flags> includes C<LEX_KEEP_PREVIOUS>
-then the current chunk will not be discarded.
+discarded at the same time, but if C<flags> has the C<LEX_KEEP_PREVIOUS>
+bit set, then the current chunk will not be discarded.
 
 If the input is being interpreted as UTF-8 and a UTF-8 encoding error
 is encountered, an exception is generated.
@@ -1433,8 +1433,8 @@ examine the next character, use L</lex_peek_unichar> instead.
 
 If the next character is in (or extends into) the next chunk of input
 text, the next chunk will be read in.  Normally the current chunk will be
-discarded at the same time, but if C<flags> includes C<LEX_KEEP_PREVIOUS>
-then the current chunk will not be discarded.
+discarded at the same time, but if C<flags> has the C<LEX_KEEP_PREVIOUS>
+bit set, then the current chunk will not be discarded.
 
 If the input is being interpreted as UTF-8 and a UTF-8 encoding error
 is encountered, an exception is generated.
@@ -1471,7 +1471,7 @@ at a non-space character (or the end of the input text).
 
 If spaces extend into the next chunk of input text, the next chunk will
 be read in.  Normally the current chunk will be discarded at the same
-time, but if C<flags> includes C<LEX_KEEP_PREVIOUS> then the current
+time, but if C<flags> has the C<LEX_KEEP_PREVIOUS> bit set, then the current
 chunk will not be discarded.
 
 =cut
@@ -2603,7 +2603,7 @@ S_get_and_check_backslash_N_name(pTHX_ const char* s, const char* const e)
             }
             s++;
         } else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
-            if (! isALPHAU(TWO_BYTE_UTF8_TO_NATIVE(*s, *(s+1)))) {
+            if (! isALPHAU(EIGHT_BIT_UTF8_TO_NATIVE(*s, *(s+1)))) {
                 goto bad_charname;
             }
             s += 2;
@@ -2633,7 +2633,7 @@ S_get_and_check_backslash_N_name(pTHX_ const char* s, const char* const e)
                 s++;
             }
             else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
-                if (! isCHARNAME_CONT(TWO_BYTE_UTF8_TO_NATIVE(*s, *(s+1))))
+                if (! isCHARNAME_CONT(EIGHT_BIT_UTF8_TO_NATIVE(*s, *(s+1))))
                 {
                     goto bad_charname;
                 }
@@ -2833,6 +2833,8 @@ S_scan_const(pTHX_ char *start)
                                            example when it is entirely composed
                                            of hex constants */
     SV *res;                           /* result from charnames */
+    STRLEN offset_to_max;   /* The offset in the output to where the range
+                               high-end character is temporarily placed */
 
     /* Note on sizing:  The scanned constant is placed into sv, which is
      * initialized by newSV() assuming one byte of output for every byte of
@@ -2849,8 +2851,9 @@ S_scan_const(pTHX_ char *start)
     UV uv = UV_MAX; /* Initialize to weird value to try to catch any uses
                        before set */
 #ifdef EBCDIC
-    UV literal_endpoint = 0;
-    bool native_range = TRUE; /* turned to FALSE if the first endpoint is Unicode. */
+    int backslash_N = 0;            /* ? was the character from \N{} */
+    int non_portable_endpoint = 0;  /* ? In a range is an endpoint
+                                       platform-specific like \x65 */
 #endif
 
     PERL_ARGS_ASSERT_SCAN_CONST;
@@ -2866,152 +2869,304 @@ S_scan_const(pTHX_ char *start)
     ENTER_with_name("scan_const");
     SAVEFREESV(sv);
 
-    while (s < send || dorange) {
+    while (s < send
+           || dorange   /* Handle tr/// range at right edge of input */
+    ) {
 
         /* get transliterations out of the way (they're most literal) */
        if (PL_lex_inwhat == OP_TRANS) {
-           /* expand a range A-Z to the full set of characters.  AIE! */
-           if (dorange) {
-               I32 i;                          /* current expanded character */
-               I32 min;                        /* first character in range */
-               I32 max;                        /* last character in range */
 
+            /* But there isn't any special handling necessary unless there is a
+             * range, so for most cases we just drop down and handle the value
+             * as any other.  There are two exceptions.
+             *
+             * 1.  A minus sign indicates that we are actually going to have
+             *     a range.  In this case, skip the '-', set a flag, then drop
+             *     down to handle what should be the end range value.
+             * 2.  After we've handled that value, the next time through, that
+             *     flag is set and we fix up the range.
+             *
+             * Ranges entirely within Latin1 are expanded out entirely, in
+             * order to avoid the significant overhead of making a swash.
+             * Ranges that extend above Latin1 have to have a swash, so there
+             * is no advantage to abbreviate them here, so they are stored here
+             * as Min, ILLEGAL_UTF8_BYTE, Max.  The illegal byte signifies a
+             * hyphen without any possible ambiguity.  On EBCDIC machines, if
+             * the range is expressed as Unicode, the Latin1 portion is
+             * expanded out even if the entire range extends above Latin1.
+             * This is because each code point in it has to be processed here
+             * individually to get its native translation */
+
+           if (! dorange) {
+
+                /* Here, we don't think we're in a range.  If we've processed
+                 * at least one character, then see if this next one is a '-',
+                 * indicating the previous one was the start of a range.  But
+                 * don't bother if we're too close to the end for the minus to
+                 * mean that. */
+                if (*s != '-' || s >= send - 1 || s == start) {
+
+                    /* A regular character.  Process like any other, but first
+                     * clear any flags */
+                    didrange = FALSE;
+                    dorange = FALSE;
 #ifdef EBCDIC
-               UV uvmax = 0;
+                    non_portable_endpoint = 0;
+                    backslash_N = 0;
 #endif
+                    /* Drops down to generic code to process current byte */
+                }
+                else {
+                    if (didrange) { /* Something like y/A-C-Z// */
+                        Perl_croak(aTHX_ "Ambiguous range in transliteration operator");
+                    }
 
-               if (has_utf8
-#ifdef EBCDIC
-                   && !native_range
-#endif
-                ) {
-                   char * const c = (char*)utf8_hop((U8*)d, -1);
-                   char *e = d++;
-                   while (e-- > c)
-                       *(e + 1) = *e;
-                   *c = (char) ILLEGAL_UTF8_BYTE;
-                   /* mark the range as done, and continue */
-                   dorange = FALSE;
-                   didrange = TRUE;
-                   continue;
-               }
+                    dorange = TRUE;
 
-               i = d - SvPVX_const(sv);                /* remember current offset */
-#ifdef EBCDIC
-                SvGROW(sv,
-                      SvLEN(sv) + ((has_utf8)
-                                    ?  (512 - UTF_CONTINUATION_MARK
-                                        + UNISKIP(0x100))
-                                   : 256));
-                /* How many two-byte within 0..255: 128 in UTF-8,
-                * 96 in UTF-8-mod. */
+                    s++;    /* Skip past the minus */
+
+                    /* d now points to where the end-range character will be
+                     * placed.  Save it so won't have to go finding it later,
+                     * and drop down to get that character.  (Actually we
+                     * instead save the offset, to handle the case where a
+                     * realloc in the meantime could change the actual
+                     * pointer).  We'll finish processing the range the next
+                     * time through the loop */
+                    offset_to_max = d - SvPVX_const(sv);
+                }
+            }  /* End of not a range */
+            else {
+                /* Here we have parsed a range.  Now must handle it.  At this
+                 * point:
+                 * 'sv' is a SV* that contains the output string we are
+                 *      constructing.  The final two characters in that string
+                 *      are the range start and range end, in order.
+                 * 'd'  points to just beyond the range end in the 'sv' string,
+                 *      where we would next place something
+                 * 'offset_to_max' is the offset in 'sv' at which the character
+                 *      before 'd' begins.
+                 */
+                const char * max_ptr = SvPVX_const(sv) + offset_to_max;
+                const char * min_ptr;
+                IV range_min;
+               IV range_max;   /* last character in range */
+                STRLEN save_offset;
+                STRLEN grow;
+#ifndef EBCDIC  /* Not meaningful except in EBCDIC, so initialize to false */
+                const bool convert_unicode = FALSE;
+                const IV real_range_max = 0;
 #else
-               SvGROW(sv, SvLEN(sv) + 256);    /* never more than 256 chars in a range */
+                bool convert_unicode;
+                IV real_range_max = 0;
 #endif
-               d = SvPVX(sv) + i;              /* refresh d after realloc */
-#ifdef EBCDIC
+
+                /* Get the range-ends code point values. */
                 if (has_utf8) {
-                    int j;
-                    for (j = 0; j <= 1; j++) {
-                        char * const c = (char*)utf8_hop((U8*)d, -1);
-                        const UV uv    = utf8n_to_uvchr((U8*)c, d - c, NULL, 0);
-                        if (j)
-                            min = (U8)uv;
-                        else if (uv < 256)
-                            max = (U8)uv;
-                        else {
-                            max = (U8)0xff; /* only to \xff */
-                            uvmax = uv; /* \x{100} to uvmax */
-                        }
-                        d = c; /* eat endpoint chars */
-                     }
+                    /* We know the utf8 is valid, because we just constructed
+                     * it ourselves in previous loop iterations */
+                    min_ptr = (char*) utf8_hop( (U8*) max_ptr, -1);
+                    range_min = valid_utf8_to_uvchr( (U8*) min_ptr, NULL);
+                    range_max = valid_utf8_to_uvchr( (U8*) max_ptr, NULL);
                 }
-               else {
-#endif
-                  d -= 2;              /* eat the first char and the - */
-                  min = (U8)*d;        /* first char in range */
-                  max = (U8)d[1];      /* last char in range  */
+                else {
+                    min_ptr = max_ptr - 1;
+                    range_min = * (U8*) min_ptr;
+                    range_max = * (U8*) max_ptr;
+                }
+
 #ifdef EBCDIC
-              }
+                /* On EBCDIC platforms, we may have to deal with portable
+                 * ranges.  These happen if at least one range endpoint is a
+                 * Unicode value (\N{...}), or if the range is a subset of
+                 * [A-Z] or [a-z], and both ends are literal characters,
+                 * like 'A', and not like \x{C1} */
+                if ((convert_unicode
+                     = cBOOL(backslash_N)   /* \N{} forces Unicode, hence
+                                               portable range */
+                      || (   ! non_portable_endpoint
+                          && ((  isLOWER_A(range_min) && isLOWER_A(range_max))
+                             || (isUPPER_A(range_min) && isUPPER_A(range_max))))
+                )) {
+
+                    /* Special handling is needed for these portable ranges.
+                     * They are defined to all be in Unicode terms, which
+                     * include all Unicode code points between the end points.
+                     * Convert to Unicode to get the Unicode range.  Later we
+                     * will convert each code point in the range back to
+                     * native.  */
+                    range_min = NATIVE_TO_UNI(range_min);
+                    range_max = NATIVE_TO_UNI(range_max);
+                }
 #endif
 
-                if (min > max) {
-                   Perl_croak(aTHX_
-                              "Invalid range \"%c-%c\" in transliteration operator",
-                              (char)min, (char)max);
+                if (range_min > range_max) {
+                    if (convert_unicode) {
+                        /* Need to convert back to native for meaningful
+                         * messages for this platform */
+                        range_min = UNI_TO_NATIVE(range_min);
+                        range_max = UNI_TO_NATIVE(range_max);
+                    }
+
+                    /* Use the characters themselves for the error message if
+                     * ASCII printables; otherwise some visible representation
+                     * of them */
+                    if (isPRINT_A(range_min) && isPRINT_A(range_max)) {
+                        Perl_croak(aTHX_
+                        "Invalid range \"%c-%c\" in transliteration operator",
+                        (char)range_min, (char)range_max);
+                    }
+                    else if (convert_unicode) {
+                        /* diag_listed_as: Invalid range "%s" in transliteration operator */
+                        Perl_croak(aTHX_
+                              "Invalid range \"\\N{U+%04"UVXf"}-\\N{U+%04"UVXf"}\""
+                               " in transliteration operator",
+                              range_min, range_max);
+                    }
+                    else {
+                        /* diag_listed_as: Invalid range "%s" in transliteration operator */
+                        Perl_croak(aTHX_
+                              "Invalid range \"\\x{%04"UVXf"}-\\x{%04"UVXf"}\""
+                               " in transliteration operator",
+                              range_min, range_max);
+                    }
                 }
 
+               if (has_utf8) {
+
+                    /* We try to avoid creating a swash.  If the upper end of
+                     * this range is below 256, this range won't force a swash;
+                     * otherwise it does force a swash, and as long as we have
+                     * to have one, we might as well not expand things out.
+                     * But if it's EBCDIC, we may have to look at each
+                     * character below 256 if we have to convert to/from
+                     * Unicode values */
+                    if (range_max > 255
 #ifdef EBCDIC
-                /* Because of the discontinuities in EBCDIC A-Z and a-z, expand
-                 * any subsets of these ranges into individual characters */
-               if (literal_endpoint == 2
-                    && ((isLOWER_A(min) && isLOWER_A(max))
-                     || (isUPPER_A(min) && isUPPER_A(max))))
-                {
-                    for (i = min; i <= max; i++) {
-                        if (isALPHA_A(i))
-                            *d++ = i;
-                   }
-               }
-               else
+                       && (range_min > 255 || ! convert_unicode)
 #endif
-                   for (i = min; i <= max; i++)
-#ifdef EBCDIC
-                        if (has_utf8) {
-                            append_utf8_from_native_byte(i, &d);
+                    ) {
+                        /* Move the high character one byte to the right; then
+                         * insert between it and the range begin, an illegal
+                         * byte which serves to indicate this is a range (using
+                         * a '-' could be ambiguous). */
+                        char *e = d++;
+                        while (e-- > max_ptr) {
+                            *(e + 1) = *e;
                         }
-                        else
-#endif
-                            *d++ = (char)i;
+                        *(e + 1) = (char) ILLEGAL_UTF8_BYTE;
+                        goto range_done;
+                    }
+
+                    /* Here, we're going to expand out the range.  For EBCDIC
+                     * the range can extend above 255 (not so in ASCII), so
+                     * for EBCDIC, split it into the parts above and below
+                     * 255/256 */
 #ifdef EBCDIC
-                if (uvmax) {
-                    d = (char*)uvchr_to_utf8((U8*)d, 0x100);
-                    if (uvmax > 0x101)
-                        *d++ = (char) ILLEGAL_UTF8_BYTE;
-                    if (uvmax > 0x100)
-                        d = (char*)uvchr_to_utf8((U8*)d, uvmax);
-                }
+                    if (range_max > 255) {
+                        real_range_max = range_max;
+                        range_max = 255;
+                    }
 #endif
+               }
 
-               /* mark the range as done, and continue */
-               dorange = FALSE;
-               didrange = TRUE;
+                /* Here we need to expand out the string to contain each
+                 * character in the range.  Grow the output to handle this */
+
+                save_offset  = min_ptr - SvPVX_const(sv);
+
+                /* The base growth is the number of code points in the range */
+                grow = range_max - range_min + 1;
+                if (has_utf8) {
+
+                    /* But if the output is UTF-8, some of those characters may
+                     * need two bytes (since the maximum range value here is
+                     * 255, the max bytes per character is two).  On ASCII
+                     * platforms, it's not much trouble to get an accurate
+                     * count of what's needed.  But on EBCDIC, the ones that
+                     * need 2 bytes are scattered around, so just use a worst
+                     * case value instead of calculating for that platform.  */
 #ifdef EBCDIC
-               literal_endpoint = 0;
+                    grow *= 2;
+#else
+                    /* Only those above 127 require 2 bytes.  This may be
+                     * everything in the range, or not */
+                    if (range_min > 127) {
+                        grow *= 2;
+                    }
+                    else if (range_max > 127) {
+                        grow += range_max - 127;
+                    }
 #endif
-               continue;
-           }
+                }
+
+                /* Subtract 3 for the bytes that were already accounted for
+                 * (min, max, and the hyphen) */
+                SvGROW(sv, SvLEN(sv) + grow - 3);
+               d = SvPVX(sv) + save_offset;    /* refresh d after realloc */
 
-           /* range begins (ignore - as first or last char) */
-           else if (*s == '-' && s+1 < send  && s != start) {
-               if (didrange) {
-                   Perl_croak(aTHX_ "Ambiguous range in transliteration operator");
+                /* Here, we expand out the range.  On ASCII platforms, the
+                 * compiler should optimize out the 'convert_unicode==TRUE'
+                 * portion of this */
+                if (convert_unicode) {
+                    IV i;
+
+                    /* Recall that the min and max are now in Unicode terms, so
+                     * we have to convert each character to its native
+                     * equivalent */
+                    if (has_utf8) {
+                        for (i = range_min; i <= range_max; i++) {
+                            append_utf8_from_native_byte(LATIN1_TO_NATIVE((U8) i),
+                                                         (U8 **) &d);
+                        }
+                    }
+                    else {
+                        for (i = range_min; i <= range_max; i++) {
+                            *d++ = (char)LATIN1_TO_NATIVE((U8) i);
+                        }
+                   }
                }
-               if (has_utf8
-#ifdef EBCDIC
-                   && !native_range
-#endif
-                   ) {
-                   *d++ = (char) ILLEGAL_UTF8_BYTE;    /* use illegal utf8 byte--see pmtrans */
-                   s++;
-                   continue;
+                else {
+                    IV i;
+
+                    /* Here, no conversions are necessary, which means that the
+                     * first character in the range is already in 'd' and
+                     * valid, so we can skip overwriting it */
+                    if (has_utf8) {
+                        d += UTF8SKIP(d);
+                        for (i = range_min + 1; i <= range_max; i++) {
+                            append_utf8_from_native_byte((U8) i, (U8 **) &d);
+                        }
+                    }
+                    else {
+                        d++;
+                        for (i = range_min + 1; i <= range_max; i++) {
+                            *d++ = (char)i;
+                        }
+                   }
                }
-               dorange = TRUE;
-               s++;
-           }
-           else {
-               didrange = FALSE;
-#ifdef EBCDIC
-               literal_endpoint = 0;
-               native_range = TRUE;
-#endif
-           }
-       }
 
-        /* if we get to any of these else's, we're not doing a
-         * transliteration. */
+                /* (Compilers should optimize this out for non-EBCDIC).  If the
+                 * original range extended above 255, add in that portion */
+                if (real_range_max) {
+                    *d++ = (char) UTF8_TWO_BYTE_HI(0x100);
+                    *d++ = (char) UTF8_TWO_BYTE_LO(0x100);
+                    if (real_range_max > 0x101)
+                        *d++ = (char) ILLEGAL_UTF8_BYTE;
+                    if (real_range_max > 0x100)
+                        d = (char*)uvchr_to_utf8((U8*)d, real_range_max);
+                }
 
+              range_done:
+               /* mark the range as done, and continue */
+               didrange = TRUE;
+               dorange = FALSE;
+#ifdef EBCDIC
+               non_portable_endpoint = 0;
+                backslash_N = 0;
+#endif
+               continue;
+           } /* End of is a range */
+        } /* End of transliteration.  Joins main code after these else's */
        else if (*s == '[' && PL_lex_inpat && !in_charclass) {
            char *s1 = s-1;
            int esc = 0;
@@ -3139,14 +3294,6 @@ S_scan_const(pTHX_ char *start)
            }
 
            switch (*s) {
-
-           /* quoted - in transliterations */
-           case '-':
-               if (PL_lex_inwhat == OP_TRANS) {
-                   *d++ = *s++;
-                   continue;
-               }
-               /* FALLTHROUGH */
            default:
                {
                    if ((isALPHANUMERIC(*s)))
@@ -3216,7 +3363,10 @@ S_scan_const(pTHX_ char *start)
                 * to recode the rest of the string into utf8 */
                
                /* Here uv is the ordinal of the next character being added */
-               if (!UVCHR_IS_INVARIANT(uv)) {
+               if (UVCHR_IS_INVARIANT(uv)) {
+                   *d++ = (char) uv;
+               }
+               else {
                    if (!has_utf8 && uv > 255) {
                        /* Might need to recode whatever we have accumulated so
                         * far if it contains any chars variant in utf8 or
@@ -3227,12 +3377,12 @@ S_scan_const(pTHX_ char *start)
                        *d = '\0';
                        /* See Note on sizing above.  */
                        sv_utf8_upgrade_flags_grow(
-                                         sv,
-                                         SV_GMAGIC|SV_FORCE_UTF8_UPGRADE
+                                       sv,
+                                       SV_GMAGIC|SV_FORCE_UTF8_UPGRADE
                                                   /* Above-latin1 in string
                                                    * implies no encoding */
                                                   |SV_UTF8_NO_ENCODING,
-                                         UNISKIP(uv) + (STRLEN)(send - s) + 1);
+                                       UVCHR_SKIP(uv) + (STRLEN)(send - s) + 1);
                        d = SvPVX(sv) + SvCUR(sv);
                        has_utf8 = TRUE;
                     }
@@ -3246,26 +3396,23 @@ S_scan_const(pTHX_ char *start)
                                (PL_lex_repl ? OPpTRANS_FROM_UTF
                                             : OPpTRANS_TO_UTF);
                        }
-#ifdef EBCDIC
-                       if (uv > 255 && !dorange)
-                           native_range = FALSE;
-#endif
                     }
                    else {
                        *d++ = (char)uv;
                    }
                }
-               else {
-                   *d++ = (char) uv;
-               }
+#ifdef EBCDIC
+                non_portable_endpoint++;
+#endif
                continue;
 
            case 'N':
                 /* In a non-pattern \N must be like \N{U+0041}, or it can be a
                  * named character, like \N{LATIN SMALL LETTER A}, or a named
                  * sequence, like \N{LATIN CAPITAL LETTER A WITH MACRON AND
-                 * GRAVE}.  For convenience all three forms are referred to as
-                 * "named characters" below.
+                 * GRAVE} (except y/// can't handle the latter, croaking).  For
+                 * convenience all three forms are referred to as "named
+                 * characters" below.
                  *
                  * For patterns, \N also can mean to match a non-newline.  Code
                  * before this 'switch' statement should already have handled
@@ -3283,11 +3430,14 @@ S_scan_const(pTHX_ char *start)
                  *
                 * The structure of this section of code (besides checking for
                 * errors and upgrading to utf8) is:
-                 *  If the named character is of the form \N{U+...}, pass it
+                 *    If the named character is of the form \N{U+...}, pass it
                  *      through if a pattern; otherwise convert the code point
                  *      to utf8
-                 *  Otherwise must be some \N{NAME}: convert to \N{U+c1.c2...}
-                 *      if a pattern; otherwise convert to utf8
+                 *    Otherwise must be some \N{NAME}: convert to
+                 *      \N{U+c1.c2...} if a pattern; otherwise convert to utf8
+                 *
+                 * Transliteration is an exception.  The conversion to utf8 is
+                 * only done if the code point requires it to be representable.
                  *
                  * Here, 's' points to the 'N'; the test below is guaranteed to
                 * succeed if we are being called on a pattern, as we already
@@ -3352,25 +3502,30 @@ S_scan_const(pTHX_ char *start)
                         if (len == 0 || (len != (STRLEN)(e - s)))
                             goto bad_NU;
 
-                         /* If the destination is not in utf8, unconditionally
-                         * recode it to be so.  This is because \N{} implies
-                         * Unicode semantics, and scalars have to be in utf8
-                         * to guarantee those semantics */
-                       if (! has_utf8) {
+                         /* For non-tr///, if the destination is not in utf8,
+                          * unconditionally recode it to be so.  This is
+                          * because \N{} implies Unicode semantics, and scalars
+                          * have to be in utf8 to guarantee those semantics.
+                          * tr/// doesn't care about Unicode rules, so no need
+                          * there to upgrade to UTF-8 for small enough code
+                          * points */
+                       if (! has_utf8 && (   uv > 0xFF
+                                           || PL_lex_inwhat != OP_TRANS))
+                        {
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            SvPOK_on(sv);
                            *d = '\0';
                            /* See Note on sizing above.  */
                            sv_utf8_upgrade_flags_grow(
-                                       sv,
-                                       SV_GMAGIC|SV_FORCE_UTF8_UPGRADE,
-                                       UNISKIP(uv) + (STRLEN)(send - e) + 1);
+                                    sv,
+                                    SV_GMAGIC|SV_FORCE_UTF8_UPGRADE,
+                                   UVCHR_SKIP(uv) + (STRLEN)(send - e) + 1);
                            d = SvPVX(sv) + SvCUR(sv);
                            has_utf8 = TRUE;
                        }
 
                         /* Add the (Unicode) code point to the output. */
-                       if (UNI_IS_INVARIANT(uv)) {
+                       if (OFFUNI_IS_INVARIANT(uv)) {
                            *d++ = (char) LATIN1_TO_NATIVE(uv);
                        }
                        else {
@@ -3498,11 +3653,32 @@ S_scan_const(pTHX_ char *start)
                    else { /* Here, not in a pattern.  Convert the name to a
                            * string. */
 
-                        /* If destination is not in utf8, unconditionally
-                         * recode it to be so.  This is because \N{} implies
-                         * Unicode semantics, and scalars have to be in utf8
-                         * to guarantee those semantics */
-                       if (! has_utf8) {
+                        if (PL_lex_inwhat == OP_TRANS) {
+                            str = SvPV_const(res, len);
+                            if (len > ((SvUTF8(res))
+                                       ? UTF8SKIP(str)
+                                       : 1U))
+                            {
+                                yyerror(Perl_form(aTHX_
+                                    "%.*s must not be a named sequence"
+                                    " in transliteration operator",
+                                        /*  +1 to include the "}" */
+                                    (int) (e + 1 - start), start));
+                                goto end_backslash_N;
+                            }
+                        }
+                        else if (! SvUTF8(res)) {
+                            /* Make sure \N{} return is UTF-8.  This is because
+                            * \N{} implies Unicode semantics, and scalars have to
+                            * be in utf8 to guarantee those semantics; but not
+                            * needed in tr/// */
+                            sv_utf8_upgrade_flags(res, SV_UTF8_NO_ENCODING);
+                            str = SvPV_const(res, len);
+                        }
+
+                         /* Upgrade destination to be utf8 if this new
+                          * component is */
+                       if (! has_utf8 && SvUTF8(res)) {
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            SvPOK_on(sv);
                            *d = '\0';
@@ -3519,10 +3695,6 @@ S_scan_const(pTHX_ char *start)
                            const STRLEN off = d - SvPVX_const(sv);
                            d = off + SvGROW(sv, off + len + (STRLEN)(send - s) + 1);
                        }
-                        if (! SvUTF8(res)) {    /* Make sure \N{} return is UTF-8 */
-                            sv_utf8_upgrade_flags(res, SV_UTF8_NO_ENCODING);
-                            str = SvPV_const(res, len);
-                        }
                        Copy(str, d, len, char);
                        d += len;
                    }
@@ -3530,9 +3702,10 @@ S_scan_const(pTHX_ char *start)
                    SvREFCNT_dec(res);
 
                } /* End \N{NAME} */
+
+              end_backslash_N:
 #ifdef EBCDIC
-               if (!dorange) 
-                   native_range = FALSE; /* \N{} is defined to be Unicode */
+                backslash_N++; /* \N{} is defined to be Unicode */
 #endif
                s = e + 1;  /* Point to just after the '}' */
                continue;
@@ -3546,6 +3719,9 @@ S_scan_const(pTHX_ char *start)
                else {
                    yyerror("Missing control char name in \\c");
                }
+#ifdef EBCDIC
+                non_portable_endpoint++;
+#endif
                continue;
 
            /* printf-style backslashes, formfeeds, newlines, etc */
@@ -3575,10 +3751,6 @@ S_scan_const(pTHX_ char *start)
            s++;
            continue;
        } /* end if (backslash) */
-#ifdef EBCDIC
-       else
-           literal_endpoint++;
-#endif
 
     default_action:
        /* If we started with encoded form, or already know we want it,
@@ -3586,7 +3758,6 @@ S_scan_const(pTHX_ char *start)
        if (! NATIVE_BYTE_IS_INVARIANT((U8)(*s)) && (this_utf8 || has_utf8)) {
            STRLEN len  = 1;
 
-
            /* One might think that it is wasted effort in the case of the
             * source being utf8 (this_utf8 == TRUE) to take the next character
             * in the source, convert it to an unsigned value, and then convert
@@ -3597,7 +3768,7 @@ S_scan_const(pTHX_ char *start)
            const UV nextuv   = (this_utf8)
                                 ? utf8n_to_uvchr((U8*)s, send - s, &len, 0)
                                 : (UV) ((U8) *s);
-           const STRLEN need = UNISKIP(nextuv);
+           const STRLEN need = UVCHR_SKIP(nextuv);
            if (!has_utf8) {
                SvCUR_set(sv, d - SvPVX_const(sv));
                SvPOK_on(sv);
@@ -3618,10 +3789,6 @@ S_scan_const(pTHX_ char *start)
            s += len;
 
            d = (char*)uvchr_to_utf8((U8*)d, nextuv);
-#ifdef EBCDIC
-           if (uv > 255 && !dorange)
-               native_range = FALSE;
-#endif
        }
        else {
            *d++ = *s++;
@@ -7039,10 +7206,12 @@ Perl_yylex(pTHX)
                if (!GvIO(gv))
                    GvIOp(gv) = newIO();
                IoIFP(GvIOp(gv)) = PL_rsfp;
-#if defined(HAS_FCNTL) && defined(F_SETFD)
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
                {
                    const int fd = PerlIO_fileno(PL_rsfp);
-                   fcntl(fd,F_SETFD,fd >= 3);
+                    if (fd >= 3) {
+                        fcntl(fd,F_SETFD, FD_CLOEXEC);
+                    }
                }
 #endif
                /* Mark this internal pseudo-handle as clean */
@@ -8100,7 +8269,13 @@ Perl_yylex(pTHX)
 
                if (*s == ':' && s[1] != ':')
                    PL_expect = attrful;
-               else if ((*s != '{' && *s != '(') && key == KEY_sub) {
+               else if ((*s != '{' && *s != '(') && key != KEY_format) {
+                    assert(key == KEY_sub || key == KEY_AUTOLOAD ||
+                           key == KEY_DESTROY || key == KEY_BEGIN ||
+                           key == KEY_UNITCHECK || key == KEY_CHECK ||
+                           key == KEY_INIT || key == KEY_END ||
+                           key == KEY_my || key == KEY_state ||
+                           key == KEY_our);
                    if (!have_name)
                        Perl_croak(aTHX_ "Illegal declaration of anonymous subroutine");
                    else if (*s != ';' && *s != '}')
@@ -10339,24 +10514,20 @@ Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
                                 hexfp_exp += *h - '0';
 #ifdef NV_MIN_EXP
                                 if (negexp
-                                    && -hexfp_exp < NV_MIN_EXP - 1)
-                                {
+                                    && -hexfp_exp < NV_MIN_EXP - 1) {
                                     Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
                                                    "Hexadecimal float: exponent underflow");
-#endif
                                     break;
                                 }
-                                else {
+#endif
 #ifdef NV_MAX_EXP
-                                    if (!negexp
-                                        && hexfp_exp > NV_MAX_EXP - 1)
-                                    {
-                                        Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
+                                if (!negexp
+                                    && hexfp_exp > NV_MAX_EXP - 1) {
+                                    Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
                                                    "Hexadecimal float: exponent overflow");
-                                        break;
-                                    }
-#endif
+                                    break;
                                 }
+#endif
                             }
                             h++;
                         }
@@ -11271,7 +11442,7 @@ Parse a Perl arithmetic expression.  This may contain operators of precedence
 down to the bit shift operators.  The expression must be followed (and thus
 terminated) either by a comparison or lower-precedence operator or by
 something that would normally terminate an expression such as semicolon.
-If C<flags> includes C<PARSE_OPTIONAL> then the expression is optional,
+If C<flags> has the C<PARSE_OPTIONAL> bit set, then the expression is optional,
 otherwise it is mandatory.  It is up to the caller to ensure that the
 dynamic parser state (L</PL_parser> et al) is correctly set to reflect
 the source of the code to be parsed and the lexical context for the
@@ -11303,7 +11474,7 @@ Parse a Perl term expression.  This may contain operators of precedence
 down to the assignment operators.  The expression must be followed (and thus
 terminated) either by a comma or lower-precedence operator or by
 something that would normally terminate an expression such as semicolon.
-If C<flags> includes C<PARSE_OPTIONAL> then the expression is optional,
+If C<flags> has the C<PARSE_OPTIONAL> bit set, then the expression is optional,
 otherwise it is mandatory.  It is up to the caller to ensure that the
 dynamic parser state (L</PL_parser> et al) is correctly set to reflect
 the source of the code to be parsed and the lexical context for the
@@ -11335,7 +11506,7 @@ Parse a Perl list expression.  This may contain operators of precedence
 down to the comma operator.  The expression must be followed (and thus
 terminated) either by a low-precedence logic operator such as C<or> or by
 something that would normally terminate an expression such as semicolon.
-If C<flags> includes C<PARSE_OPTIONAL> then the expression is optional,
+If C<flags> has the C<PARSE_OPTIONAL> bit set, then the expression is optional,
 otherwise it is mandatory.  It is up to the caller to ensure that the
 dynamic parser state (L</PL_parser> et al) is correctly set to reflect
 the source of the code to be parsed and the lexical context for the
@@ -11368,8 +11539,8 @@ expression grammar, including the lowest-precedence operators such
 as C<or>.  The expression must be followed (and thus terminated) by a
 token that an expression would normally be terminated by: end-of-file,
 closing bracketing punctuation, semicolon, or one of the keywords that
-signals a postfix expression-statement modifier.  If C<flags> includes
-C<PARSE_OPTIONAL> then the expression is optional, otherwise it is
+signals a postfix expression-statement modifier.  If C<flags> has the
+C<PARSE_OPTIONAL> bit set, then the expression is optional, otherwise it is
 mandatory.  It is up to the caller to ensure that the dynamic parser
 state (L</PL_parser> et al) is correctly set to reflect the source of
 the code to be parsed and the lexical context for the expression.
@@ -11473,7 +11644,7 @@ Perl_parse_barestmt(pTHX_ U32 flags)
 Parse a single label, possibly optional, of the type that may prefix a
 Perl statement.  It is up to the caller to ensure that the dynamic parser
 state (L</PL_parser> et al) is correctly set to reflect the source of
-the code to be parsed.  If C<flags> includes C<PARSE_OPTIONAL> then the
+the code to be parsed.  If C<flags> has the C<PARSE_OPTIONAL> bit set, then the
 label is optional, otherwise it is mandatory.
 
 The name of the label is returned in the form of a fresh scalar.  If an
index be7a38e..71755de 100644 (file)
@@ -42,7 +42,6 @@
 #   define LATIN_SMALL_LETTER_DOTLESS_I_UTF8  "\xC4\xB1"    /* U+0131 */
 
 #   define HYPHEN_UTF8  "\xE2\x80\x90"    /* U+2010 */
-#   define FIRST_SURROGATE_UTF8_FIRST_BYTE  0xED    /* U+D800 */
 #   define BOM_UTF8_FIRST_BYTE  0xEF    /* U+FEFF */
 #   define BOM_UTF8_TAIL  "\xBB\xBF"    /* U+FEFF */
 
@@ -82,7 +81,6 @@
 #   define LATIN_SMALL_LETTER_DOTLESS_I_UTF8  "\x8D\x58"    /* U+0131 */
 
 #   define HYPHEN_UTF8  "\xCA\x41\x57"    /* U+2010 */
-#   define FIRST_SURROGATE_UTF8_FIRST_BYTE  0xDD    /* U+D800 */
 #   define BOM_UTF8_FIRST_BYTE  0xDD    /* U+FEFF */
 #   define BOM_UTF8_TAIL  "\x73\x66\x73"    /* U+FEFF */
 
 #   define LATIN_SMALL_LETTER_DOTLESS_I_UTF8  "\x8C\x58"    /* U+0131 */
 
 #   define HYPHEN_UTF8  "\xCA\x41\x57"    /* U+2010 */
-#   define FIRST_SURROGATE_UTF8_FIRST_BYTE  0xDD    /* U+D800 */
 #   define BOM_UTF8_FIRST_BYTE  0xDD    /* U+FEFF */
 #   define BOM_UTF8_TAIL  "\x72\x65\x72"    /* U+FEFF */
 
 #   define LATIN_SMALL_LETTER_DOTLESS_I_UTF8  "\x8E\x59"    /* U+0131 */
 
 #   define HYPHEN_UTF8  "\xCA\x41\x58"    /* U+2010 */
-#   define FIRST_SURROGATE_UTF8_FIRST_BYTE  0xDC    /* U+D800 */
 #   define BOM_UTF8_FIRST_BYTE  0xDC    /* U+FEFF */
 #   define BOM_UTF8_TAIL  "\x75\x67\x75"    /* U+FEFF */
 
index 9b34df9..3217d33 100644 (file)
@@ -524,7 +524,7 @@ XS(XS_utf8_native_to_unicode)
  if (items > 1)
      croak_xs_usage(cv, "sv");
 
- ST(0) = sv_2mortal(newSViv(NATIVE_TO_UNI(uv)));
+ ST(0) = sv_2mortal(newSVuv(NATIVE_TO_UNI(uv)));
  XSRETURN(1);
 }
 
@@ -537,7 +537,7 @@ XS(XS_utf8_unicode_to_native)
  if (items > 1)
      croak_xs_usage(cv, "sv");
 
- ST(0) = sv_2mortal(newSViv(UNI_TO_NATIVE(uv)));
+ ST(0) = sv_2mortal(newSVuv(UNI_TO_NATIVE(uv)));
  XSRETURN(1);
 }
 
index 1eb6785..5b57138 100644 (file)
--- a/unixish.h
+++ b/unixish.h
 #define fwrite1 fwrite
 
 #define Stat(fname,bufptr) stat((fname),(bufptr))
-#define Fstat(fd,bufptr)   fstat((fd),(bufptr))
+
+#ifdef __amigaos4__
+int afstat(int fd, struct stat *statb);
+#  define Fstat(fd,bufptr) afstat((fd),(bufptr))
+#endif
+
+#ifndef Fstat
+#  define Fstat(fd,bufptr)   fstat((fd),(bufptr))
+#endif
+
 #define Fflush(fp)         fflush(fp)
 #define Mkdir(path,mode)   mkdir((path),(mode))
 
+#if defined(__amigaos4__)
+#  define PERL_SYS_INIT_BODY(c,v)                                      \
+       MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT; amigaos4_init_fork_array(); amigaos4_init_environ_sema();
+#  define PERL_SYS_TERM_BODY() \
+    HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM; \
+    OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM; amigaos4_dispose_fork_array(); 
+#endif
+
 #ifndef PERL_SYS_INIT_BODY
 #  define PERL_SYS_INIT_BODY(c,v)                                      \
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
diff --git a/utf8.c b/utf8.c
index 794649e..571c451 100644 (file)
--- a/utf8.c
+++ b/utf8.c
@@ -104,7 +104,7 @@ Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
 {
     PERL_ARGS_ASSERT_UVOFFUNI_TO_UTF8_FLAGS;
 
-    if (UNI_IS_INVARIANT(uv)) {
+    if (OFFUNI_IS_INVARIANT(uv)) {
        *d++ = (U8) LATIN1_TO_NATIVE(uv);
        return d;
     }
@@ -115,7 +115,8 @@ Perl_uvoffuni_to_utf8_flags(pTHX_ U8 *d, UV uv, UV flags)
 #endif
 
     /* The first problematic code point is the first surrogate */
-    if (uv >= UNICODE_SURROGATE_FIRST
+    if (   flags    /* It's common to turn off all these */
+        && uv >= UNICODE_SURROGATE_FIRST
         && ckWARN3_d(WARN_SURROGATE, WARN_NON_UNICODE, WARN_NONCHAR))
     {
        if (UNICODE_IS_SURROGATE(uv)) {
@@ -287,23 +288,23 @@ This function will convert to UTF-8 (and not warn) even code points that aren't
 legal Unicode or are problematic, unless C<flags> contains one or more of the
 following flags:
 
-If C<uv> is a Unicode surrogate code point and UNICODE_WARN_SURROGATE is set,
+If C<uv> is a Unicode surrogate code point and C<UNICODE_WARN_SURROGATE> is set,
 the function will raise a warning, provided UTF8 warnings are enabled.  If instead
-UNICODE_DISALLOW_SURROGATE is set, the function will fail and return NULL.
+C<UNICODE_DISALLOW_SURROGATE> is set, the function will fail and return NULL.
 If both flags are set, the function will both warn and return NULL.
 
-The UNICODE_WARN_NONCHAR and UNICODE_DISALLOW_NONCHAR flags
+The C<UNICODE_WARN_NONCHAR> and C<UNICODE_DISALLOW_NONCHAR> flags
 affect how the function handles a Unicode non-character.  And likewise, the
-UNICODE_WARN_SUPER and UNICODE_DISALLOW_SUPER flags affect the handling of
+C<UNICODE_WARN_SUPER> and C<UNICODE_DISALLOW_SUPER> flags affect the handling of
 code points that are
 above the Unicode maximum of 0x10FFFF.  Code points above 0x7FFF_FFFF (which are
 even less portable) can be warned and/or disallowed even if other above-Unicode
-code points are accepted, by the UNICODE_WARN_FE_FF and UNICODE_DISALLOW_FE_FF
-flags.
+code points are accepted, by the C<UNICODE_WARN_FE_FF> and
+C<UNICODE_DISALLOW_FE_FF> flags.
 
-And finally, the flag UNICODE_WARN_ILLEGAL_INTERCHANGE selects all four of the
-above WARN flags; and UNICODE_DISALLOW_ILLEGAL_INTERCHANGE selects all four
-DISALLOW flags.
+And finally, the flag C<UNICODE_WARN_ILLEGAL_INTERCHANGE> selects all four of
+the above WARN flags; and C<UNICODE_DISALLOW_ILLEGAL_INTERCHANGE> selects all
+four DISALLOW flags.
 
 =cut
 */
@@ -430,13 +431,13 @@ overlong sequences, the computed code point is returned; for all other allowed
 malformations, the Unicode REPLACEMENT CHARACTER is returned, as these have no
 determinable reasonable value.
 
-The UTF8_CHECK_ONLY flag overrides the behavior when a non-allowed (by other
+The C<UTF8_CHECK_ONLY> flag overrides the behavior when a non-allowed (by other
 flags) malformation is found.  If this flag is set, the routine assumes that
 the caller will raise a warning, and this function will silently just set
 C<retlen> to C<-1> (cast to C<STRLEN>) and return zero.
 
 Note that this API requires disambiguation between successful decoding a C<NUL>
-character, and an error return (unless the UTF8_CHECK_ONLY flag is set), as
+character, and an error return (unless the C<UTF8_CHECK_ONLY> flag is set), as
 in both cases, 0 is returned.  To disambiguate, upon a zero return, see if the
 first byte of C<s> is 0 as well.  If so, the input was a C<NUL>; if not, the
 input had an error.
@@ -445,18 +446,18 @@ Certain code points are considered problematic.  These are Unicode surrogates,
 Unicode non-characters, and code points above the Unicode maximum of 0x10FFFF.
 By default these are considered regular code points, but certain situations
 warrant special handling for them.  If C<flags> contains
-UTF8_DISALLOW_ILLEGAL_INTERCHANGE, all three classes are treated as
-malformations and handled as such.  The flags UTF8_DISALLOW_SURROGATE,
-UTF8_DISALLOW_NONCHAR, and UTF8_DISALLOW_SUPER (meaning above the legal Unicode
-maximum) can be set to disallow these categories individually.
-
-The flags UTF8_WARN_ILLEGAL_INTERCHANGE, UTF8_WARN_SURROGATE,
-UTF8_WARN_NONCHAR, and UTF8_WARN_SUPER will cause warning messages to be raised
-for their respective categories, but otherwise the code points are considered
-valid (not malformations).  To get a category to both be treated as a
-malformation and raise a warning, specify both the WARN and DISALLOW flags.
+C<UTF8_DISALLOW_ILLEGAL_INTERCHANGE>, all three classes are treated as
+malformations and handled as such.  The flags C<UTF8_DISALLOW_SURROGATE>,
+C<UTF8_DISALLOW_NONCHAR>, and C<UTF8_DISALLOW_SUPER> (meaning above the legal
+Unicode maximum) can be set to disallow these categories individually.
+
+The flags C<UTF8_WARN_ILLEGAL_INTERCHANGE>, C<UTF8_WARN_SURROGATE>,
+C<UTF8_WARN_NONCHAR>, and C<UTF8_WARN_SUPER> will cause warning messages to be
+raised for their respective categories, but otherwise the code points are
+considered valid (not malformations).  To get a category to both be treated as
+malformation and raise a warning, specify both the WARN and DISALLOW flags.
 (But note that warnings are not raised if lexically disabled nor if
-UTF8_CHECK_ONLY is also specified.)
+C<UTF8_CHECK_ONLY> is also specified.)
 
 Very large code points (above 0x7FFF_FFFF) are considered more problematic than
 the others that are above the Unicode legal maximum.  There are several
@@ -467,11 +468,11 @@ imposed later).  (The smaller ones, those that fit into 32 bits, are
 representable by a UV on ASCII platforms, but not by an IV, which means that
 the number of operations that can be performed on them is quite restricted.)
 The UTF-8 encoding on ASCII platforms for these large code points begins with a
-byte containing 0xFE or 0xFF.  The UTF8_DISALLOW_FE_FF flag will cause them to
+byte containing 0xFE or 0xFF.  The C<UTF8_DISALLOW_FE_FF> flag will cause them to
 be treated as malformations, while allowing smaller above-Unicode code points.
-(Of course UTF8_DISALLOW_SUPER will treat all above-Unicode code points,
+(Of course C<UTF8_DISALLOW_SUPER> will treat all above-Unicode code points,
 including these, as malformations.)
-Similarly, UTF8_WARN_FE_FF acts just like
+Similarly, C<UTF8_WARN_FE_FF> acts just like
 the other WARN flags, but applies just to these code points.
 
 All other code points corresponding to Unicode characters, including private
@@ -831,9 +832,9 @@ C<*retlen> will be set to the length, in bytes, of that character.
 
 If C<s> does not point to a well-formed UTF-8 character and UTF8 warnings are
 enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
-NULL) to -1.  If those warnings are off, the computed value, if well-defined
+C<NULL>) to -1.  If those warnings are off, the computed value, if well-defined
 (or the Unicode REPLACEMENT CHARACTER if not), is silently returned, and
-C<*retlen> is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is
+C<*retlen> is set (if C<retlen> isn't C<NULL>) so that (S<C<s> + C<*retlen>>) is
 the next possible position in C<s> that could begin a non-malformed character.
 See L</utf8n_to_uvchr> for details on when the REPLACEMENT CHARACTER is
 returned.
@@ -1057,7 +1058,7 @@ Perl_bytes_cmp_utf8(pTHX_ const U8 *b, STRLEN blen, const U8 *u, STRLEN ulen)
                if (u < uend) {
                    U8 c1 = *u++;
                    if (UTF8_IS_CONTINUATION(c1)) {
-                       c = TWO_BYTE_UTF8_TO_NATIVE(c, c1);
+                       c = EIGHT_BIT_UTF8_TO_NATIVE(c, c1);
                    } else {
                        Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
                                         "Malformed UTF-8 character "
@@ -1133,7 +1134,7 @@ Perl_utf8_to_bytes(pTHX_ U8 *s, STRLEN *len)
        U8 c = *s++;
        if (! UTF8_IS_INVARIANT(c)) {
            /* Then it is two-byte encoded */
-           c = TWO_BYTE_UTF8_TO_NATIVE(c, *s);
+           c = EIGHT_BIT_UTF8_TO_NATIVE(c, *s);
             s++;
        }
        *d++ = c;
@@ -1152,7 +1153,7 @@ the newly-created string, and updates C<len> to contain the new
 length.  Returns the original string if no conversion occurs, C<len>
 is unchanged.  Do nothing if C<is_utf8> points to 0.  Sets C<is_utf8> to
 0 if C<s> is converted or consisted entirely of characters that are invariant
-in utf8 (i.e., US-ASCII on non-EBCDIC machines).
+in UTF-8 (i.e., US-ASCII on non-EBCDIC machines).
 
 =cut
 */
@@ -1190,7 +1191,7 @@ Perl_bytes_from_utf8(pTHX_ const U8 *s, STRLEN *len, bool *is_utf8)
        U8 c = *s++;
        if (! UTF8_IS_INVARIANT(c)) {
            /* Then it is two-byte encoded */
-           c = TWO_BYTE_UTF8_TO_NATIVE(c, *s);
+           c = EIGHT_BIT_UTF8_TO_NATIVE(c, *s);
             s++;
        }
        *d++ = c;
@@ -1264,7 +1265,7 @@ Perl_utf16_to_utf8(pTHX_ U8* p, U8* d, I32 bytelen, I32 *newlen)
     while (p < pend) {
        UV uv = (p[0] << 8) + p[1]; /* UTF-16BE */
        p += 2;
-       if (UNI_IS_INVARIANT(uv)) {
+       if (OFFUNI_IS_INVARIANT(uv)) {
            *d++ = LATIN1_TO_NATIVE((U8) uv);
            continue;
        }
@@ -1384,7 +1385,7 @@ UV
 Perl__to_upper_title_latin1(pTHX_ const U8 c, U8* p, STRLEN *lenp, const char S_or_s)
 {
     /* We have the latin1-range values compiled into the core, so just use
-     * those, converting the result to utf8.  The only difference between upper
+     * those, converting the result to UTF-8.  The only difference between upper
      * and title case in this range is that LATIN_SMALL_LETTER_SHARP_S is
      * either "SS" or "Ss".  Which one to use is passed into the routine in
      * 'S_or_s' to avoid a test */
@@ -1490,7 +1491,7 @@ STATIC U8
 S_to_lower_latin1(const U8 c, U8* p, STRLEN *lenp)
 {
     /* We have the latin1-range values compiled into the core, so just use
-     * those, converting the result to utf8.  Since the result is always just
+     * those, converting the result to UTF-8.  Since the result is always just
      * one character, we allow <p> to be NULL */
 
     U8 converted = toLOWER_LATIN1(c);
@@ -1765,7 +1766,7 @@ of the result.
 C<swashp> is a pointer to the swash to use.
 
 Both the special and normal mappings are stored in F<lib/unicore/To/Foo.pl>,
-and loaded by SWASHNEW, using F<lib/utf8_heavy.pl>.  C<special> (usually,
+and loaded by C<SWASHNEW>, using F<lib/utf8_heavy.pl>.  C<special> (usually,
 but not always, a multicharacter mapping), is tried first.
 
 C<special> is a string, normally C<NULL> or C<"">.  C<NULL> means to not use
@@ -1773,8 +1774,8 @@ any special mappings; C<""> means to use the special mappings.  Values other
 than these two are treated as the name of the hash containing the special
 mappings, like C<"utf8::ToSpecLower">.
 
-C<normal> is a string like "ToLower" which means the swash
-%utf8::ToLower.
+C<normal> is a string like C<"ToLower"> which means the swash
+C<%utf8::ToLower>.
 
 =cut */
 
@@ -1831,7 +1832,7 @@ Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp,
         }
 
         if (hv
-             && (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE))
+             && (svp = hv_fetch(hv, (const char*)p, UVCHR_SKIP(uv1), FALSE))
              && (*svp))
          {
             const char *s;
@@ -1847,7 +1848,7 @@ Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp,
     }
 
     if (!len && *swashp) {
-       const UV uv2 = swash_fetch(*swashp, p, TRUE /* => is utf8 */);
+       const UV uv2 = swash_fetch(*swashp, p, TRUE /* => is UTF-8 */);
 
         if (uv2) {
              /* It was "normal" (a single character mapping). */
@@ -1879,7 +1880,7 @@ Perl_to_utf8_case(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp,
 STATIC UV
 S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result, U8* const ustrp, STRLEN *lenp)
 {
-    /* This is called when changing the case of a utf8-encoded character above
+    /* This is called when changing the case of a UTF-8-encoded character above
      * the Latin1 range, and the operation is in a non-UTF-8 locale.  If the
      * result contains a character that crosses the 255/256 boundary, disallow
      * the change, and return the original code point.  See L<perlfunc/lc> for
@@ -1971,15 +1972,15 @@ Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags
     }
     else if UTF8_IS_DOWNGRADEABLE_START(*p) {
        if (flags) {
-            U8 c = TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1));
+            U8 c = EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1));
            result = toUPPER_LC(c);
        }
        else {
-           return _to_upper_title_latin1(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)),
+           return _to_upper_title_latin1(EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1)),
                                          ustrp, lenp, 'S');
        }
     }
-    else {  /* utf8, ord above 255 */
+    else {  /* UTF-8, ord above 255 */
        result = CALL_UPPER_CASE(p, ustrp, lenp);
 
        if (flags) {
@@ -1988,7 +1989,7 @@ Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags
        return result;
     }
 
-    /* Here, used locale rules.  Convert back to utf8 */
+    /* Here, used locale rules.  Convert back to UTF-8 */
     if (UTF8_IS_INVARIANT(result)) {
        *ustrp = (U8) result;
        *lenp = 1;
@@ -2042,15 +2043,15 @@ Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags
     }
     else if UTF8_IS_DOWNGRADEABLE_START(*p) {
        if (flags) {
-            U8 c = TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1));
+            U8 c = EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1));
            result = toUPPER_LC(c);
        }
        else {
-           return _to_upper_title_latin1(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)),
+           return _to_upper_title_latin1(EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1)),
                                          ustrp, lenp, 's');
        }
     }
-    else {  /* utf8, ord above 255 */
+    else {  /* UTF-8, ord above 255 */
        result = CALL_TITLE_CASE(p, ustrp, lenp);
 
        if (flags) {
@@ -2059,7 +2060,7 @@ Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags
        return result;
     }
 
-    /* Here, used locale rules.  Convert back to utf8 */
+    /* Here, used locale rules.  Convert back to UTF-8 */
     if (UTF8_IS_INVARIANT(result)) {
        *ustrp = (U8) result;
        *lenp = 1;
@@ -2112,15 +2113,15 @@ Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags
     }
     else if UTF8_IS_DOWNGRADEABLE_START(*p) {
        if (flags) {
-            U8 c = TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1));
+            U8 c = EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1));
            result = toLOWER_LC(c);
        }
        else {
-           return to_lower_latin1(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)),
+           return to_lower_latin1(EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1)),
                                   ustrp, lenp);
        }
     }
-    else {  /* utf8, ord above 255 */
+    else {  /* UTF-8, ord above 255 */
        result = CALL_LOWER_CASE(p, ustrp, lenp);
 
        if (flags) {
@@ -2130,7 +2131,7 @@ Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, bool flags
        return result;
     }
 
-    /* Here, used locale rules.  Convert back to utf8 */
+    /* Here, used locale rules.  Convert back to UTF-8 */
     if (UTF8_IS_INVARIANT(result)) {
        *ustrp = (U8) result;
        *lenp = 1;
@@ -2194,16 +2195,16 @@ Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
     }
     else if UTF8_IS_DOWNGRADEABLE_START(*p) {
        if (flags & FOLD_FLAGS_LOCALE) {
-            U8 c = TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1));
+            U8 c = EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1));
            result = toFOLD_LC(c);
        }
        else {
-           return _to_fold_latin1(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)),
+           return _to_fold_latin1(EIGHT_BIT_UTF8_TO_NATIVE(*p, *(p+1)),
                             ustrp, lenp,
                             flags & (FOLD_FLAGS_FULL | FOLD_FLAGS_NOMIX_ASCII));
        }
     }
-    else {  /* utf8, ord above 255 */
+    else {  /* UTF-8, ord above 255 */
        result = CALL_FOLD_CASE(p, ustrp, lenp, flags & FOLD_FLAGS_FULL);
 
        if (flags & FOLD_FLAGS_LOCALE) {
@@ -2266,7 +2267,7 @@ Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
            return result;
        }
        else {
-           /* This is called when changing the case of a utf8-encoded
+           /* This is called when changing the case of a UTF-8-encoded
              * character above the ASCII range, and the result should not
              * contain an ASCII character. */
 
@@ -2312,7 +2313,7 @@ Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
        }
     }
 
-    /* Here, used locale rules.  Convert back to utf8 */
+    /* Here, used locale rules.  Convert back to UTF-8 */
     if (UTF8_IS_INVARIANT(result)) {
        *ustrp = (U8) result;
        *lenp = 1;
@@ -2471,7 +2472,7 @@ Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 m
        if (PL_parser && PL_parser->error_count)
            SAVEI8(PL_parser->error_count), PL_parser->error_count = 0;
        method = gv_fetchmeth(stash, "SWASHNEW", 8, -1);
-       if (!method) {  /* demand load utf8 */
+       if (!method) {  /* demand load UTF-8 */
            ENTER;
            if ((errsv_save = GvSV(PL_errgv))) SAVEFREESV(errsv_save);
            GvSV(PL_errgv) = NULL;
@@ -2654,7 +2655,7 @@ Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 m
 /* Note:
  * Returns the value of property/mapping C<swash> for the first character
  * of the string C<ptr>. If C<do_utf8> is true, the string C<ptr> is
- * assumed to be in well-formed utf8. If C<do_utf8> is false, the string C<ptr>
+ * assumed to be in well-formed UTF-8. If C<do_utf8> is false, the string C<ptr>
  * is assumed to be in native 8-bit encoding. Caches the swatch in C<swash>.
  *
  * A "swash" is a hash which contains initially the keys/values set up by
@@ -2723,7 +2724,7 @@ Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
     else if (UTF8_IS_DOWNGRADEABLE_START(c)) {
         klen = 0;
        needents = 256;
-        off = TWO_BYTE_UTF8_TO_NATIVE(c, *(ptr + 1));
+        off = EIGHT_BIT_UTF8_TO_NATIVE(c, *(ptr + 1));
     }
     else {
         klen = UTF8SKIP(ptr) - 1;
@@ -2765,7 +2766,7 @@ Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
     }
 
     /*
-     * This single-entry cache saves about 1/3 of the utf8 overhead in test
+     * This single-entry cache saves about 1/3 of the UTF-8 overhead in test
      * suite.  (That is, only 7-8% overall over just a hash cache.  Still,
      * it's nothing to sniff at.)  Pity we usually come through at least
      * two function calls to get here...
@@ -3282,10 +3283,10 @@ Perl__swash_inversion_hash(pTHX_ SV* const swash)
     * 004C             006C
     * 212A             006B
     *
-    * The returned hash would have two keys, the utf8 for 006B and the utf8 for
+    * The returned hash would have two keys, the UTF-8 for 006B and the UTF-8 for
     * 006C.  The value for each key is an array.  For 006C, the array would
-    * have two elements, the utf8 for itself, and for 004C.  For 006B, there
-    * would be three elements in its array, the utf8 for 006B, 004B and 212A.
+    * have two elements, the UTF-8 for itself, and for 004C.  For 006B, there
+    * would be three elements in its array, the UTF-8 for 006B, 004B and 212A.
     *
     * Note that there are no elements in the hash for 004B, 004C, 212A.  The
     * keys are only code points that are folded-to, so it isn't a full closure.
@@ -3299,7 +3300,7 @@ Perl__swash_inversion_hash(pTHX_ SV* const swash)
     *
     * The specials hash can be extra code points, and most likely consists of
     * maps from single code points to multiple ones (each expressed as a string
-    * of utf8 characters).   This function currently returns only 1-1 mappings.
+    * of UTF-8 characters).   This function currently returns only 1-1 mappings.
     * However consider this possible input in the specials hash:
     * "\xEF\xAC\x85" => "\x{0073}\x{0074}",         # U+FB05 => 0073 0074
     * "\xEF\xAC\x86" => "\x{0073}\x{0074}",         # U+FB06 => 0073 0074
@@ -3370,8 +3371,8 @@ Perl__swash_inversion_hash(pTHX_ SV* const swash)
 
        hv_iterinit(specials_hv);
 
-       /* The keys are the characters (in utf8) that map to the corresponding
-        * utf8 string value.  Iterate through the list creating the inverse
+       /* The keys are the characters (in UTF-8) that map to the corresponding
+        * UTF-8 string value.  Iterate through the list creating the inverse
         * list. */
        while ((sv_to = hv_iternextsv(specials_hv, &char_from, &from_len))) {
            SV** listp;
@@ -3383,7 +3384,7 @@ Perl__swash_inversion_hash(pTHX_ SV* const swash)
            /*DEBUG_U(PerlIO_printf(Perl_debug_log, "Found mapping from %"UVXf", First char of to is %"UVXf"\n", valid_utf8_to_uvchr((U8*) char_from, 0), valid_utf8_to_uvchr((U8*) SvPVX(sv_to), 0)));*/
 
            /* Each key in the inverse list is a mapped-to value, and the key's
-            * hash value is a list of the strings (each in utf8) that map to
+            * hash value is a list of the strings (each in UTF-8) that map to
             * it.  Those strings are all one character long */
            if ((listp = hv_fetch(specials_inverse,
                                    SvPVX(sv_to),
@@ -3840,7 +3841,7 @@ Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len)
                           "%s in %s", unees, PL_op ? OP_DESC(PL_op) : "print");
            return FALSE;
        }
-       if (UNLIKELY(*s >= UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE)) {
+       if (UNLIKELY(isUTF8_POSSIBLY_PROBLEMATIC(*s))) {
            STRLEN char_len;
            if (UTF8_IS_SUPER(s, e)) {
                if (ckWARN_d(WARN_NON_UNICODE)) {
@@ -3876,14 +3877,14 @@ Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len)
 
 Build to the scalar C<dsv> a displayable version of the string C<spv>,
 length C<len>, the displayable version being at most C<pvlim> bytes long
-(if longer, the rest is truncated and "..." will be appended).
+(if longer, the rest is truncated and C<"..."> will be appended).
 
-The C<flags> argument can have UNI_DISPLAY_ISPRINT set to display
-isPRINT()able characters as themselves, UNI_DISPLAY_BACKSLASH
-to display the \\[nrfta\\] as the backslashed versions (like '\n')
-(UNI_DISPLAY_BACKSLASH is preferred over UNI_DISPLAY_ISPRINT for \\).
-UNI_DISPLAY_QQ (and its alias UNI_DISPLAY_REGEX) have both
-UNI_DISPLAY_BACKSLASH and UNI_DISPLAY_ISPRINT turned on.
+The C<flags> argument can have C<UNI_DISPLAY_ISPRINT> set to display
+C<isPRINT()>able characters as themselves, C<UNI_DISPLAY_BACKSLASH>
+to display the C<\\[nrfta\\]> as the backslashed versions (like C<"\n">)
+(C<UNI_DISPLAY_BACKSLASH> is preferred over C<UNI_DISPLAY_ISPRINT> for C<"\\">).
+C<UNI_DISPLAY_QQ> (and its alias C<UNI_DISPLAY_REGEX>) have both
+C<UNI_DISPLAY_BACKSLASH> and C<UNI_DISPLAY_ISPRINT> turned on.
 
 The pointer to the PV of the C<dsv> is returned.
 
@@ -3994,7 +3995,7 @@ scan will not be considered to be a match unless the goal is reached, and
 scanning won't continue past that goal.  Correspondingly for C<l2> with respect to
 C<s2>.
 
-If C<pe1> is non-NULL and the pointer it points to is not NULL, that pointer is
+If C<pe1> is non-C<NULL> and the pointer it points to is not C<NULL>, that pointer is
 considered an end pointer to the position 1 byte past the maximum point
 in C<s1> beyond which scanning will not continue under any circumstances.
 (This routine assumes that UTF-8 encoded input strings are not malformed;
@@ -4011,7 +4012,7 @@ reached for a successful match.   Also, if the fold of a character is multiple
 characters, all of them must be matched (see tr21 reference below for
 'folding').
 
-Upon a successful match, if C<pe1> is non-NULL,
+Upon a successful match, if C<pe1> is non-C<NULL>,
 it will be set to point to the beginning of the I<next> character of C<s1>
 beyond what was matched.  Correspondingly for C<pe2> and C<s2>.
 
@@ -4159,7 +4160,7 @@ Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const c
                 else if (u1) {
                     _to_utf8_fold_flags(p1, foldbuf1, &n1, flags_for_folder);
                 }
-                else {  /* Not utf8, get utf8 fold */
+                else {  /* Not UTF-8, get UTF-8 fold */
                     _to_uni_fold_flags(*p1, foldbuf1, &n1, flags_for_folder);
                 }
                 f1 = foldbuf1;
@@ -4192,7 +4193,7 @@ Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const c
 
        /* Here f1 and f2 point to the beginning of the strings to compare.
         * These strings are the folds of the next character from each input
-        * string, stored in utf8. */
+        * string, stored in UTF-8. */
 
         /* While there is more to look for in both folds, see if they
         * continue to match */
diff --git a/utf8.h b/utf8.h
index 722cbb1..ce537c0 100644 (file)
--- a/utf8.h
+++ b/utf8.h
@@ -127,8 +127,8 @@ END_EXTERN_C
 
 /* Native character to/from iso-8859-1.  Are the identity functions on ASCII
  * platforms */
-#define NATIVE_TO_LATIN1(ch)     (ch)
-#define LATIN1_TO_NATIVE(ch)     (ch)
+#define NATIVE_TO_LATIN1(ch)     (__ASSERT_(FITS_IN_8_BITS(ch)) (ch))
+#define LATIN1_TO_NATIVE(ch)     (__ASSERT_(FITS_IN_8_BITS(ch)) (ch))
 
 /* I8 is an intermediate version of UTF-8 used only in UTF-EBCDIC.  We thus
  * consider it to be identical to UTF-8 on ASCII platforms.  Strictly speaking
@@ -136,8 +136,8 @@ END_EXTERN_C
  * because they are 8-bit encodings that serve the same purpose in Perl, and
  * rarely do we need to distinguish them.  The term "NATIVE_UTF8" applies to
  * whichever one is applicable on the current platform */
-#define NATIVE_UTF8_TO_I8(ch) (ch)
-#define I8_TO_NATIVE_UTF8(ch) (ch)
+#define NATIVE_UTF8_TO_I8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) (ch))
+#define I8_TO_NATIVE_UTF8(ch) (__ASSERT_(FITS_IN_8_BITS(ch)) (ch))
 
 /* Transforms in wide UV chars */
 #define UNI_TO_NATIVE(ch)        (ch)
@@ -190,12 +190,17 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
 
 */
 
-/* Is the representation of the Unicode code point 'c' the same regardless of
+/* Is the representation of the Unicode code point 'cp' the same regardless of
  * being encoded in UTF-8 or not? */
-#define UNI_IS_INVARIANT(c)            (((UV)c) <  0x80)
+#define OFFUNI_IS_INVARIANT(cp)     isASCII(cp)
 
-/* Is the UTF8-encoded byte 'c' part of a variant sequence in UTF-8?  This is
- * the inverse of UTF8_IS_INVARIANT */
+/* Is the representation of the code point 'cp' the same regardless of
+ * being encoded in UTF-8 or not?  'cp' is native if < 256; Unicode otherwise
+ * */
+#define UVCHR_IS_INVARIANT(uv)      OFFUNI_IS_INVARIANT(uv)
+
+/* Misleadingly named: is the UTF8-encoded byte 'c' part of a variant sequence
+ * in UTF-8?  This is the inverse of UTF8_IS_INVARIANT */
 #define UTF8_IS_CONTINUED(c)        (((U8)c) &  0x80)
 
 /* Is the byte 'c' the first byte of a multi-byte UTF8-8 encoded sequence?
@@ -293,6 +298,23 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
 
 #define UTF8_MAXBYTES_CASE     UTF8_MAXBYTES
 
+/*
+
+=for apidoc Am|STRLEN|UVCHR_SKIP|UV cp
+returns the number of bytes required to represent the code point C<cp> when
+encoded as UTF-8.  C<cp> is a native (ASCII or EBCDIC) code point if less than
+255; a Unicode code point otherwise.
+
+=cut
+ */
+#define UVCHR_SKIP(uv) OFFUNISKIP(uv)
+
+/* Surrogates, non-character code points and above-Unicode code points are
+ * problematic in some contexts.  This allows code that needs to check for
+ * those to to quickly exclude the vast majority of code points it will
+ * encounter */
+#define isUTF8_POSSIBLY_PROBLEMATIC(c) ((U8) c >= 0xED)
+
 #endif /* EBCDIC vs ASCII */
 
 /* Rest of these are attributes of Unicode and perl's internals rather than the
@@ -328,24 +350,31 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
                                                && UTF8_IS_CONTINUATION(*((s)+1)))
 
 /* Number of bytes a code point occupies in UTF-8. */
-#define NATIVE_SKIP(uv) OFFUNISKIP(NATIVE_TO_UNI(uv))
-
-/*
-
-=for apidoc Am|STRLEN|UVCHR_SKIP|UV cp
-returns the number of bytes required to represent the code point C<cp> when
-encoded as UTF-8.  C<cp> is a native (ASCII or EBCDIC) code point if less than
-255; a Unicode code point otherwise.
-
-=cut
- */
+#define NATIVE_SKIP(uv) UVCHR_SKIP(uv)
 
 /* Most code which says UNISKIP is really thinking in terms of native code
  * points (0-255) plus all those beyond.  This is an imprecise term, but having
  * it means existing code continues to work.  For precision, use UVCHR_SKIP,
- * NATIVE_SKIP, and OFFUNISKIP */
-#define UNISKIP(uv)   NATIVE_SKIP(uv)
-#define UVCHR_SKIP(uv) NATIVE_SKIP(uv)
+ * NATIVE_SKIP, or OFFUNISKIP */
+#define UNISKIP(uv)   UVCHR_SKIP(uv)
+
+/* Longer, but more accurate name */
+#define UTF8_IS_ABOVE_LATIN1_START(c)     UTF8_IS_ABOVE_LATIN1(c)
+
+/* Convert a UTF-8 variant Latin1 character to a native code point value.
+ * Needs just one iteration of accumulate.  Should be used only if it is known
+ * that the code point is < 256, and is not UTF-8 invariant.  Use the slower
+ * but more general TWO_BYTE_UTF8_TO_NATIVE() which handles any code point
+ * representable by two bytes (which turns out to be up through
+ * MAX_PORTABLE_UTF8_TWO_BYTE).  The two parameters are:
+ *  HI: a downgradable start byte;
+ *  LO: continuation.
+ * */
+#define EIGHT_BIT_UTF8_TO_NATIVE(HI, LO)                                        \
+    ( __ASSERT_(UTF8_IS_DOWNGRADEABLE_START(HI))                                \
+      __ASSERT_(UTF8_IS_CONTINUATION(LO))                                       \
+     LATIN1_TO_NATIVE(UTF8_ACCUMULATE((                                         \
+                            NATIVE_UTF8_TO_I8(HI) & UTF_START_MASK(2)), (LO))))
 
 /* Convert a two (not one) byte utf8 character to a native code point value.
  * Needs just one iteration of accumulate.  Should not be used unless it is
@@ -353,8 +382,10 @@ encoded as UTF-8.  C<cp> is a native (ASCII or EBCDIC) code point if less than
  * Note that the result can be larger than 255 if the input character is not
  * downgradable */
 #define TWO_BYTE_UTF8_TO_NATIVE(HI, LO) \
+    ( __ASSERT_(UTF8SKIP(HI) == 2)                                              \
+      __ASSERT_(UTF8_IS_CONTINUATION(LO))                                       \
      UNI_TO_NATIVE(UTF8_ACCUMULATE((NATIVE_UTF8_TO_I8(HI) & UTF_START_MASK(2)), \
-                                   (LO)))
+                                   (LO))))
 
 /* Should never be used, and be deprecated */
 #define TWO_BYTE_UTF8_TO_UNI(HI, LO) NATIVE_TO_UNI(TWO_BYTE_UTF8_TO_NATIVE(HI, LO))
@@ -370,18 +401,21 @@ only) byte is pointed to by C<s>.
 #define UTF8SKIP(s)  PL_utf8skip[*(const U8*)(s)]
 #define UTF8_SKIP(s) UTF8SKIP(s)
 
+/* Most code that says 'UNI_' really means the native value for code points up
+ * through 255 */
+#define UNI_IS_INVARIANT(cp)   UVCHR_IS_INVARIANT(cp)
+
 /* Is the byte 'c' the same character when encoded in UTF-8 as when not.  This
  * works on both UTF-8 encoded strings and non-encoded, as it returns TRUE in
- * each for the exact same set of bit patterns.  (And it works on any byte in a
- * UTF-8 encoded string) */
-#define UTF8_IS_INVARIANT(c)           UNI_IS_INVARIANT(NATIVE_UTF8_TO_I8(c))
+ * each for the exact same set of bit patterns.  It is valid on a subset of
+ * what UVCHR_IS_INVARIANT is valid on, so can just use that; and the compiler
+ * should optimize out anything extraneous given the implementation of the
+ * latter */
+#define UTF8_IS_INVARIANT(c)   UVCHR_IS_INVARIANT(c)
 
-/* Like the above, but its name implies a non-UTF8 input, and is implemented
- * differently (for no particular reason) */
-#define NATIVE_BYTE_IS_INVARIANT(c)    UNI_IS_INVARIANT(NATIVE_TO_LATIN1(c))
-
-/* Like the above, but accepts any UV as input */
-#define UVCHR_IS_INVARIANT(uv)          UNI_IS_INVARIANT(NATIVE_TO_UNI(uv))
+/* Like the above, but its name implies a non-UTF8 input, which as the comments
+ * above show, doesn't matter as to its implementation */
+#define NATIVE_BYTE_IS_INVARIANT(c)    UVCHR_IS_INVARIANT(c)
 
 #define MAX_PORTABLE_UTF8_TWO_BYTE 0x3FF    /* constrained by EBCDIC */
 
@@ -517,7 +551,9 @@ case any call to string overloading updates the internal UTF-8 encoding flag.
 #define UTF8_ALLOW_FFFF 0
 #define UTF8_ALLOW_SURROGATE 0
 
-#define UTF8_DISALLOW_ILLEGAL_INTERCHANGE (UTF8_DISALLOW_SUPER|UTF8_DISALLOW_NONCHAR|UTF8_DISALLOW_SURROGATE|UTF8_DISALLOW_FE_FF)
+#define UTF8_DISALLOW_ILLEGAL_INTERCHANGE                                      \
+                                (UTF8_DISALLOW_SUPER|UTF8_DISALLOW_NONCHAR     \
+                                 |UTF8_DISALLOW_SURROGATE|UTF8_DISALLOW_FE_FF)
 #define UTF8_WARN_ILLEGAL_INTERCHANGE \
        (UTF8_WARN_SUPER|UTF8_WARN_NONCHAR|UTF8_WARN_SURROGATE|UTF8_WARN_FE_FF)
 #define UTF8_ALLOW_ANY \
@@ -528,13 +564,6 @@ case any call to string overloading updates the internal UTF-8 encoding flag.
 #define UTF8_ALLOW_DEFAULT             (ckWARN(WARN_UTF8) ? 0 : \
                                         UTF8_ALLOW_ANYUV)
 
-/* Surrogates, non-character code points and above-Unicode code points are
- * problematic in some contexts.  This allows code that needs to check for
- * those to to quickly exclude the vast majority of code points it will
- * encounter */
-#define UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE \
-                                    FIRST_SURROGATE_UTF8_FIRST_BYTE
-
 /* Several of the macros below have a second parameter that is currently
  * unused; but could be used in the future to make sure that the input is
  * well-formed. */
@@ -694,9 +723,9 @@ case any call to string overloading updates the internal UTF-8 encoding flag.
 =for apidoc Am|STRLEN|isUTF8_CHAR|const U8 *s|const U8 *e
 
 Returns the number of bytes beginning at C<s> which form a legal UTF-8 (or
-UTF-EBCDIC) encoded character, looking no further than C<e - s> bytes into
-C<s>.  Returns 0 if the sequence starting at C<s> through C<e - 1> is not
-well-formed UTF-8
+UTF-EBCDIC) encoded character, looking no further than S<C<e - s>> bytes into
+C<s>.  Returns 0 if the sequence starting at C<s> through S<C<e - 1>> is not
+well-formed UTF-8.
 
 Note that an INVARIANT character (i.e. ASCII on non-EBCDIC
 machines) is a valid UTF-8 character.
index 39eb30c..5912b3a 100644 (file)
  *  http://www.unicode.org/unicode/reports/tr16
  *
  * To summarize, the way it works is:
- * To convert an EBCDIC character to UTF-EBCDIC:
- *  1) convert to Unicode.  The table in the generated file 'ebcdic_tables.h'
- *      that does this for EBCDIC bytes is PL_e2a (with inverse PL_a2e).  The
- *      'a' stands for ASCII platform, meaning latin1.
+ * To convert an EBCDIC code point to UTF-EBCDIC:
+ *  1) convert to Unicode.  No conversion is necesary for code points above
+ *      255, as Unicode and EBCDIC are identical in this range.  For smaller
+ *      code points, the conversion is done by lookup in the PL_e2a table (with
+ *      inverse PL_a2e) in the generated file 'ebcdic_tables.h'.  The 'a'
+ *      stands for ASCII platform, meaning 0-255 Unicode.
  *  2) convert that to a utf8-like string called I8 ('I' stands for
  *     intermediate) with variant characters occupying multiple bytes.  This
  *     step is similar to the utf8-creating step from Unicode, but the details
@@ -131,15 +133,17 @@ END_EXTERN_C
 
 /* EBCDIC-happy ways of converting native code to UTF-8 */
 
-#define NATIVE_TO_LATIN1(ch)            PL_e2a[(U8)(ch)]
-#define LATIN1_TO_NATIVE(ch)            PL_a2e[(U8)(ch)]
+/* Use these when ch is known to be < 256 */
+#define NATIVE_TO_LATIN1(ch)            (__ASSERT_(FITS_IN_8_BITS(ch)) PL_e2a[(U8)(ch)])
+#define LATIN1_TO_NATIVE(ch)            (__ASSERT_(FITS_IN_8_BITS(ch)) PL_a2e[(U8)(ch)])
 
-#define NATIVE_UTF8_TO_I8(ch)           PL_e2utf[(U8)(ch)]
-#define I8_TO_NATIVE_UTF8(ch)           PL_utf2e[(U8)(ch)]
+/* Use these on bytes */
+#define NATIVE_UTF8_TO_I8(b)           (__ASSERT_(FITS_IN_8_BITS(b)) PL_e2utf[(U8)(b)])
+#define I8_TO_NATIVE_UTF8(b)           (__ASSERT_(FITS_IN_8_BITS(b)) PL_utf2e[(U8)(b)])
 
 /* Transforms in wide UV chars */
-#define NATIVE_TO_UNI(ch)        (((ch) > 255) ? (ch) : NATIVE_TO_LATIN1(ch))
-#define UNI_TO_NATIVE(ch)        (((ch) > 255) ? (ch) : LATIN1_TO_NATIVE(ch))
+#define NATIVE_TO_UNI(ch)    (FITS_IN_8_BITS(ch) ? NATIVE_TO_LATIN1(ch) : (ch))
+#define UNI_TO_NATIVE(ch)    (FITS_IN_8_BITS(ch) ? LATIN1_TO_NATIVE(ch) : (ch))
 
 /*
   The following table is adapted from tr16, it shows I8 encoding of Unicode code points.
@@ -167,26 +171,47 @@ END_EXTERN_C
                         (uv) < 0x400000    ? 5 : \
                         (uv) < 0x4000000   ? 6 : 7 )
 
-
-#define UNI_IS_INVARIANT(c)            (((UV)(c)) <  0xA0)
-
-/* UTF-EBCDIC semantic macros - transform back into I8 and then compare
+#define OFFUNI_IS_INVARIANT(c) (((UV)(c)) <  0xA0)
+
+/* It turns out that on EBCDIC platforms, the invariants are the characters
+ * that have ASCII equivalents, plus the C1 controls.  Since the C0 controls
+ * and DELETE are ASCII, this is the same as: (isASCII(uv) || isCNTRL_L1(uv))
+ * */
+#define UVCHR_IS_INVARIANT(uv) cBOOL(FITS_IN_8_BITS(uv)                        \
+   && (PL_charclass[(U8) (uv)] & (_CC_mask(_CC_ASCII) | _CC_mask(_CC_CNTRL))))
+
+#define UVCHR_SKIP(uv) (UVCHR_IS_INVARIANT(uv)  ? 1 :                       \
+                        (uv) < 0x400            ? 2 :                       \
+                       (uv) < 0x4000           ? 3 :                       \
+                       (uv) < 0x40000          ? 4 :                       \
+                       (uv) < 0x400000         ? 5 :                       \
+                       (uv) < 0x4000000        ? 6 : 7 )
+
+/* UTF-EBCDIC semantic macros - We used to transform back into I8 and then
+ * compare, but now only have to do a single lookup by using a bit in
+ * l1_char_class_tab.h.
  * Comments as to the meaning of each are given at their corresponding utf8.h
  * definitions. */
 
-#define UTF8_IS_START(c)               (NATIVE_UTF8_TO_I8(c) >= 0xC5     \
-                                         && NATIVE_UTF8_TO_I8(c) != 0xE0)
-#define UTF8_IS_CONTINUATION(c)                ((NATIVE_UTF8_TO_I8(c) & 0xE0) == 0xA0)
-#define UTF8_IS_CONTINUED(c)           (NATIVE_UTF8_TO_I8(c) >= 0xA0)
-
-#define UTF8_IS_DOWNGRADEABLE_START(c) (NATIVE_UTF8_TO_I8(c) >= 0xC5     \
-                                         && NATIVE_UTF8_TO_I8(c) <= 0xC7)
-/* Saying it this way adds a runtime test, but removes 2 run-time lookups */
-/*#define UTF8_IS_DOWNGRADEABLE_START(c)  ((c) == I8_TO_NATIVE_UTF8(0xC5)     \
-                                         || (c) == I8_TO_NATIVE_UTF8(0xC6)  \
-                                         || (c) == I8_TO_NATIVE_UTF8(0xC7))
-*/
-#define UTF8_IS_ABOVE_LATIN1(c)        (NATIVE_UTF8_TO_I8(c) >= 0xC8)
+#define UTF8_IS_START(c)               _generic_isCC(c, _CC_UTF8_IS_START)
+#define UTF8_IS_CONTINUATION(c)                _generic_isCC(c, _CC_UTF8_IS_CONTINUATION)
+
+/* Equivalent to ! UVCHR_IS_INVARIANT(c) */
+#define UTF8_IS_CONTINUED(c)           cBOOL(FITS_IN_8_BITS(c)                 \
+   && ! (PL_charclass[(U8) (c)] & (_CC_mask(_CC_ASCII) | _CC_mask(_CC_CNTRL))))
+
+#define UTF8_IS_DOWNGRADEABLE_START(c)   _generic_isCC(c,                       \
+                                              _CC_UTF8_IS_DOWNGRADEABLE_START)
+
+/* Equivalent to (UTF8_IS_START(c) && ! UTF8_IS_DOWNGRADEABLE_START(c))
+ * Makes sure that the START bit is set and the DOWNGRADEABLE bit isn't */
+#define UTF8_IS_ABOVE_LATIN1(c) cBOOL(FITS_IN_8_BITS(c)                         \
+  && ((PL_charclass[(U8) (c)] & ( _CC_mask(_CC_UTF8_IS_START)                   \
+                                 |_CC_mask(_CC_UTF8_IS_DOWNGRADEABLE_START)))   \
+                        == _CC_mask(_CC_UTF8_IS_START)))
+
+#define isUTF8_POSSIBLY_PROBLEMATIC(c)                                          \
+                _generic_isCC(c, _CC_UTF8_START_BYTE_IS_FOR_AT_LEAST_SURROGATE)
 
 /* Can't exceed 7 on EBCDIC platforms */
 #define UTF_START_MARK(len) (0xFF & (0xFE << (7-(len))))
diff --git a/util.c b/util.c
index e357379..4cae40c 100644 (file)
--- a/util.c
+++ b/util.c
 int putenv(char *);
 #endif
 
+#ifdef __amigaos__
+# include "amigaos4/amigaio.h"
+#endif
+
 #ifdef HAS_SELECT
 # ifdef I_SYS_SELECT
 #  include <sys/select.h>
@@ -630,7 +634,7 @@ Perl_rninstr(const char *big, const char *bigend, const char *little, const char
 
 =for apidoc fbm_compile
 
-Analyses the string in order to make fast searches on it using fbm_instr()
+Analyses the string in order to make fast searches on it using C<fbm_instr()>
 -- the Boyer-Moore algorithm.
 
 =cut
@@ -732,7 +736,7 @@ Perl_fbm_compile(pTHX_ SV *sv, U32 flags)
 
 Returns the location of the SV in the string delimited by C<big> and
 C<bigend>.  It returns C<NULL> if the string can't be found.  The C<sv>
-does not have to be fbm_compiled, but the search will not be as fast
+does not have to be C<fbm_compiled>, but the search will not be as fast
 then.
 
 =cut
@@ -929,7 +933,8 @@ Perl_fbm_instr(pTHX_ unsigned char *big, unsigned char *bigend, SV *littlestr, U
 /*
 =for apidoc foldEQ
 
-Returns true if the leading len bytes of the strings s1 and s2 are the same
+Returns true if the leading C<len> bytes of the strings C<s1> and C<s2> are the
+same
 case-insensitively; false otherwise.  Uppercase and lowercase ASCII range bytes
 match themselves and their opposite case counterparts.  Non-cased and non-ASCII
 range bytes match only themselves.
@@ -982,8 +987,8 @@ Perl_foldEQ_latin1(const char *s1, const char *s2, I32 len)
 /*
 =for apidoc foldEQ_locale
 
-Returns true if the leading len bytes of the strings s1 and s2 are the same
-case-insensitively in the current locale; false otherwise.
+Returns true if the leading C<len> bytes of the strings C<s1> and C<s2> are the
+same case-insensitively in the current locale; false otherwise.
 
 =cut
 */
@@ -1110,7 +1115,7 @@ Perl_savesharedpv(pTHX_ const char *pv)
 =for apidoc savesharedpvn
 
 A version of C<savepvn()> which allocates the duplicate string in memory
-which is shared between threads.  (With the specific difference that a NULL
+which is shared between threads.  (With the specific difference that a C<NULL>
 pointer is not acceptable)
 
 =cut
@@ -1444,7 +1449,8 @@ Perl_mess_sv(pTHX_ SV *basemsg, bool consume)
 =for apidoc Am|SV *|vmess|const char *pat|va_list *args
 
 C<pat> and C<args> are a sprintf-style format pattern and encapsulated
-argument list.  These are used to generate a string message.  If the
+argument list, respectively.  These are used to generate a string message.  If
+the
 message does not end with a newline, then it will be extended with
 some indication of the current location in the code, as described for
 L</mess_sv>.
@@ -2049,6 +2055,9 @@ void
 Perl_my_setenv(pTHX_ const char *nam, const char *val)
 {
   dVAR;
+#ifdef __amigaos4__
+  amigaos4_obtain_environ(__FUNCTION__);
+#endif
 #ifdef USE_ITHREADS
   /* only parent thread can modify process environment */
   if (PL_curinterp == aTHX)
@@ -2090,7 +2099,11 @@ Perl_my_setenv(pTHX_ const char *nam, const char *val)
                 environ[i] = environ[i+1];
                 i++;
             }
+#ifdef __amigaos4__
+            goto my_setenv_out;
+#else
             return;
+#endif
         }
         if (!environ[i]) {                 /* does not exist yet */
             environ = (char**)safesysrealloc(environ, (i+2) * sizeof(char*));
@@ -2151,6 +2164,10 @@ Perl_my_setenv(pTHX_ const char *nam, const char *val)
     }
 #endif
   }
+#ifdef __amigaos4__
+my_setenv_out:
+  amigaos4_release_environ(__FUNCTION__);
+#endif
 }
 
 #else /* WIN32 || NETWARE */
@@ -2329,7 +2346,7 @@ vsprintf(char *dest, const char *pat, void *args)
 PerlIO *
 Perl_my_popen_list(pTHX_ const char *mode, int n, SV **args)
 {
-#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(OS2) && !defined(VMS) && !defined(NETWARE) && !defined(__LIBCATAMOUNT__)
+#if (!defined(DOSISH) || defined(HAS_FORK)) && !defined(OS2) && !defined(VMS) && !defined(NETWARE) && !defined(__LIBCATAMOUNT__) && !defined(__amigaos4__)
     int p[2];
     I32 This, that;
     Pid_t pid;
@@ -2373,7 +2390,7 @@ Perl_my_popen_list(pTHX_ const char *mode, int n, SV **args)
        /* Close parent's end of error status pipe (if any) */
        if (did_pipes) {
            PerlLIO_close(pp[0]);
-#if defined(HAS_FCNTL) && defined(F_SETFD)
+#if defined(HAS_FCNTL) && defined(F_SETFD) && defined(FD_CLOEXEC)
            /* Close error pipe automatically if exec works */
            if (fcntl(pp[1], F_SETFD, FD_CLOEXEC) < 0)
                 return NULL;
@@ -2467,8 +2484,8 @@ Perl_my_popen_list(pTHX_ const char *mode, int n, SV **args)
 #endif
 }
 
-    /* VMS' my_popen() is in VMS.c, same with OS/2. */
-#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__LIBCATAMOUNT__)
+    /* VMS' my_popen() is in VMS.c, same with OS/2 and AmigaOS 4. */
+#if (!defined(DOSISH) || defined(HAS_FORK)) && !defined(VMS) && !defined(__LIBCATAMOUNT__) && !defined(__amigaos4__)
 PerlIO *
 Perl_my_popen(pTHX_ const char *cmd, const char *mode)
 {
@@ -2688,6 +2705,8 @@ Perl_my_fork(void)
     pid = fork();
 #endif
     return pid;
+#elif defined(__amigaos4__)
+    return amigaos_fork();
 #else
     /* this "canna happen" since nothing should be calling here if !HAS_FORK */
     Perl_croak_nocontext("fork() not available");
@@ -2887,7 +2906,7 @@ Perl_rsignal_restore(pTHX_ int signo, Sigsave_t *save)
 #endif /* !PERL_MICRO */
 
     /* VMS' my_pclose() is in VMS.c; same with OS/2 */
-#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__LIBCATAMOUNT__)
+#if (!defined(DOSISH) || defined(HAS_FORK)) && !defined(VMS) && !defined(__LIBCATAMOUNT__) && !defined(__amigaos4__)
 I32
 Perl_my_pclose(pTHX_ PerlIO *ptr)
 {
@@ -3047,7 +3066,10 @@ S_pidgone(pTHX_ Pid_t pid, int status)
 }
 #endif
 
-#if defined(OS2)
+#if defined(OS2) || defined(__amigaos4__)
+#  if defined(__amigaos4__) && defined(pclose)
+#    undef pclose
+#  endif
 int pclose();
 #ifdef HAS_FORK
 int                                    /* Cannot prototype with I32
@@ -3947,7 +3969,7 @@ return FALSE
 
 =for apidoc getcwd_sv
 
-Fill the sv with current working directory
+Fill C<sv> with current working directory
 
 =cut
 */
@@ -4378,7 +4400,7 @@ Perl_my_socketpair (int family, int type, int protocol, int fd[2]) {
 Dummy routine which "shares" an SV when there is no sharing module present.
 Or "locks" it.  Or "unlocks" it.  In other
 words, ignores its single SV argument.
-Exists to avoid test for a NULL function pointer and because it could
+Exists to avoid test for a C<NULL> function pointer and because it could
 potentially warn under some level of strict-ness.
 
 =cut
@@ -4397,7 +4419,7 @@ Perl_sv_nosharing(pTHX_ SV *sv)
 
 Dummy routine which reports that object can be destroyed when there is no
 sharing module present.  It ignores its single SV argument, and returns
-'true'.  Exists to avoid test for a NULL function pointer and because it
+'true'.  Exists to avoid test for a C<NULL> function pointer and because it
 could potentially warn under some level of strict-ness.
 
 =cut
@@ -4528,7 +4550,11 @@ Perl_seed(pTHX)
     * if there isn't enough entropy available.  You can compile with
     * PERL_RANDOM_DEVICE to it if you'd prefer Perl to block until there
     * is enough real entropy to fill the seed. */
-#  define PERL_RANDOM_DEVICE "/dev/urandom"
+#  ifdef __amigaos4__
+#    define PERL_RANDOM_DEVICE "RANDOM:SIZE=4"
+#  else
+#    define PERL_RANDOM_DEVICE "/dev/urandom"
+#  endif
 #endif
     fd = PerlLIO_open(PERL_RANDOM_DEVICE, 0);
     if (fd != -1) {
@@ -4946,18 +4972,18 @@ Perl_my_sprintf(char *buffer, const char* pat, ...)
 /*
 =for apidoc quadmath_format_single
 
-quadmath_snprintf() is very strict about its format string and will
-fail, returning -1, if the format is invalid.  It acccepts exactly
+C<quadmath_snprintf()> is very strict about its C<format> string and will
+fail, returning -1, if the format is invalid.  It accepts exactly
 one format spec.
 
-quadmath_format_single() checks that the intended single spec looks
+C<quadmath_format_single()> checks that the intended single spec looks
 sane: begins with C<%>, has only one C<%>, ends with C<[efgaEFGA]>,
 and has C<Q> before it.  This is not a full "printf syntax check",
 just the basics.
 
 Returns the format if it is valid, NULL if not.
 
-quadmath_format_single() can and will actually patch in the missing
+C<quadmath_format_single()> can and will actually patch in the missing
 C<Q>, if necessary.  In this case it will return the modified copy of
 the format, B<which the caller will need to free.>
 
@@ -4995,18 +5021,18 @@ Perl_quadmath_format_single(const char* format)
 /*
 =for apidoc quadmath_format_needed
 
-quadmath_format_needed() returns true if the format string seems to
-contain at least one non-Q-prefixed %[efgaEFGA] format specifier,
+C<quadmath_format_needed()> returns true if the C<format> string seems to
+contain at least one non-Q-prefixed C<%[efgaEFGA]> format specifier,
 or returns false otherwise.
 
 The format specifier detection is not complete printf-syntax detection,
 but it should catch most common cases.
 
 If true is returned, those arguments B<should> in theory be processed
-with quadmath_snprintf(), but in case there is more than one such
+with C<quadmath_snprintf()>, but in case there is more than one such
 format specifier (see L</quadmath_format_single>), and if there is
 anything else beyond that one (even just a single byte), they
-B<cannot> be processed because quadmath_snprintf() is very strict,
+B<cannot> be processed because C<quadmath_snprintf()> is very strict,
 accepting only one format spec, and nothing else.
 In this case, the code should probably fail.
 
@@ -6129,10 +6155,10 @@ static void atos_symbolize(atos_context* ctx,
 =for apidoc get_c_backtrace
 
 Collects the backtrace (aka "stacktrace") into a single linear
-malloced buffer, which the caller B<must> Perl_free_c_backtrace().
+malloced buffer, which the caller B<must> C<Perl_free_c_backtrace()>.
 
-Scans the frames back by depth + skip, then drops the skip innermost,
-returning at most depth frames.
+Scans the frames back by S<C<depth + skip>>, then drops the C<skip> innermost,
+returning at most C<depth> frames.
 
 =cut
 */
@@ -6378,8 +6404,8 @@ Deallocates a backtrace received from get_c_bracktrace.
 /*
 =for apidoc get_c_backtrace_dump
 
-Returns a SV a dump of |depth| frames of the call stack, skipping
-the |skip| innermost ones.  depth of 20 is usually enough.
+Returns a SV containing a dump of C<depth> frames of the call stack, skipping
+the C<skip> innermost ones.  C<depth> of 20 is usually enough.
 
 The appended output looks like:
 
@@ -6390,10 +6416,10 @@ The appended output looks like:
 
 The fields are tab-separated.  The first column is the depth (zero
 being the innermost non-skipped frame).  In the hex:offset, the hex is
-where the program counter was in S_parse_body, and the :offset (might
-be missing) tells how much inside the S_parse_body the program counter was.
+where the program counter was in C<S_parse_body>, and the :offset (might
+be missing) tells how much inside the C<S_parse_body> the program counter was.
 
-The util.c:1716 is the source code file and line number.
+The C<util.c:1716> is the source code file and line number.
 
 The F</usr/bin/perl> is obvious (hopefully).
 
@@ -6461,7 +6487,7 @@ Perl_get_c_backtrace_dump(pTHX_ int depth, int skip)
 /*
 =for apidoc dump_c_backtrace
 
-Dumps the C backtrace to the given fp.
+Dumps the C backtrace to the given C<fp>.
 
 Returns true if a backtrace could be retrieved, false if not.
 
diff --git a/util.h b/util.h
index 0d41ebc..3310b11 100644 (file)
--- a/util.h
+++ b/util.h
 
 =for apidoc ibcmp
 
-This is a synonym for (! foldEQ())
+This is a synonym for S<C<(! foldEQ())>>
 
 =for apidoc ibcmp_locale
 
-This is a synonym for (! foldEQ_locale())
+This is a synonym for S<C<(! foldEQ_locale())>>
 
 =cut
 */
index f47f4a5..701e424 100644 (file)
@@ -307,7 +307,7 @@ utils : $(utils1) $(utils2) $(utils3) $(utils4) $(utils5)
 extra.pods : miniperl
        @ @extra_pods.com
 
-PERLDELTA_CURRENT = [.pod]perl5232delta.pod
+PERLDELTA_CURRENT = [.pod]perl5233delta.pod
 
 $(PERLDELTA_CURRENT) : [.pod]perldelta.pod
        Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)
index c0da7ee..5f45a73 100644 (file)
@@ -5,7 +5,7 @@ our $VERSION = '1.03';
 use strict;
 use warnings;
 
-my $no = join('|',qw(GDBM_File ODBM_File NDBM_File DB_File
+my $no = join('|',qw(Amiga.* GDBM_File ODBM_File NDBM_File DB_File
                      VMS.* Sys-Syslog IPC-SysV I18N-Langinfo));
 $no = qr/^(?:$no)$/i;
 
@@ -23,6 +23,7 @@ sub apply_config {
     push @no, "NDBM_File" unless $config->{d_ndbm};
     push @no, "ODBM_File"
       unless ($config->{i_dbm} || $config->{i_rpcsvcdbm}) && !$config->{d_cplusplus};
+    push @no, "Amiga.*" unless $^O eq "amigaos";
     push @no, "VMS.*" unless $^O eq "VMS";
     push @no, "Win32.*" unless $^O eq "MSWin32" || $^O eq "cygwin";
 
index f92c0f0..651ffc6 100644 (file)
@@ -66,7 +66,7 @@ INST_TOP := $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      := \5.23.2
+#INST_VER      := \5.23.3
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -1130,7 +1130,7 @@ utils: $(PERLEXE) ..\utils\Makefile
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perldelta.pod ..\pod\perl5230delta.pod
+       copy ..\pod\perldelta.pod ..\pod\perl5233delta.pod
        $(PERLEXE) $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
        $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
@@ -1225,7 +1225,7 @@ distclean: realclean
        -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
        -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
        -cd $(PODDIR) && del /f *.html *.bat roffitall \
-           perl5230delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+           perl5233delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
            perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
index a2fb2aa..f6d8fb5 100644 (file)
@@ -38,7 +38,7 @@ INST_TOP      = $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      = \5.23.2
+#INST_VER      = \5.23.3
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -1195,7 +1195,7 @@ utils: $(PERLEXE) ..\utils\Makefile
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perldelta.pod ..\pod\perl5232delta.pod
+       copy ..\pod\perldelta.pod ..\pod\perl5233delta.pod
        cd ..\win32
        $(PERLEXE) $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
@@ -1230,6 +1230,7 @@ distclean: realclean
        -del /f $(LIBDIR)\buildcustomize.pl
        -del /f $(DISTDIR)\XSLoader\XSLoader.pm
        -del /f *.def *.map
+       -if exist $(LIBDIR)\Amiga rmdir /s /q $(LIBDIR)\Amiga
        -if exist $(LIBDIR)\App rmdir /s /q $(LIBDIR)\App
        -if exist $(LIBDIR)\Archive rmdir /s /q $(LIBDIR)\Archive
        -if exist $(LIBDIR)\Attribute rmdir /s /q $(LIBDIR)\Attribute
@@ -1291,7 +1292,7 @@ distclean: realclean
        -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
        -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
        -cd $(PODDIR) && del /f *.html *.bat roffitall \
-           perl5232delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+           perl5233delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
            perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
index 98255a8..74e5f0d 100644 (file)
@@ -198,6 +198,19 @@ else {
     $opt{uvxformat} = '"lx"';
 }
 
+unless ($opt{cc} =~ /\bcl/) {
+    if ($opt{WIN64} eq 'define') {
+        $opt{longdblsize} = 16;
+        $opt{longdblinfbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00';
+        $opt{longdblnanbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00';
+    }
+    else {
+        $opt{longdblsize} = 12;
+        $opt{longdblinfbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00';
+        $opt{longdblnanbytes} = '0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x00, 0x00';
+    }
+}
+
 # set long double options
 if ($opt{uselongdouble} eq 'define') {
     $opt{d_Gconvert} = 'sprintf((b),"%.*""Lg",(n),(x))';
@@ -214,14 +227,7 @@ if ($opt{uselongdouble} eq 'define') {
     $opt{d_PRIfldbl} = 'define';
     $opt{d_PRIgldbl} = 'define';
     $opt{d_SCNfldbl} = 'define';
-    if ($opt{WIN64} eq 'define') {
-        $opt{longdblsize} = 16;
-        $opt{nvsize} = 16;
-    }
-    else {
-        $opt{longdblsize} = 12;
-        $opt{nvsize} = 12;
-    }
+    $opt{nvsize} = $opt{longdblsize};
     $opt{nvtype} = 'long double';
     $opt{nv_overflows_integers_at} = '256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0';
     $opt{nvEUformat} = '"LE"';
@@ -230,6 +236,8 @@ if ($opt{uselongdouble} eq 'define') {
     $opt{nveformat} = '"Le"';
     $opt{nvfformat} = '"Lf"';
     $opt{nvgformat} = '"Lg"';
+    $opt{longdblkind} = 3;
+    $opt{longdblmantbits} = 64;
 }
 else {
     $opt{d_Gconvert} = 'sprintf((b),"%.*g",(n),(x))';
@@ -246,7 +254,6 @@ else {
     $opt{d_PRIfldbl} = 'undef';
     $opt{d_PRIgldbl} = 'undef';
     $opt{d_SCNfldbl} = 'undef';
-    $opt{longdblsize} = 8;
     $opt{nvsize} = 8;
     $opt{nvtype} = 'double';
     $opt{nv_overflows_integers_at} = '256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0';
index c74b5bb..01ea7fb 100644 (file)
@@ -44,7 +44,7 @@ INST_TOP      *= $(INST_DRV)\perl
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER      *= \5.23.2
+#INST_VER      *= \5.23.3
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -345,6 +345,10 @@ BUILDOPT   += -DPERL_IMPLICIT_SYS
 
 PROCESSOR_ARCHITECTURE *= x86
 
+.IF "$(WIN64)" == "undef"
+PROCESSOR_ARCHITECTURE = x86
+.ENDIF
+
 .IF "$(WIN64)" == ""
 # When we are running from a 32bit cmd.exe on AMD64 then
 # PROCESSOR_ARCHITECTURE is set to x86 and PROCESSOR_ARCHITEW6432
@@ -468,7 +472,7 @@ a = .a
 # Options
 #
 
-INCLUDES       = -I.\include -I. -I.. -I$(COREDIR)
+INCLUDES       = -I.\include -I. -I..
 DEFINES                = -DWIN32
 .IF "$(WIN64)" == "define"
 DEFINES                += -DWIN64 -DCONSERVATIVE
@@ -508,6 +512,7 @@ LINK_FLAGS  = $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
 OBJOUT_FLAG    = -o
 EXEOUT_FLAG    = -o
 LIBOUT_FLAG    =
+PDBOUT         =
 
 BUILDOPT       += -fno-strict-aliasing -mms-bitfields
 MINIBUILDOPT   += -fno-strict-aliasing
@@ -555,7 +560,7 @@ RSC         = rc
 # Options
 #
 
-INCLUDES       = -I$(COREDIR) -I.\include -I. -I..
+INCLUDES       = -I.\include -I. -I..
 #PCHFLAGS      = -Fpc:\temp\vcmoduls.pch -YX
 DEFINES                = -DWIN32 -D_CONSOLE -DNO_STRICT
 LOCDEFS                = -DPERLDLL -DPERL_CORE
@@ -653,11 +658,11 @@ CFLAGS            = $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) \
 LINK_FLAGS     = -nologo -nodefaultlib $(LINK_DBG) \
                -libpath:"$(INST_COREDIR)" \
                -machine:$(PROCESSOR_ARCHITECTURE)
-LIB_FLAGS      = $(LIB_FLAGS) -nologo
+LIB_FLAGS      += -nologo
 OBJOUT_FLAG    = -Fo
 EXEOUT_FLAG    = -Fe
 LIBOUT_FLAG    = /out:
-
+PDBOUT         = -Fd$*.pdb
 TESTPREPGCC    =
 
 .ENDIF
@@ -717,7 +722,7 @@ LKPOST              = )
 .SUFFIXES : .c .i $(o) .dll $(a) .exe .rc .res
 
 .c$(o):
-       $(CC) -c $(null,$(<:d) $(NULL) -I$(<:d)) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
+       $(CC) -c $(null,$(<:d) $(NULL) -I$(<:d)) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $(PDBOUT) $<
 
 .c.i:
        $(CC) -c $(null,$(<:d) $(NULL) -I$(<:d)) $(CFLAGS_O) -E $< >$@
@@ -744,14 +749,19 @@ $(o).dll:
 
 #
 # various targets
+
+#do not put $(MINIPERL) as a dep/prereq in a rule, instead put $(HAVEMINIPERL)
+#$(MINIPERL) is not a buildable target, use "dmake mp" if you want to just build
+#miniperl alone
 MINIPERL       = ..\miniperl.exe
+HAVEMINIPERL   = ..\lib\buildcustomize.pl
 MINIDIR                = .\mini
 PERLEXE                = ..\perl.exe
 WPERLEXE       = ..\wperl.exe
 PERLEXESTATIC  = ..\perl-static.exe
 STATICDIR      = .\static.tmp
 GLOBEXE                = ..\perlglob.exe
-CONFIGPM       = ..\lib\Config.pm ..\lib\Config_heavy.pl
+CONFIGPM       = ..\lib\Config.pm
 GENUUDMAP      = ..\generate_uudmap.exe
 .IF "$(BUILD_STATIC)" == "define" || "$(ALL_STATIC)" == "define"
 PERLSTATIC     = static
@@ -778,7 +788,7 @@ PERLDLL_RES =
 # This used to be $(PERLEXE), but at worst it is the .dll that they depend
 # on and really only the interface - i.e. the .def file used to export symbols
 # from the .dll
-PERLDEP = perldll.def
+PERLDEP = $(PERLIMPLIB)
 
 
 PL2BAT         = bin\pl2bat.pl
@@ -834,52 +844,66 @@ INT64             = __int64
 # makedef.pl must be updated if this changes, and this should normally
 # only change when there is an incompatible revision of the public API.
 PERLIMPLIB     *= ..\perl523$(a)
+PERLEXPLIB     *= ..\perl523.exp
 PERLSTATICLIB  *= ..\perl523s$(a)
 PERLDLL                = ..\perl523.dll
 
+#EUMM on Win32 isn't ready for parallel make, so only allow this file to be parallel
+#$(MAKE) will contain the -P that this makefile was called with, which is bad for
+#make_ext.pl since upto jobs*jobs processes will run instead of jobs
+#also any recipie containing $(MAKE) is special cased by dmake to execute recipes
+#containing $(MAKE) when "dmake -n" is executed, which causes recursive calls
+#to dmake, which means "dmake -n" is then broken as a diagnostic tool since
+#"dmake -n" will invoke all the make_ext.pl scripts build things instead of
+#showing what to build since $(MAKE) is an arg to make_ext.pl, not an invocation
+#of the dmake process
+PLMAKE         = dmake
+
 XCOPY          = xcopy /f /r /i /d /y
 RCOPY          = xcopy /f /r /i /e /d /y
 NOOP           = @rem
 
+#first ones are arrange in compile time order for faster parallel building
+#see #123867 for details
 MICROCORE_SRC  =               \
+               ..\toke.c       \
+               ..\regcomp.c    \
+               ..\regexec.c    \
+               ..\op.c         \
+               ..\sv.c         \
+               ..\pp.c         \
+               ..\pp_ctl.c     \
+               ..\pp_sys.c     \
+               ..\pp_pack.c    \
+               ..\pp_hot.c     \
+               ..\gv.c         \
+               ..\perl.c       \
+               ..\utf8.c       \
+               ..\dump.c       \
+               ..\hv.c         \
                ..\av.c         \
                ..\caretx.c     \
                ..\deb.c        \
                ..\doio.c       \
                ..\doop.c       \
                ..\dquote.c     \
-               ..\dump.c       \
                ..\globals.c    \
-               ..\gv.c         \
                ..\mro_core.c   \
-               ..\hv.c         \
                ..\locale.c     \
                ..\keywords.c   \
                ..\mathoms.c    \
                ..\mg.c         \
                ..\numeric.c    \
-               ..\op.c         \
                ..\pad.c        \
-               ..\perl.c       \
                ..\perlapi.c    \
                ..\perly.c      \
-               ..\pp.c         \
-               ..\pp_ctl.c     \
-               ..\pp_hot.c     \
-               ..\pp_pack.c    \
                ..\pp_sort.c    \
-               ..\pp_sys.c     \
                ..\reentr.c     \
-               ..\regcomp.c    \
-               ..\regexec.c    \
                ..\run.c        \
                ..\scope.c      \
-               ..\sv.c         \
                ..\taint.c      \
                ..\time64.c     \
-               ..\toke.c       \
                ..\universal.c  \
-               ..\utf8.c       \
                ..\util.c
 
 EXTRACORE_SRC  += perllib.c
@@ -944,6 +968,10 @@ UUDMAP_H   = ..\uudmap.h
 BITCOUNT_H     = ..\bitcount.h
 MG_DATA_H      = ..\mg_data.h
 GENERATED_HEADERS = $(UUDMAP_H) $(BITCOUNT_H) $(MG_DATA_H)
+#a stub ppport.h must be generated so building XS modules, .c->.obj wise, will
+#work, so this target also represents creating the COREDIR and filling it
+HAVE_COREDIR   = $(COREDIR)\ppport.h
+
 
 MICROCORE_OBJ  = $(MICROCORE_SRC:db:+$(o))
 CORE_OBJ       = $(MICROCORE_OBJ) $(EXTRACORE_SRC:db:+$(o))
@@ -952,7 +980,6 @@ MINICORE_OBJ        = $(MINIDIR)\{$(MICROCORE_OBJ:f) miniperlmain$(o) perlio$(o)}
 MINIWIN32_OBJ  = $(MINIDIR)\{$(WIN32_OBJ:f)}
 MINI_OBJ       = $(MINICORE_OBJ) $(MINIWIN32_OBJ)
 DLL_OBJ                = $(DYNALOADER)
-GENUUDMAP_OBJ  = $(GENUUDMAP:db:+$(o))
 
 PERLDLL_OBJ    = $(CORE_OBJ)
 PERLEXE_OBJ    = perlmain$(o)
@@ -997,7 +1024,7 @@ CFG_VARS   =                                       \
                libperl=$(PERLIMPLIB:f)         ~       \
                libpth=$(CCLIBDIR);$(EXTRALIBDIRS)      ~       \
                libc=$(LIBC)                    ~       \
-               make=dmake                      ~       \
+               make=$(PLMAKE)                  ~       \
                _o=$(o)                         ~       \
                obj_ext=$(o)                    ~       \
                _a=$(a)                         ~       \
@@ -1019,19 +1046,13 @@ CFG_VARS        =                                       \
 # Top targets
 #
 
-all : CHECKDMAKE .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL)    \
-       $(CONFIGPM) $(UNIDATAFILES) MakePPPort                          \
-       $(PERLEXE) Extensions Extensions_nonxs $(PERLSTATIC)
-
-regnodes : ..\regnodes.h
+all : CHECKDMAKE  rebasePE $(UNIDATAFILES) Extensions_nonxs $(PERLSTATIC)
 
 ..\regcomp$(o) : ..\regnodes.h ..\regcharclass.h
 
 ..\regexec$(o) : ..\regnodes.h ..\regcharclass.h
 
-reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL)   \
-       $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE)                          \
-       Extensions_reonly
+reonly : ..\regnodes.h $(UNIDATAFILES) Extensions_reonly
 
 static: $(PERLEXESTATIC)
 
@@ -1059,178 +1080,13 @@ perlglob$(o)  : perlglob.c
 config.w32 : $(CFGSH_TMPL)
        copy $(CFGSH_TMPL) config.w32
 
-#
-# Copy the template config.h and set configurables at the end of it
-# as per the options chosen and compiler used.
-# Note: This config.h is only used to build miniperl.exe anyway, but
-# it's as well to have its options correct to be sure that it builds
-# and so that it's "-V" options are correct for use by makedef.pl. The
-# real config.h used to build perl.exe is generated from the top-level
-# config_h.SH by config_h.PL (run by miniperl.exe).
-#
-.\config.h : $(CFGH_TMPL) $(CORE_NOCFG_H)
-       -del /f config.h
-       copy $(CFGH_TMPL) config.h
-       @echo.>>$@
-       @echo #ifndef _config_h_footer_>>$@
-       @echo #define _config_h_footer_>>$@
-       @echo #undef Off_t>>$@
-       @echo #undef LSEEKSIZE>>$@
-       @echo #undef Off_t_size>>$@
-       @echo #undef PTRSIZE>>$@
-       @echo #undef SSize_t>>$@
-       @echo #undef HAS_ATOLL>>$@
-       @echo #undef HAS_STRTOLL>>$@
-       @echo #undef HAS_STRTOULL>>$@
-       @echo #undef Size_t_size>>$@
-       @echo #undef IVTYPE>>$@
-       @echo #undef UVTYPE>>$@
-       @echo #undef IVSIZE>>$@
-       @echo #undef UVSIZE>>$@
-       @echo #undef NV_PRESERVES_UV>>$@
-       @echo #undef NV_PRESERVES_UV_BITS>>$@
-       @echo #undef IVdf>>$@
-       @echo #undef UVuf>>$@
-       @echo #undef UVof>>$@
-       @echo #undef UVxf>>$@
-       @echo #undef UVXf>>$@
-       @echo #undef USE_64_BIT_INT>>$@
-       @echo #undef Gconvert>>$@
-       @echo #undef HAS_FREXPL>>$@
-       @echo #undef HAS_ISNANL>>$@
-       @echo #undef HAS_MODFL>>$@
-       @echo #undef HAS_MODFL_PROTO>>$@
-       @echo #undef HAS_SQRTL>>$@
-       @echo #undef HAS_STRTOLD>>$@
-       @echo #undef PERL_PRIfldbl>>$@
-       @echo #undef PERL_PRIgldbl>>$@
-       @echo #undef PERL_PRIeldbl>>$@
-       @echo #undef PERL_SCNfldbl>>$@
-       @echo #undef NVTYPE>>$@
-       @echo #undef NVSIZE>>$@
-       @echo #undef LONG_DOUBLESIZE>>$@
-       @echo #undef NV_OVERFLOWS_INTEGERS_AT>>$@
-       @echo #undef NVef>>$@
-       @echo #undef NVff>>$@
-       @echo #undef NVgf>>$@
-       @echo #undef USE_LONG_DOUBLE>>$@
-       @echo #undef USE_CPLUSPLUS>>$@
-.IF "$(USE_LARGE_FILES)"=="define"
-       @echo #define Off_t $(INT64)>>$@
-       @echo #define LSEEKSIZE ^8>>$@
-       @echo #define Off_t_size ^8>>$@
-.ELSE
-       @echo #define Off_t long>>$@
-       @echo #define LSEEKSIZE ^4>>$@
-       @echo #define Off_t_size ^4>>$@
-.ENDIF
-.IF "$(WIN64)"=="define"
-       @echo #define PTRSIZE ^8>>$@
-       @echo #define SSize_t $(INT64)>>$@
-       @echo #define HAS_ATOLL>>$@
-       @echo #define HAS_STRTOLL>>$@
-       @echo #define HAS_STRTOULL>>$@
-       @echo #define Size_t_size ^8>>$@
-.ELSE
-       @echo #define PTRSIZE ^4>>$@
-       @echo #define SSize_t int>>$@
-       @echo #undef HAS_ATOLL>>$@
-       @echo #undef HAS_STRTOLL>>$@
-       @echo #undef HAS_STRTOULL>>$@
-       @echo #define Size_t_size ^4>>$@
-.ENDIF
-.IF "$(USE_64_BIT_INT)"=="define"
-       @echo #define IVTYPE $(INT64)>>$@
-       @echo #define UVTYPE unsigned $(INT64)>>$@
-       @echo #define IVSIZE ^8>>$@
-       @echo #define UVSIZE ^8>>$@
-.IF "$(USE_LONG_DOUBLE)"=="define"
-       @echo #define NV_PRESERVES_UV>>$@
-       @echo #define NV_PRESERVES_UV_BITS 64>>$@
-.ELSE
-       @echo #undef NV_PRESERVES_UV>>$@
-       @echo #define NV_PRESERVES_UV_BITS 53>>$@
-.ENDIF
-       @echo #define IVdf "I64d">>$@
-       @echo #define UVuf "I64u">>$@
-       @echo #define UVof "I64o">>$@
-       @echo #define UVxf "I64x">>$@
-       @echo #define UVXf "I64X">>$@
-       @echo #define USE_64_BIT_INT>>$@
-.ELSE
-       @echo #define IVTYPE long>>$@
-       @echo #define UVTYPE unsigned long>>$@
-       @echo #define IVSIZE ^4>>$@
-       @echo #define UVSIZE ^4>>$@
-       @echo #define NV_PRESERVES_UV>>$@
-       @echo #define NV_PRESERVES_UV_BITS 32>>$@
-       @echo #define IVdf "ld">>$@
-       @echo #define UVuf "lu">>$@
-       @echo #define UVof "lo">>$@
-       @echo #define UVxf "lx">>$@
-       @echo #define UVXf "lX">>$@
-       @echo #undef USE_64_BIT_INT>>$@
-.ENDIF
-.IF "$(USE_LONG_DOUBLE)"=="define"
-       @echo #define Gconvert(x,n,t,b) sprintf((b),"%.*""Lg",(n),(x))>>$@
-       @echo #define HAS_FREXPL>>$@
-       @echo #define HAS_ISNANL>>$@
-       @echo #define HAS_MODFL>>$@
-       @echo #define HAS_MODFL_PROTO>>$@
-       @echo #define HAS_SQRTL>>$@
-       @echo #define HAS_STRTOLD>>$@
-       @echo #define PERL_PRIfldbl "Lf">>$@
-       @echo #define PERL_PRIgldbl "Lg">>$@
-       @echo #define PERL_PRIeldbl "Le">>$@
-       @echo #define PERL_SCNfldbl "Lf">>$@
-       @echo #define NVTYPE long double>>$@
-.IF "$(WIN64)"=="define"
-       @echo #define NVSIZE ^16>>$@
-       @echo #define LONG_DOUBLESIZE ^16>>$@
-.ELSE
-       @echo #define NVSIZE ^12>>$@
-       @echo #define LONG_DOUBLESIZE ^12>>$@
-.ENDIF
-       @echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0>>$@
-       @echo #define NVef "Le">>$@
-       @echo #define NVff "Lf">>$@
-       @echo #define NVgf "Lg">>$@
-       @echo #define USE_LONG_DOUBLE>>$@
-.ELSE
-       @echo #define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))>>$@
-       @echo #undef HAS_FREXPL>>$@
-       @echo #undef HAS_ISNANL>>$@
-       @echo #undef HAS_MODFL>>$@
-       @echo #undef HAS_MODFL_PROTO>>$@
-       @echo #undef HAS_SQRTL>>$@
-       @echo #undef HAS_STRTOLD>>$@
-       @echo #undef PERL_PRIfldbl>>$@
-       @echo #undef PERL_PRIgldbl>>$@
-       @echo #undef PERL_PRIeldbl>>$@
-       @echo #undef PERL_SCNfldbl>>$@
-       @echo #define NVTYPE double>>$@
-       @echo #define NVSIZE ^8>>$@
-       @echo #define LONG_DOUBLESIZE ^8>>$@
-       @echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0>>$@
-       @echo #define NVef "e">>$@
-       @echo #define NVff "f">>$@
-       @echo #define NVgf "g">>$@
-       @echo #undef USE_LONG_DOUBLE>>$@
-.ENDIF
-.IF "$(USE_CPLUSPLUS)"=="define"
-       @echo #define USE_CPLUSPLUS>>$@
-.ELSE
-       @echo #undef USE_CPLUSPLUS>>$@
-.ENDIF
-       @echo #endif>>$@
-
-..\git_version.h : $(MINIPERL) ..\make_patchnum.pl
+..\git_version.h : $(HAVEMINIPERL) ..\make_patchnum.pl
        cd .. && miniperl -Ilib make_patchnum.pl
 
 # make sure that we recompile perl.c if the git version changes
 ..\perl$(o) : ..\git_version.h
 
-..\config.sh : config.w32 $(MINIPERL) config_sh.PL FindExt.pm
+..\config.sh : config.w32 $(HAVEMINIPERL) config_sh.PL FindExt.pm
        $(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file \
            $(mktmp $(CFG_VARS)) config.w32 > ..\config.sh
 
@@ -1246,18 +1102,15 @@ regen_config_h:
        -$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)"
        rename config.h $(CFGH_TMPL)
 
-$(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL
+$(CONFIGPM): ..\config.sh config_h.PL
        $(MINIPERL) -I..\lib ..\configpm --chdir=..
-       $(XCOPY) ..\*.h $(COREDIR)\*.*
-       $(XCOPY) *.h $(COREDIR)\*.*
-       $(RCOPY) include $(COREDIR)\*.*
-       $(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)" \
-           || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE)
+       $(XCOPY) config.h $(COREDIR)\*.*
+       -$(MINIPERL) -I..\lib config_h.PL "ARCHPREFIX=$(ARCHPREFIX)"
 
-# See the comment in Makefile.SH explaining this seemingly cranky ordering
-$(MINIPERL) : ..\lib\buildcustomize.pl
+.\config.h : $(CONFIGPM)
 
-..\lib\buildcustomize.pl : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS) ..\write_buildcustomize.pl
+# See the comment in Makefile.SH explaining this seemingly cranky ordering
+..\lib\buildcustomize.pl : $(MINI_OBJ) ..\write_buildcustomize.pl
 .IF "$(CCTYPE)" == "GCC"
        $(LINK32) -v -mconsole -o $(MINIPERL) $(BLINK_FLAGS) \
            $(mktmp $(LKPRE) $(MINI_OBJ) $(LIBFILES) $(LKPOST))
@@ -1268,31 +1121,202 @@ $(MINIPERL) : ..\lib\buildcustomize.pl
 .ENDIF
        $(MINIPERL) -I..\lib -f ..\write_buildcustomize.pl ..
 
-$(MINIDIR) :
+#convinence target, get a working miniperl
+mp : $(CONFIGPM)
+
+$(MINIDIR)\.exists : $(CFGH_TMPL)
        if not exist "$(MINIDIR)" mkdir "$(MINIDIR)"
+#
+# Copy the template config.h and set configurables at the end of it
+# as per the options chosen and compiler used.
+# Note: This config.h is only used to build miniperl.exe anyway, but
+# it's as well to have its options correct to be sure that it builds
+# and so that it's "-V" options are correct for use by makedef.pl. The
+# real config.h used to build perl.exe is generated from the top-level
+# config_h.SH by config_h.PL (run by miniperl.exe).
+#
+# MINIDIR generates config.h so miniperl.exe is not rebuilt when the 2nd
+# config.h is generated in CONFIGPM target, see also the comments for $(MINI_OBJ).
+       -if exist config.h del /f config.h
+       copy $(CFGH_TMPL) config.h
+       @(echo.&& \
+       echo #ifndef _config_h_footer_&& \
+       echo #define _config_h_footer_&& \
+       echo #undef Off_t&& \
+       echo #undef LSEEKSIZE&& \
+       echo #undef Off_t_size&& \
+       echo #undef PTRSIZE&& \
+       echo #undef SSize_t&& \
+       echo #undef HAS_ATOLL&& \
+       echo #undef HAS_STRTOLL&& \
+       echo #undef HAS_STRTOULL&& \
+       echo #undef Size_t_size&& \
+       echo #undef IVTYPE&& \
+       echo #undef UVTYPE&& \
+       echo #undef IVSIZE&& \
+       echo #undef UVSIZE&& \
+       echo #undef NV_PRESERVES_UV&& \
+       echo #undef NV_PRESERVES_UV_BITS&& \
+       echo #undef IVdf&& \
+       echo #undef UVuf&& \
+       echo #undef UVof&& \
+       echo #undef UVxf&& \
+       echo #undef UVXf&& \
+       echo #undef USE_64_BIT_INT&& \
+       echo #undef Gconvert&& \
+       echo #undef HAS_FREXPL&& \
+       echo #undef HAS_ISNANL&& \
+       echo #undef HAS_MODFL&& \
+       echo #undef HAS_MODFL_PROTO&& \
+       echo #undef HAS_SQRTL&& \
+       echo #undef HAS_STRTOLD&& \
+       echo #undef PERL_PRIfldbl&& \
+       echo #undef PERL_PRIgldbl&& \
+       echo #undef PERL_PRIeldbl&& \
+       echo #undef PERL_SCNfldbl&& \
+       echo #undef NVTYPE&& \
+       echo #undef NVSIZE&& \
+       echo #undef LONG_DOUBLESIZE&& \
+       echo #undef NV_OVERFLOWS_INTEGERS_AT&& \
+       echo #undef NVef&& \
+       echo #undef NVff&& \
+       echo #undef NVgf&& \
+       echo #undef USE_LONG_DOUBLE&& \
+       echo #undef USE_CPLUSPLUS)>> config.h
+.IF "$(USE_LARGE_FILES)"=="define"
+       @(echo #define Off_t $(INT64)&& \
+       echo #define LSEEKSIZE ^8&& \
+       echo #define Off_t_size ^8)>> config.h
+.ELSE
+       @(echo #define Off_t long&& \
+       echo #define LSEEKSIZE ^4&& \
+       echo #define Off_t_size ^4)>> config.h
+.ENDIF
+.IF "$(WIN64)"=="define"
+       @(echo #define PTRSIZE ^8&& \
+       echo #define SSize_t $(INT64)&& \
+       echo #define HAS_ATOLL&& \
+       echo #define HAS_STRTOLL&& \
+       echo #define HAS_STRTOULL&& \
+       echo #define Size_t_size ^8)>> config.h
+.ELSE
+       @(echo #define PTRSIZE ^4&& \
+       echo #define SSize_t int&& \
+       echo #undef HAS_ATOLL&& \
+       echo #undef HAS_STRTOLL&& \
+       echo #undef HAS_STRTOULL&& \
+       echo #define Size_t_size ^4)>> config.h
+.ENDIF
+.IF "$(USE_64_BIT_INT)"=="define"
+       @(echo #define IVTYPE $(INT64)&& \
+       echo #define UVTYPE unsigned $(INT64)&& \
+       echo #define IVSIZE ^8&& \
+       echo #define UVSIZE ^8)>> config.h
+.IF "$(USE_LONG_DOUBLE)"=="define"
+       @(echo #define NV_PRESERVES_UV&& \
+       echo #define NV_PRESERVES_UV_BITS 64)>> config.h
+.ELSE
+       @(echo #undef NV_PRESERVES_UV&& \
+       echo #define NV_PRESERVES_UV_BITS 53)>> config.h
+.ENDIF
+       @(echo #define IVdf "I64d"&& \
+       echo #define UVuf "I64u"&& \
+       echo #define UVof "I64o"&& \
+       echo #define UVxf "I64x"&& \
+       echo #define UVXf "I64X"&& \
+       echo #define USE_64_BIT_INT)>> config.h
+.ELSE
+       @(echo #define IVTYPE long&& \
+       echo #define UVTYPE unsigned long&& \
+       echo #define IVSIZE ^4&& \
+       echo #define UVSIZE ^4&& \
+       echo #define NV_PRESERVES_UV&& \
+       echo #define NV_PRESERVES_UV_BITS 32&& \
+       echo #define IVdf "ld"&& \
+       echo #define UVuf "lu"&& \
+       echo #define UVof "lo"&& \
+       echo #define UVxf "lx"&& \
+       echo #define UVXf "lX"&& \
+       echo #undef USE_64_BIT_INT)>> config.h
+.ENDIF
+.IF "$(USE_LONG_DOUBLE)"=="define"
+       @(echo #define Gconvert^(x,n,t,b^) sprintf^(^(b^),"%.*""Lg",^(n^),^(x^)^)&& \
+       echo #define HAS_FREXPL&& \
+       echo #define HAS_ISNANL&& \
+       echo #define HAS_MODFL&& \
+       echo #define HAS_MODFL_PROTO&& \
+       echo #define HAS_SQRTL&& \
+       echo #define HAS_STRTOLD&& \
+       echo #define PERL_PRIfldbl "Lf"&& \
+       echo #define PERL_PRIgldbl "Lg"&& \
+       echo #define PERL_PRIeldbl "Le"&& \
+       echo #define PERL_SCNfldbl "Lf"&& \
+       echo #define NVTYPE long double)>> config.h
+.IF "$(WIN64)"=="define"
+       @(echo #define NVSIZE ^16&& \
+       echo #define LONG_DOUBLESIZE ^16)>> config.h
+.ELSE
+       @(echo #define NVSIZE ^12&& \
+       echo #define LONG_DOUBLESIZE ^12)>> config.h
+.ENDIF
+       @(echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0*2.0&& \
+       echo #define NVef "Le"&& \
+       echo #define NVff "Lf"&& \
+       echo #define NVgf "Lg"&& \
+       echo #define USE_LONG_DOUBLE)>> config.h
+.ELSE
+       @(echo #define Gconvert^(x,n,t,b^) sprintf^(^(b^),"%.*g",^(n^),^(x^)^)&& \
+       echo #undef HAS_FREXPL&& \
+       echo #undef HAS_ISNANL&& \
+       echo #undef HAS_MODFL&& \
+       echo #undef HAS_MODFL_PROTO&& \
+       echo #undef HAS_SQRTL&& \
+       echo #undef HAS_STRTOLD&& \
+       echo #undef PERL_PRIfldbl&& \
+       echo #undef PERL_PRIgldbl&& \
+       echo #undef PERL_PRIeldbl&& \
+       echo #undef PERL_SCNfldbl&& \
+       echo #define NVTYPE double&& \
+       echo #define NVSIZE ^8&& \
+       echo #define LONG_DOUBLESIZE ^8&& \
+       echo #define NV_OVERFLOWS_INTEGERS_AT 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0&& \
+       echo #define NVef "e"&& \
+       echo #define NVff "f"&& \
+       echo #define NVgf "g"&& \
+       echo #undef USE_LONG_DOUBLE)>> config.h
+.ENDIF
+.IF "$(USE_CPLUSPLUS)"=="define"
+       @(echo #define USE_CPLUSPLUS&& \
+       echo #endif)>> config.h
+.ELSE
+       @(echo #undef USE_CPLUSPLUS&& \
+       echo #endif)>> config.h
+.ENDIF
+#separate line since this is sentinal that this target is done
+       rem. > $(MINIDIR)\.exists
 
 $(MINICORE_OBJ) : $(CORE_NOCFG_H)
-       $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ ..\$(*B).c
+       $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(PDBOUT) ..\$(*B).c
 
 $(MINIWIN32_OBJ) : $(CORE_NOCFG_H)
-       $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(*B).c
+       $(CC) -c $(CFLAGS) $(MINIBUILDOPT) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(PDBOUT) $(*B).c
 
 # -DPERL_IMPLICIT_SYS needs C++ for perllib.c
 # rules wrapped in .IFs break Win9X build (we end up with unbalanced []s unless
 # unless the .IF is true), so instead we use a .ELSE with the default.
 # This is the only file that depends on perlhost.h, vmem.h, and vdir.h
 
-perllib$(o)    : perllib.c .\perlhost.h .\vdir.h .\vmem.h
+perllib$(o)    : perllib.c perllibst.h .\perlhost.h .\vdir.h .\vmem.h
 .IF "$(USE_IMP_SYS)" == "define"
-       $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ perllib.c
+       $(CC) -c -I. $(CFLAGS_O) $(CXX_FLAG) $(OBJOUT_FLAG)$@ $(PDBOUT) perllib.c
 .ELSE
-       $(CC) -c -I. $(CFLAGS_O) $(OBJOUT_FLAG)$@ perllib.c
+       $(CC) -c -I. $(CFLAGS_O) $(OBJOUT_FLAG)$@ $(PDBOUT) perllib.c
 .ENDIF
 
 # 1. we don't want to rebuild miniperl.exe when config.h changes
 # 2. we don't want to rebuild miniperl.exe with non-default config.h
 # 3. we can't have miniperl.exe depend on git_version.h, as miniperl creates it
-$(MINI_OBJ)    : $(CORE_NOCFG_H)
+$(MINI_OBJ)    : $(MINIDIR)\.exists $(CORE_NOCFG_H)
 
 $(WIN32_OBJ)   : $(CORE_H)
 
@@ -1300,12 +1324,26 @@ $(CORE_OBJ)     : $(CORE_H)
 
 $(DLL_OBJ)     : $(CORE_H)
 
-perldll.def : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl
+
+perllibst.h : $(HAVEMINIPERL) $(CONFIGPM) create_perllibst_h.pl
        $(MINIPERL) -I..\lib create_perllibst_h.pl
+
+perldll.def : $(HAVEMINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl
        $(MINIPERL) -I..\lib -w ..\makedef.pl PLATFORM=win32 $(OPTIMIZE) $(DEFINES) \
        $(BUILDOPT) CCTYPE=$(CCTYPE) TARG_DIR=..\ > perldll.def
 
-$(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
+$(PERLIMPLIB) : perldll.def
+.IF "$(CCTYPE)" == "GCC"
+       $(IMPLIB) -k -d perldll.def -l $(PERLIMPLIB)
+.ELSE #VC family
+       lib -def:perldll.def -machine:$(ARCHITECTURE) /OUT:$(PERLIMPLIB)
+.ENDIF
+       $(XCOPY) $(PERLIMPLIB) $(COREDIR)
+
+#PERLEXPLIB is built in PERLIMPLIB
+$(PERLEXPLIB): $(PERLIMPLIB)
+
+$(PERLDLL): $(PERLEXPLIB) $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
 .IF "$(CCTYPE)" == "GCC"
        $(LINK32) -mdll -o $@ -Wl,--base-file -Wl,perl.base $(BLINK_FLAGS) \
            $(mktmp $(LKPRE) $(PERLDLL_OBJ) \
@@ -1321,13 +1359,12 @@ $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
                $(shell @type Extensions_static) \
                $(LIBFILES) perl.exp $(LKPOST))
 .ELSE
-       $(LINK32) -dll -def:perldll.def -out:$@ $(BLINK_FLAGS) \
+       $(LINK32) -dll -out:$@ $(BLINK_FLAGS) \
            @Extensions_static \
            @$(mktmp -base:0x28000000 $(DELAYLOAD) $(LIBFILES) \
-               $(PERLDLL_RES) $(PERLDLL_OBJ))
+               $(PERLDLL_RES) $(PERLDLL_OBJ) $(PERLEXPLIB))
        $(EMBED_DLL_MANI)
 .ENDIF
-       $(XCOPY) $(PERLIMPLIB) $(COREDIR)
 
 $(PERLSTATICLIB): $(PERLDLL_OBJ) Extensions_static
 .IF "$(CCTYPE)" == "GCC"
@@ -1342,41 +1379,42 @@ $(PERLSTATICLIB): $(PERLDLL_OBJ) Extensions_static
        $(LIB32) $(LIB_FLAGS) -out:$@ @Extensions_static \
            @$(mktmp $(PERLDLL_OBJ))
 .ENDIF
-       $(XCOPY) $(PERLSTATICLIB) $(COREDIR)
+       $(XCOPY) $(PERLSTATICLIB) $(COREDIR)\$(NULL)
 
 $(PERLEXE_RES): perlexe.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO)
 
 $(MINIDIR)\globals$(o) : $(GENERATED_HEADERS)
 
-$(UUDMAP_H) $(MG_DATA_H) : $(BITCOUNT_H)
-
-$(BITCOUNT_H) : $(GENUUDMAP)
-       $(GENUUDMAP) $(GENERATED_HEADERS)
-
-$(GENUUDMAP_OBJ) : ..\mg_raw.h
-
-$(GENUUDMAP) : $(GENUUDMAP_OBJ)
+$(GENUUDMAP) $(GENERATED_HEADERS) .UPDATEALL : ..\mg_raw.h
 .IF "$(CCTYPE)" == "GCC"
-       $(LINK32) -v -o $@ $(BLINK_FLAGS) \
-           $(mktmp $(LKPRE) $(GENUUDMAP_OBJ) $(LIBFILES) $(LKPOST))
+       $(LINK32) $(CFLAGS_O) -o..\generate_uudmap.exe ..\generate_uudmap.c $(BLINK_FLAGS) \
+           $(mktmp $(LKPRE) $(LIBFILES) $(LKPOST))
 .ELSE
-       $(LINK32) -out:$@ $(BLINK_FLAGS) @$(mktmp $(LIBFILES) $(GENUUDMAP_OBJ))
-       $(EMBED_EXE_MANI)
+       $(CC) $(CFLAGS_O) -Fe..\generate_uudmap.exe ..\generate_uudmap.c @$(mktmp -link $(LIBFILES)) -link $(BLINK_FLAGS) 
+       $(EMBED_EXE_MANI:s/$@/..\generate_uudmap.exe/)
 .ENDIF
+       $(GENUUDMAP) $(GENERATED_HEADERS)
+
+#This generates a stub ppport.h & creates & fills /lib/CORE to allow for XS
+#building .c->.obj wise (linking is a different thing). This taget is AKA
+#$(HAVE_COREDIR).
+$(COREDIR)\ppport.h : $(CORE_H)
+       $(XCOPY) *.h $(COREDIR)\*.* && $(RCOPY) include $(COREDIR)\*.* && $(XCOPY) ..\*.h $(COREDIR)\*.*
+       rem. > $@
 
 perlmain.c : runperl.c
        copy runperl.c perlmain.c
 
-perlmain$(o) : perlmain.c
-       $(CC) $(CFLAGS_O:s,-DPERLDLL,-UPERLDLL,) $(OBJOUT_FLAG)$@ -c perlmain.c
+perlmain$(o) : $(CONFIGPM) perlmain.c
+       $(CC) $(CFLAGS_O:s,-DPERLDLL,-UPERLDLL,) $(OBJOUT_FLAG)$@ $(PDBOUT) -c perlmain.c
 
 perlmainst.c : runperl.c
        copy runperl.c perlmainst.c
 
-perlmainst$(o) : perlmainst.c
-       $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
+perlmainst$(o) : $(CONFIGPM) perlmainst.c
+       $(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $(PDBOUT) -c perlmainst.c
 
-$(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
+$(PERLEXE): $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB)
 .IF "$(CCTYPE)" == "GCC"
        $(LINK32) -mconsole -o $@ $(BLINK_FLAGS)  \
            $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES)
@@ -1398,43 +1436,48 @@ $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
        $(EMBED_EXE_MANI)
 .ENDIF
 
-MakePPPort: $(MINIPERL) $(CONFIGPM) Extensions_nonxs
-       $(MINIPERL) -I..\lib ..\mkppport
-
 #-------------------------------------------------------------------------------
 # There's no direct way to mark a dependency on
 # DynaLoader.pm, so this will have to do
-Extensions : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
-       $(XCOPY) ..\*.h $(COREDIR)\*.*
-       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic
 
-Extensions_reonly : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) $(DYNALOADER)
-       $(XCOPY) ..\*.h $(COREDIR)\*.*
-       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
+#most of deps of this target are in DYNALOADER and therefore omitted here
+Extensions : $(PERLDEP) $(DYNALOADER) $(GLOBEXE)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic
+
+Extensions_reonly : $(PERLDEP) $(DYNALOADER)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --dynamic +re
 
-Extensions_static : ..\make_ext.pl ..\lib\buildcustomize.pl list_static_libs.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
-       $(XCOPY) ..\*.h $(COREDIR)\*.*
-       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
+Extensions_static : ..\make_ext.pl list_static_libs.pl $(CONFIGPM) $(GLOBEXE) $(HAVE_COREDIR)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --static
        $(MINIPERL) -I..\lib list_static_libs.pl > Extensions_static
 
-Extensions_nonxs : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) ..\pod\perlfunc.pod
-       $(XCOPY) ..\*.h $(COREDIR)\*.*
-       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs
+Extensions_nonxs : ..\make_ext.pl ..\pod\perlfunc.pod $(CONFIGPM) $(GLOBEXE)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs !libs
 
-$(DYNALOADER) : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) Extensions_nonxs
-       $(XCOPY) ..\*.h $(COREDIR)\*.*
-       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(EXTDIR) --dynaloader
+#lib must be built, it can't be buildcustomize.pl-ed, and is required for XS building
+$(DYNALOADER) : ..\make_ext.pl $(CONFIGPM) $(HAVE_COREDIR)
+       $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(EXTDIR) --dir=$(DISTDIR) --dynaloader lib
 
 Extensions_clean :
-       -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean
+       -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=clean
 
 Extensions_realclean :
-       -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
+       -if exist $(MINIPERL) $(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(PLMAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --all --target=realclean
+
+# all PE files need to be built by the time this target runs, PP files can still
+# be running in parallel like UNIDATAFILES, this target a placeholder for the
+# future
+.IF "$(BUILD_STATIC)"=="define"
+rebasePE : Extensions $(PERLDLL) $(PERLEXE) $(GLOBEXE) $(PERLEXESTATIC)
+.ELSE
+rebasePE : Extensions $(PERLDLL) $(PERLEXE) $(GLOBEXE)
+.ENDIF
+       $(NOOP)
 
 #-------------------------------------------------------------------------------
 
 
-doc: $(PERLEXE) ..\pod\perltoc.pod
+doc: $(PERLEXE) $(PERLDLL) ..\pod\perltoc.pod
        $(PERLEXE) ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
            --podpath=pod:lib:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\
            --recurse
@@ -1444,8 +1487,8 @@ doc: $(PERLEXE) ..\pod\perltoc.pod
 
 # Note that this next section is parsed (and regenerated) by pod/buildtoc
 # so please check that script before making structural changes here
-utils: $(PERLEXE) ..\utils\Makefile
-       cd ..\utils && $(MAKE) PERL=$(MINIPERL)
+utils: $(HAVEMINIPERL) ..\utils\Makefile
+       cd ..\utils && $(PLMAKE) PERL=$(MINIPERL)
        copy ..\README.aix      ..\pod\perlaix.pod
        copy ..\README.amiga    ..\pod\perlamiga.pod
        copy ..\README.android  ..\pod\perlandroid.pod
@@ -1479,12 +1522,12 @@ utils: $(PERLEXE) ..\utils\Makefile
        copy ..\README.tw       ..\pod\perltw.pod
        copy ..\README.vos      ..\pod\perlvos.pod
        copy ..\README.win32    ..\pod\perlwin32.pod
-       copy ..\pod\perldelta.pod ..\pod\perl5232delta.pod
-       $(PERLEXE) $(PL2BAT) $(UTILS)
+       copy ..\pod\perldelta.pod ..\pod\perl5233delta.pod
+       $(MINIPERL) -I..\lib $(PL2BAT) $(UTILS)
        $(MINIPERL) -I..\lib ..\autodoc.pl ..
        $(MINIPERL) -I..\lib ..\pod\perlmodlib.PL -q ..
 
-..\pod\perltoc.pod: $(PERLEXE) Extensions Extensions_nonxs
+..\pod\perltoc.pod: $(PERLEXE) $(PERLDLL) Extensions Extensions_nonxs ..\pod\perluniprops.pod utils
        $(PERLEXE) -f ..\pod\buildtoc -q
 
 # Note that the pod cleanup in this next section is parsed (and regenerated
@@ -1513,6 +1556,7 @@ distclean: realclean
        -del /f $(LIBDIR)\buildcustomize.pl
        -del /f $(DISTDIR)\XSLoader\XSLoader.pm
        -del /f *.def *.map
+       -if exist $(LIBDIR)\Amiga rmdir /s /q $(LIBDIR)\Amiga
        -if exist $(LIBDIR)\App rmdir /s /q $(LIBDIR)\App
        -if exist $(LIBDIR)\Archive rmdir /s /q $(LIBDIR)\Archive
        -if exist $(LIBDIR)\Attribute rmdir /s /q $(LIBDIR)\Attribute
@@ -1574,7 +1618,7 @@ distclean: realclean
        -if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
        -if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
        -cd $(PODDIR) && del /f *.html *.bat roffitall \
-           perl5232delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
+           perl5233delta.pod perlaix.pod perlamiga.pod perlandroid.pod \
            perlapi.pod perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
            perldos.pod perlfreebsd.pod perlhaiku.pod perlhpux.pod \
            perlhurd.pod perlintern.pod perlirix.pod perljp.pod perlko.pod \
@@ -1609,6 +1653,7 @@ install : all installbare installhtml
 
 installbare : utils ..\pod\perltoc.pod
        $(PERLEXE) ..\installperl
+       attrib -r $(INST_COREDIR)\ppport.h && del $(INST_COREDIR)\ppport.h
        if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.*
        if exist $(PERLEXESTATIC) $(XCOPY) $(PERLEXESTATIC) $(INST_BIN)\*.*
        $(XCOPY) $(GLOBEXE) $(INST_BIN)\*.*
@@ -1621,11 +1666,11 @@ installhtml : doc
 inst_lib : $(CONFIGPM)
        $(RCOPY) ..\lib $(INST_LIB)\*.*
 
-$(UNIDATAFILES) ..\pod\perluniprops.pod .UPDATEALL : $(MINIPERL) $(CONFIGPM) ..\lib\unicore\mktables Extensions_nonxs
+$(UNIDATAFILES) ..\pod\perluniprops.pod .UPDATEALL : $(CONFIGPM) ..\lib\unicore\mktables
        cd ..\lib\unicore && \
        ..\$(MINIPERL) -I.. mktables -P ..\..\pod -maketest -makelist -p
 
-minitest : .\config.h $(MINIPERL) ..\git_version.h $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) $(TESTPREPGCC)
+minitest : .\config.h $(HAVEMINIPERL) ..\git_version.h $(GLOBEXE) $(CONFIGPM) $(UNIDATAFILES) $(TESTPREPGCC)
        $(XCOPY) $(MINIPERL) ..\t\$(NULL)
        if exist ..\t\perl.exe del /f ..\t\perl.exe
        rename ..\t\miniperl.exe perl.exe
@@ -1634,9 +1679,8 @@ minitest : .\config.h $(MINIPERL) ..\git_version.h $(GLOBEXE) $(CONFIGPM) $(UNID
        cd ..\t && perl.exe TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t perf/*.t pragma/*.t
 
 test-prep : all utils ..\pod\perltoc.pod $(TESTPREPGCC)
-       $(XCOPY) $(PERLEXE) ..\t\$(NULL)
-       $(XCOPY) $(PERLDLL) ..\t\$(NULL)
-       $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
+       $(XCOPY) $(PERLEXE) ..\t\$(NULL) && $(XCOPY) $(PERLDLL) ..\t\$(NULL) \
+       && $(XCOPY) $(GLOBEXE) ..\t\$(NULL)
 
 # If building with gcc versions 4.x.x or greater, then
 # the GCC helper DLL will also need copied to the test directory.
@@ -1711,7 +1755,7 @@ _clean :
        -@erase ..\*$(o) ..\*$(a) ..\*.exp *$(o) *$(a) *.exp *.res
        -@erase ..\t\*.exe ..\t\*.dll ..\t\*.bat
        -@erase *.ilk
-       -@erase *.pdb
+       -@erase *.pdb ..\*.pdb
        -@erase Extensions_static
 
 
index 24ee19d..be9a9c8 100644 (file)
                               processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
         </dependentAssembly>
     </dependency>
+    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+      <application>
+        <!-- The ID below indicates application support for Windows Vista -->
+        <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
+        <!-- The ID below indicates application support for Windows 7 -->
+        <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
+        <!-- The ID below indicates application support for Windows 8 -->
+        <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
+        <!-- The ID below indicates application support for Windows 8.1 -->
+        <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
+        <!-- The ID below indicates application support for Windows 10 -->
+        <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
+      </application>
+    </compatibility>
 </assembly>
index 44344b3..f55aa42 100644 (file)
@@ -39,10 +39,12 @@ POD = perl.pod      \
        perl5200delta.pod       \
        perl5201delta.pod       \
        perl5202delta.pod       \
+       perl5203delta.pod       \
        perl5220delta.pod       \
        perl5230delta.pod       \
        perl5231delta.pod       \
        perl5232delta.pod       \
+       perl5233delta.pod       \
        perl561delta.pod        \
        perl56delta.pod \
        perl581delta.pod        \
@@ -176,10 +178,12 @@ MAN = perl.man    \
        perl5200delta.man       \
        perl5201delta.man       \
        perl5202delta.man       \
+       perl5203delta.man       \
        perl5220delta.man       \
        perl5230delta.man       \
        perl5231delta.man       \
        perl5232delta.man       \
+       perl5233delta.man       \
        perl561delta.man        \
        perl56delta.man \
        perl581delta.man        \
@@ -313,10 +317,12 @@ HTML = perl.html  \
        perl5200delta.html      \
        perl5201delta.html      \
        perl5202delta.html      \
+       perl5203delta.html      \
        perl5220delta.html      \
        perl5230delta.html      \
        perl5231delta.html      \
        perl5232delta.html      \
+       perl5233delta.html      \
        perl561delta.html       \
        perl56delta.html        \
        perl581delta.html       \
@@ -450,10 +456,12 @@ TEX = perl.tex    \
        perl5200delta.tex       \
        perl5201delta.tex       \
        perl5202delta.tex       \
+       perl5203delta.tex       \
        perl5220delta.tex       \
        perl5230delta.tex       \
        perl5231delta.tex       \
        perl5232delta.tex       \
+       perl5233delta.tex       \
        perl561delta.tex        \
        perl56delta.tex \
        perl581delta.tex        \
index 5d819b5..68e300f 100644 (file)
@@ -28,7 +28,6 @@ if ( @ARGV ) {
 my @toolchain = qw(cpan/AutoLoader/lib
                   dist/Carp/lib
                   dist/PathTools dist/PathTools/lib
-                  cpan/ExtUtils-Command/lib
                   cpan/ExtUtils-Install/lib
                   cpan/ExtUtils-MakeMaker/lib
                   cpan/ExtUtils-Manifest/lib
@@ -41,12 +40,23 @@ my @toolchain = qw(cpan/AutoLoader/lib
                   dist/constant/lib
                   );
 
-# Used only in ExtUtils::Liblist::Kid::_win32_ext()
-push @toolchain, 'cpan/Text-ParseWords/lib' if $^O eq 'MSWin32';
+# Text-ParseWords used only in ExtUtils::Liblist::Kid::_win32_ext()
+# the rest are for XS building on Win32, since nonxs and xs build simultaneously
+# on Win32 if parallel building
+push @toolchain, qw(
+       cpan/Text-ParseWords/lib
+       dist/ExtUtils-ParseXS/lib
+       cpan/Getopt-Long/lib
+       cpan/parent/lib
+       cpan/ExtUtils-Constant/lib
+) if $^O eq 'MSWin32';
 push @toolchain, 'ext/VMS-Filespec/lib' if $^O eq 'VMS';
 
 unshift @INC, @toolchain;
 require File::Spec::Functions;
+require Cwd;
+
+my $cwd  = Cwd::getcwd();
 
 # lib must be last, as the toolchain modules write themselves into it
 # as they build, and it's important that @INC order ensures that the partially
@@ -54,7 +64,7 @@ require File::Spec::Functions;
 
 my $inc = join ",\n        ",
     map { "q\0$_\0" }
-    (map {File::Spec::Functions::rel2abs($_)} (
+    (map {File::Spec::Functions::rel2abs($_, $cwd)} (
 # faster build on the non-parallel Win32 build process
         $^O eq 'MSWin32' ? ('lib', @toolchain ) : (@toolchain, 'lib')
     ));